Cómo realizar una prueba de falta de ajuste en R (paso a paso)

Se utiliza una prueba de falta de ajuste para determinar si un modelo de regresión completo ofrece un ajuste significativamente mejor a un conjunto de datos que alguna versión reducida del modelo.

Por ejemplo, supongamos que nos gustaría utilizar el número de horas estudiadas para predecir la puntuación del examen de los estudiantes de una determinada universidad. Podemos decidir ajustar los siguientes dos modelos de regresión:

Modelo completo: Puntuación = β 0 + B 1 (horas) + B 2 (horas) 2

Modelo reducido: Puntuación = β 0 + B 1 (horas)

El siguiente ejemplo paso a paso muestra cómo realizar una prueba de falta de ajuste en R para determinar si el modelo completo ofrece un ajuste significativamente mejor que el modelo reducido.

Paso 1: crear y visualizar un conjunto de datos

Primero, usaremos el siguiente código para crear un conjunto de datos que contenga la cantidad de horas estudiadas y la puntuación del examen recibida para 50 estudiantes:

#Haga que este conjunto de ejemplo sea reproducible
 . semilla (1)

#create dataset
 df <- data. frame (horas = runif (50, 5, 15), score = 50)
df $ puntaje = df $ puntaje + df $ horas ^ 3/150 + df $ horas * runif (50, 1, 2)

#ver las primeras seis filas del encabezado de datos
 (df)

      puntaje de horas
1 7.655087 64.30191
2 8.721239 70.65430
3 10.728534 73.66114
4 14.082078 86.14630
5 7.016819 59.81595
6 13.983897 83.60510

A continuación, crearemos un diagrama de dispersión para visualizar la relación entre las horas y la puntuación:

#cargar biblioteca de paquetes de visualización
 ggplot2 (ggplot2)

#create scatterplot
 ggplot (df, aes (x = horas, y = puntuación)) +
  geom_point ()

Paso 2: ajuste dos modelos diferentes al conjunto de datos

A continuación, ajustaremos dos modelos de regresión diferentes al conjunto de datos:

#ajustar modelo
 completo completo <- lm (puntuación ~ poli (horas, 2), datos = df)
 
#ajustar modelo
 reducido reducido <- lm (puntuación ~ horas, datos = df)

Paso 3: realizar una prueba de falta de ajuste

A continuación, usaremos el comando anova () para realizar una prueba de falta de ajuste entre los dos modelos:

# prueba de falta de ajuste
 anova (completa, reducida)

Tabla de análisis de varianza

Modelo 1: puntuación ~ poli (horas, 2)
Modelo 2: puntuación ~ horas
  Res.Df RSS Df Suma de Sq F Pr (> F)   
1 47 368,48                                
2 48 451,22 -1 -82,744 10,554 0,002144 **
---
Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

El estadístico de prueba F resulta ser 10,554 y el valor p correspondiente es 0,002144 . Dado que este valor p es menor que .05, podemos rechazar la hipótesis nula de la prueba y concluir que el modelo completo ofrece un ajuste estadísticamente significativamente mejor que el modelo reducido.

Paso 4: Visualice el modelo final

Por último, podemos visualizar el modelo final (el modelo completo) en relación con el conjunto de datos original:

ggplot (df, aes (x = horas, y = puntuación)) +
          geom_point () +
          stat_smooth (método = ' lm ', fórmula = y ~ poli (x, 2), tamaño = 1) +
          xlab (' Horas estudiadas ') +
          ylab (' Puntuación ')

Visualización de la falta de ajuste en R

Podemos ver que la curva del modelo se ajusta bastante bien a los datos.

Recursos adicionales

Cómo realizar una regresión lineal simple en R
Cómo realizar una regresión lineal múltiple en R
Cómo realizar una regresión polinomial en R

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

A menudo, puede estar interesado en encontrar el valor máximo por grupo en un DataFrame de pandas. Afortunadamente, esto es…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!