5 votos

Regresión múltiple, modelo completo y restringido

Así que tengo un conjunto de datos que se parece a este .

Quiero escribir un modelo completo y restringido que evalúe la hipótesis nula de que la latitud -controlando continente y sexo- tiene una relación significativa con el tamaño de las alas. Actualmente estoy utilizando R

¿Está bien hacer esto para mi modelo completo?

fit <- lm(wingsize ~ continent + sex + latitude, data=wing)

Este es mi resultado:

$$\Tiny \text{WINGSIZE} = 836.1648 + (-4.1289)\times \text{CONTINENT} + (-98.8571)\times \text{SEX} + 1.7926\times \text{LATITUDE}$$

Y para el modelo restringido, hice esto:

res <- lm(wingsize ~ latitude, data=wing)

y tener un modelo

$$\Tiny\text{WINGSIZE} = 780.532 + 1.883\times\text{LATITUDE}$$

¿Debe parecerse a una simple regresión lineal para la parte restringida? ¿Es eso lo que significa restringida?

Además, ¿cuántos grados de libertad existirían para los modelos completos y restringidos? ¿Son siempre iguales los grados de libertad? ¿Se supone que esta pregunta se refiere a los grados de libertad del error residual?

Gracias por cualquier aportación.

4voto

OmaL Puntos 106

Bonito proyecto. Como has adivinado correctamente, en el contexto de la regresión lineal múltiple, con predictores $X_1,\dots,X_p$ y respuesta $Y$ el modelo completo (o no restringido) es la estimación OLS habitual, en la que no ponemos restricciones a los coeficientes de regresión de los distintos predictores. Un modelo restringido es aquel en el que imponemos una serie de restricciones a los coeficientes de regresión $\beta_i$ . En el caso más sencillo, fijamos uno o varios $\beta_i$ a 0: en general, podemos considerar un conjunto de restricciones lineales dadas en forma matricial por $\mathbf{R}\beta=\mathbf{r}$ . En su caso, ha considerado las dos restricciones simples $\beta_{sex}=\beta_{continent}=0$ .

Antes de comparar formalmente los dos modelos, veamos cuál es la relación entre latitude y wingsize mira haciendo una simple trama:

with(wing, plot(latitude, wingsize, pch=16))

enter image description here

Parece que los datos se separan en dos grupos, y dentro de cada grupo hay una clara tendencia creciente, que es lo que cabría esperar según Regla de Bergmann . La separación es casi demasiado buena para ser cierta, pero al menos en el caso de algunas rapaces es bien sabido que las hembras son más grandes que los machos. Podemos comprobar fácilmente que los dos grupos corresponden a los dos sexos:

with(wing, plot(latitude, wingsize, col = c("red", "blue")[sex+1], pch=16))

enter image description here

Así pues, esperamos latitude muy significativo para wingsize si controlamos sex pero no necesariamente lo contrario. ¿Qué pasa con continent ? No parece que incluirlo ayude a explicar ninguna varianza:

with(wing, plot(latitude, wingsize, col = c("red", "blue")[continent+1], pch=16))

enter image description here

Verifiquémoslo formalmente:

res_model <- lm(wingsize ~ latitude, data = wing)
summary(res_model)
Call:
lm(formula = wingsize ~ latitude, data = wing)

Residuals:
    Min      1Q  Median      3Q     Max 
-72.433 -50.335   5.956  49.651  72.132 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  780.532     64.526  12.096 6.08e-15 ***
latitude       1.883      1.436   1.312    0.197    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 51.82 on 40 degrees of freedom
Multiple R-squared:  0.04125,   Adjusted R-squared:  0.01728 
F-statistic: 1.721 on 1 and 40 DF,  p-value: 0.1971

Ni siquiera es significativo al nivel 0,05. BTW, ya que usted preguntó acerca de los grados de libertad, tenga en cuenta que los informes de R DF = 40. Para la regresión lineal, DF=n-p-1 donde n es el tamaño de la muestra (42 en su caso), p es el número de predictores en el modelo (1 ya que estamos considerando el modelo con sólo latitude ) y, por tanto, 42-1-1=40.

Consideremos ahora el modelo completo:

> full_model <- lm(wingsize ~ ., data = wing)
> summary(full_model)

Call:
lm(formula = wingsize ~ ., data = wing)

Residuals:
     Min       1Q   Median       3Q      Max 
-22.7285  -6.5128   0.6035   5.0069  30.7508 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 836.1648    14.8448  56.327  < 2e-16 ***
continent    -4.1289     3.5224  -1.172    0.248    
latitude      1.7926     0.3158   5.676 1.59e-06 ***
sex         -98.8571     3.4114 -28.978  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 11.05 on 38 degrees of freedom
Multiple R-squared:  0.9586,    Adjusted R-squared:  0.9553 
F-statistic:   293 on 3 and 38 DF,  p-value: < 2.2e-16

Como era de esperar, ahora latitude en un modelo que ya incluye sex (y continent ), es muy significativo, y del mismo modo sex es muy significativo en un modelo que ya incluye latitude y continent . En cambio, una vez que controlamos sex y latitude parece (la diferencia entre cero y el coeficiente de regresión de) continent no es estadísticamente significativa. También podemos comprobar que la diferencia entre los dos modelos es estadísticamente significativa utilizando ANOVA, ya que el modelo restringido es siempre un modelo anidado del modelo no restringido, y por lo tanto ANOVA es aplicable.

> anova(res_model, full_model)
Analysis of Variance Table

Model 1: wingsize ~ latitude
Model 2: wingsize ~ continent + latitude + sex
  Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
1     40 107425                                  
2     38   4643  2    102782 420.56 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Como era de esperar, la diferencia es muy significativa.

Por último, señalamos que continent no parecía explicar ninguna varianza residual, una vez que latitude y sex ya estaban incluidos en el modelo. Atención Normalmente esta "pesca de significación" es una idea terrible . Si empezamos eliminando la variable con el valor p más alto, volvemos a ajustar el modelo e iteramos el proceso, eliminando en cada paso la variable con el valor p más alto (regresión paso a paso hacia atrás), entonces los valores p que obtenemos en el modelo final no son válidos (porque se calculan sin tener en cuenta este proceso de selección), y la inferencia deja de ser fiable. Sin embargo, sólo para este caso especial, podemos cerrar un ojo, ya que vamos a eliminar sólo un predictor, cuyo p-valor no es sólo un poco más alto que los demás, sino que es varios órdenes de magnitud mayor. Construyamos el modelo restringido que contiene sólo sex y latitude y ver cómo se compara con los otros dos.

> res_model_2 <- lm(wingsize ~ latitude + sex, data = wing)
> summary(res_model_2)

Call:
lm(formula = wingsize ~ latitude + sex, data = wing)

Residuals:
    Min      1Q  Median      3Q     Max 
-23.005  -5.681  -0.494   5.197  32.560 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 829.9603    13.9354  59.558  < 2e-16 ***
latitude      1.8832     0.3077   6.121 3.52e-07 ***
sex         -98.8571     3.4277 -28.841  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 11.11 on 39 degrees of freedom
Multiple R-squared:  0.9571,    Adjusted R-squared:  0.9549 
F-statistic: 434.6 on 2 and 39 DF,  p-value: < 2.2e-16

¡Muy bueno! Parece que el modelo es muy similar al modelo completo, en términos de rendimiento predictivo (estimado por R-cuadrado ajustado). De hecho, si repetimos ahora la prueba ANOVA, vemos que la diferencia entre el primer modelo restringido y este nuevo modelo restringido es significativa, pero no la diferencia entre el nuevo modelo restringido y el modelo completo:

> anova(res_model, res_model_2, full_model)
Analysis of Variance Table

Model 1: wingsize ~ latitude
Model 2: wingsize ~ latitude + sex
Model 3: wingsize ~ continent + latitude + sex
  Res.Df    RSS Df Sum of Sq       F Pr(>F)    
1     40 107425                                
2     39   4811  1    102614 839.752 <2e-16 ***
3     38   4643  1       168   1.374 0.2484    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Permítanme subrayar de nuevo que, en general, la selección de variables basada en la regresión por pasos es MALA. Si necesita realizar una selección de variables fiable, utilice LASSO.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X