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?
la source
Réponses:
Pour approfondir l'idée d'utiliser tous les sous-ensembles ou les meilleurs outils de sous-ensembles pour trouver un «meilleur» modèle d'ajustement, le livre «How to Lie with Statistics» de Darrell Huff raconte une histoire sur Readers Digest publiant une comparaison des produits chimiques contenus dans la fumée de cigarette. Le but de leur article était de montrer qu'il n'y avait pas de réelle différence entre les différentes marques, mais qu'une marque était la plus faible dans certains des produits chimiques (mais si peu que la différence était vide de sens) et que la marque a lancé une grande campagne publicitaire basée sur étant le "plus bas" ou le "meilleur" selon le Readers Digest.
Tous les sous-ensembles ou meilleurs régressions de sous-ensembles sont similaires, le vrai message du graphique que vous montrez n'est pas "voici le meilleur" mais vraiment qu'il n'y a pas de meilleur modèle. D'un point de vue statistique (en utilisant le r ajusté au carré), la majorité de votre modèle est à peu près la même (les quelques en bas sont inférieurs à ceux ci-dessus, mais les autres sont tous similaires). Votre désir de trouver un "meilleur" modèle à partir de cette table est comme le fabricant de cigarettes qui dit que son produit était le meilleur lorsque le but était de montrer qu'ils étaient tous similaires.
Voici quelque chose à essayer, supprimez aléatoirement un point du jeu de données et relancez l'analyse, obtenez-vous le même "meilleur" modèle? ou ça change? répéter plusieurs fois en supprimant un point différent à chaque fois pour voir comment le "meilleur" modèle change. Êtes-vous vraiment à l'aise de prétendre qu'un modèle est «le meilleur» lorsque ce petit changement dans les données donne un «meilleur» différent? Regardez également à quel point les coefficients sont différents entre les différents modèles, comment interprétez-vous ces changements?
Il est préférable de comprendre la question et la science derrière les données et d'utiliser ces informations pour aider à décider d'un «meilleur» modèle. Considérons 2 modèles très similaires, la seule différence est qu'un modèle inclut et l'autre inclut place. Le modèle avec s'adapte légèrement mieux (adj r au carré de 0,49 contre 0,48) mais pour mesurer faut une intervention chirurgicale et attendre 2 semaines pour les résultats de laboratoire tout en mesurantx 2 x 1 x 1 x 2x1 x2 x1 x1 x2 prend 5 minutes et un sphygmomanomètre. Serait-ce vraiment la peine de consacrer plus de temps, de dépenses et de risques pour obtenir ce supplément de 0,01 dans le régulateur R au carré, ou le meilleur modèle serait-il le modèle le plus rapide, le moins cher et le plus sûr? Qu'est-ce qui a du sens du point de vue scientifique? Dans votre exemple ci-dessus, pensez-vous vraiment que l'augmentation des dépenses militaires améliorera les performances olympiques? ou s'agit-il d'un cas où cette variable agit comme substitut à d'autres variables de dépenses qui auraient un effet plus direct?
D'autres choses à considérer incluent la prise de plusieurs bons modèles et leur combinaison (moyenne du modèle), ou plutôt que chaque variable soit tout ou rien en ajoutant une forme de pénalité (régression de crête, LASSO, elasticnet, ...).
la source
Certaines questions ont été répondues, je ne réponds donc qu'à celles concernant la sélection des modèles. AIC, BIC, Mallow Cp et R ajusté sont tous des méthodes pour comparer et sélectionner des modèles qui tiennent compte des problèmes des modèles surajustés par une mesure ajustée ou une fonction de pénalité dans les critères. Mais dans les cas où les fonctions de pénalité diffèrent, il est très possible que deux critères similaires conduisent à des choix différents pour un modèle final. La valeur minimale pour différents critères peut apparaître sur différents modèles. Cela a été observé assez souvent lors de l'examen des modèles choisis par AIC et BIC.2
Je ne sais vraiment pas ce que vous entendez par meilleur modèle. Chaque critère donne essentiellement une définition différente du meilleur. Vous pouvez appeler un modèle le mieux en termes d'informations, d'entropie, de complexité stochastique, de pourcentage de variance expliqué (ajusté) et plus encore. Si vous avez affaire à un critère spécifique et que cela signifie en capturant au mieux le véritable minimum pour, disons, AIC sur tous les modèles possibles, cela ne peut être garanti qu'en regardant tous les modèles (c'est-à-dire toutes les sélections de sous-ensembles pour les variables). Les procédures pas à pas, pas à pas et pas à pas ne trouvent pas toujours le meilleur modèle au sens d'un critère spécifique. Avec la régression pas à pas, vous pouvez même obtenir des réponses différentes en démarrant différents modèles. Je suis sûr que Frank Harrell aurait beaucoup à dire à ce sujet.
Pour en savoir plus, il existe plusieurs bons livres sur la sélection de modèles / sous-ensembles et j'en ai référencé certains ici sur d'autres articles. La monographie de Lacey Gunter avec Springer dans leur série SpringerBrief sera bientôt publiée. J'étais coauteur avec elle sur ce livre.
la source