Quiero seleccionar modelos usando regsubsets()
. Tengo un marco de datos llamado olympiadaten (datos cargados: http://www.sendspace.com/file/8e27d0 ). Primero adjunto este marco de datos y luego empiezo a analizar, mi código es:
attach(olympiadaten)
library(leaps)
a<-regsubsets(Gesamt ~ CommunistSocialist + CountrySize + GNI + Lifeexp +
Schoolyears + ExpMilitary + Mortality +
PopPoverty + PopTotal + ExpEdu + ExpHealth, data=olympiadaten, nbest=2)
summary(a)
plot(a,scale="adjr2")
summary(lm(Gesamt~ExpHealth))
captura de pantalla de la trama:
El problema ahora es que quiero ajustar el mejor modelo de nuevo "manualmente" y echarle un vistazo, pero el valor de la R al cuadrado ajustada no es el mismo que en la salida de regsubsets. Este es también el caso de los otros modelos, por ejemplo, cuando hago el modelo más simple en el gráfico:
summary(lm(Gesamt~ExpHealth))
El gráfico dice que debería tener una R ajustada al cuadrado de aproximadamente 0.14, pero cuando miro la salida, obtengo un valor de 0.06435.
Aquí está la salida de summary(lm(Gesamt~ExpHealth))
:
Call:
lm(formula = Gesamt ~ ExpHealth)
Residuals:
Min 1Q Median 3Q Max
-18.686 -9.856 -4.496 1.434 81.980
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.0681 6.1683 -0.497 0.6203
ExpHealth 1.9903 0.7805 2.550 0.0127 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 18.71 on 79 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.07605, Adjusted R-squared: 0.06435
F-statistic: 6.502 on 1 and 79 DF, p-value: 0.01271
No sé qué podría haber hecho mal, agradecería cualquier ayuda.
Y por último pero no menos importante, algunas preguntas más:
- ¿Cuál es la diferencia entre seleccionar modelos por AIC y por el adj. ¿R-cuadrado?
- Ambos miden el ajuste y reconocen el número de variables, por lo que no es el mejor modelo elegido por AIC sino también el modelo con el ajuste más alto. ¿R-cuadrado?
- Cuando tengo 12 variables, esto significa que hay posibilidades de modelos, ¿verdad?
- Entonces, ¿el
regsubsets()
comando calcula cada modelo y muestra los dos mejores (nbest=2
) de cada tamaño? - Si es así, ¿realmente obtengo el "mejor" modelo?
- Y cuando hago AIC usando la selección hacia atrás (comenzando con el modelo que contiene todas las variables), ¿esto también termina con el mismo modelo que
regsubsets()
dice que es el mejor?