Proponga un modelo de regresión múltiple que explique el peso medido en kilogramos (wgt) utilizando el contorno de la cadera medida en centímetros (hip.gi) y la altura media en centímetros (hgt) como covariables.
Escriba el modelo que está ajustando. Realice el ajuste con el R.
modelo propuesto: \[ wgt = \beta_0 + \beta_1*hip.gi + \beta_1*hgt + \epsilon \] modelo ajustado \[ \widehat{wgt} = \widehat{\beta_0} + \widehat{\beta_1}*hip.gi + \widehat{\beta_1}*hgt \]
ajuste <- lm(wgt ~ hip.gi + hgt, data = bdims)
summary(ajuste)
Call:
lm(formula = wgt ~ hip.gi + hgt, data = bdims)
Residuals:
Min 1Q Median 3Q Max
-14.7727 -4.0102 -0.3395 4.1441 20.2723
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -170.17696 5.10621 -33.33 <2e-16 ***
hip.gi 1.17353 0.04012 29.25 <2e-16 ***
hgt 0.73544 0.02849 25.82 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 5.673 on 504 degrees of freedom
Multiple R-squared: 0.8201, Adjusted R-squared: 0.8193
F-statistic: 1148 on 2 and 504 DF, p-value: < 2.2e-16
kable(data.frame( modelo = c("wgt~hip.gi", "wgt ~ hgt", "wgt ~ hip.gi + hgt"),
R2 = c(0.5821, 0.5145, 0.8201),
R2.ajustado = c(0.5813, 0.5136, 0.8193 )))
modelo | R2 | R2.ajustado |
---|---|---|
wgt~hip.gi | 0.5821 | 0.5813 |
wgt ~ hgt | 0.5145 | 0.5136 |
wgt ~ hip.gi + hgt | 0.8201 | 0.8193 |
el modelo que incluye el alto y el ancho de la cintura explica un 82% del peso esperado del individuo. Para comparar este modelo con las regresiones simples, utilizamos el \(R^{2}_{ajustado}\), donde el modelo múltiple es claramente superior a las regresiones simples.
kable(data.frame( modelo = c("wgt~hip.gi", "wgt ~ hgt", "wgt ~ hip.gi + hgt"),
'Residual standard error' = c(8.636 ,9.308 , 5.673)))
modelo | Residual.standard.error |
---|---|
wgt~hip.gi | 8.636 |
wgt ~ hgt | 9.308 |
wgt ~ hip.gi + hgt | 5.673 |
\(\widehat{\sigma^2}\) es mayor en los modelos simples que en el modelo múltiple. Este último logra captar una mayor variablidad de la información como variabilidad explicada por el modelo.
pob <- data.frame(hip.gi = 100,hgt = 174, wgt=NA)
predict(ajuste, newdata = pob,interval="confidence",level = 0.95)
fit lwr upr
1 75.14322 74.58586 75.70058
ajuste_s_hip <- lm(wgt ~ hip.gi , data = bdims)
ajuste_s_hgt <- lm(wgt ~ hgt, data = bdims)
ajuste_multiple <- lm(wgt ~ hip.gi + hgt, data = bdims)
# ajuste wgt ~ hip.gi
predict(ajuste_s_hip, newdata = pob, ,interval="predict",level = 0.95)
fit lwr upr
1 74.20646 57.21927 91.19365
# ajuste wgt ~ hgt
predict(ajuste_s_hgt, newdata = pob, ,interval="predict",level = 0.95)
fit lwr upr
1 72.05406 53.74712 90.36101
# ajuste wgt ~ hip.gi + hgt
predict(ajuste_multiple, newdata = pob, ,interval="predict",level = 0.95)
fit lwr upr
1 75.14322 63.98462 86.30183
El modelo de regresión múltiple, que explica mejor, tiene un intervalo más acotado que los modelos de regresión simple.