Je souhaite sélectionner des modèles à l'aide de regsubsets()
. J'ai une trame de données appelée olympiadaten (données téléchargées: http://www.sendspace.com/file/8e27d0 ). J'attache d'abord ce dataframe puis commence à analyser, mon code est:
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))
capture d'écran de l'intrigue:
Le problème est maintenant que je veux adapter à nouveau le meilleur modèle "manuellement" et y jeter un œil, mais la valeur du R ajusté au carré n'est pas la même que dans la sortie des regsubsets? C'est également le cas pour les autres modèles, par exemple lorsque je fais le modèle le plus simple du graphique:
summary(lm(Gesamt~ExpHealth))
Le graphique indique qu'il devrait avoir un R ajusté au carré d'environ 0,14, mais quand je regarde la sortie, j'obtiens une valeur de 0,06435.
Voici la sortie 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
Je ne sais pas ce que j'aurais pu faire de mal, toute aide serait appréciée.
Et enfin et surtout, quelques questions supplémentaires:
- Quelle est la différence entre la sélection de modèles par AIC et par l'adj. R au carré?
- Les deux mesurent l'ajustement et reconnaissent le nombre de variables, ce n'est donc pas le meilleur modèle choisi par AIC ni le modèle avec l'adj le plus élevé. r au carré?
- Quand j'ai 12 variables, cela signifie qu'il y a possibilités de modèles, non?
- La
regsubsets()
commande calcule-t-elle donc chaque modèle et affiche-t-elle les deux meilleurs (nbest=2
) de chaque taille? - Si oui, est-ce que j'obtiens vraiment le «meilleur» modèle?
- Et quand je fais de l'AIC en utilisant la sélection à l'envers (en commençant par le modèle qui contient toutes les variables), cela se retrouve-t-il également avec le même modèle qui
regsubsets()
dit que c'est le meilleur?