Planteaniebto de un modelo de regresion multiple
se ocupara en nuestro modelo las variables explicativas de
colestero, glucosa y edad, para determinar el indice de masa
corporal
modelo <- lm(BMI ~ Age + Cholesterol + Glucose, data = bmi)
summary(modelo)
##
## Call:
## lm(formula = BMI ~ Age + Cholesterol + Glucose, data = bmi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.6255 -4.5473 -0.8179 3.7439 18.8116
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 16.81510 5.07180 3.315 0.00164 **
## Age 0.04103 0.05631 0.729 0.46939
## Cholesterol 0.04819 0.02487 1.938 0.05791 .
## Glucose 0.01974 0.01493 1.322 0.19188
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.34 on 54 degrees of freedom
## Multiple R-squared: 0.127, Adjusted R-squared: 0.07855
## F-statistic: 2.62 on 3 and 54 DF, p-value: 0.06008
backward selection
Este modelo de regresion tiene como objetivo el de encontrar un
modelo de mejor ajuste pero con un numero posible de variables,
explicativas, eliminando las menos significantes en este caso se
selecciono las variables colesterol y glucosa
step(modelo, direction = "backward", data = bmi)
## Start: AIC=218.09
## BMI ~ Age + Cholesterol + Glucose
##
## Df Sum of Sq RSS AIC
## - Age 1 21.337 2191.7 216.66
## - Glucose 1 70.197 2240.6 217.93
## <none> 2170.3 218.09
## - Cholesterol 1 150.893 2321.2 219.99
##
## Step: AIC=216.66
## BMI ~ Cholesterol + Glucose
##
## Df Sum of Sq RSS AIC
## <none> 2191.7 216.66
## - Glucose 1 98.063 2289.8 217.19
## - Cholesterol 1 172.920 2364.6 219.06
##
## Call:
## lm(formula = BMI ~ Cholesterol + Glucose, data = bmi)
##
## Coefficients:
## (Intercept) Cholesterol Glucose
## 17.95236 0.05098 0.02254
backward <- lm(formula = BMI ~ Cholesterol + Glucose,
data = bmi)
summary(backward)
##
## Call:
## lm(formula = BMI ~ Cholesterol + Glucose, data = bmi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.125 -4.748 -1.134 3.321 18.832
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 17.95236 4.80502 3.736 0.000446 ***
## Cholesterol 0.05098 0.02447 2.083 0.041902 *
## Glucose 0.02254 0.01437 1.569 0.122449
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.313 on 55 degrees of freedom
## Multiple R-squared: 0.1185, Adjusted R-squared: 0.08641
## F-statistic: 3.696 on 2 and 55 DF, p-value: 0.0312
como se puede observar aun cuenta con un coeficiente de
determinacion muy por debajo de la unidad, por lo que una de esta
variables aun no tiene significancia, aun cuando quitamos la variable
edad, que era la que no tenia significancia, por lo que se hara un
modelo log para poder ajustarlo de mejor manera
modelo_logaritmico <- lm(BMI ~ log(Cholesterol) + log(Glucose), data = bmi)
summary(modelo_logaritmico)
##
## Call:
## lm(formula = BMI ~ log(Cholesterol) + log(Glucose), data = bmi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.028 -4.853 -1.246 3.575 18.552
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -35.568 25.124 -1.416 0.1625
## log(Cholesterol) 9.231 4.629 1.994 0.0511 .
## log(Glucose) 3.744 2.437 1.536 0.1303
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.311 on 55 degrees of freedom
## Multiple R-squared: 0.1188, Adjusted R-squared: 0.08676
## F-statistic: 3.707 on 2 and 55 DF, p-value: 0.03087
Como nuestro coeficiente de determinacion sigue siendo bajo, lo que
ahora se hara es hacer el modelo a un binomio, para poder ajustarlo
mejor
modelo_bonomio <- lm(BMI ~ Cholesterol + Glucose - Glucose*Glucose, data = bmi)
summary(modelo_bonomio)
##
## Call:
## lm(formula = BMI ~ Cholesterol + Glucose - Glucose * Glucose,
## data = bmi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.828 -4.863 -1.074 3.845 18.597
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 20.01157 4.68214 4.274 7.53e-05 ***
## Cholesterol 0.05415 0.02470 2.192 0.0326 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.394 on 56 degrees of freedom
## Multiple R-squared: 0.07902, Adjusted R-squared: 0.06257
## F-statistic: 4.805 on 1 and 56 DF, p-value: 0.03255
como se puede ver en las siguientes tablas, observamos que aunque la
variable de glucosa tiene una distribucion de un polinomio, lo que hace
que tenga un mejor ajuste, esto porque que la variable glucosa tiene una
distrubucion casi cuadrada
scatterplotMatrix(bmi, ~ Age + Cholesterol + Glucose,
smooth = list(lty = 2), id = TRUE,
regLine = list(lty = 1, col = "red"),
col = "blue")
## Warning in applyDefaults(legend, defaults = list(coords = NULL, pt.cex = cex, :
## unnamed legend arguments, will be ignored
