Modèle linéaire classique - sélection du modèle

16

J'ai un modèle linéaire classique, avec 5 régresseurs possibles. Ils ne sont pas corrélés entre eux et ont une corrélation assez faible avec la réponse. Je suis arrivé à un modèle où 3 des régresseurs ont des coefficients significatifs pour leur statistique t (p <0,05). L'ajout de l'une des deux variables restantes ou des deux donne des valeurs de p> 0,05 pour la statistique t, pour les variables ajoutées. Cela m'amène à croire que le modèle à 3 variables est "le meilleur".

Cependant, en utilisant la commande anova (a, b) dans R où a est le modèle à 3 variables et b est le modèle complet, la valeur p pour la statistique F est <0,05, ce qui me dit de préférer le modèle complet à la variable 3 modèle. Comment concilier ces contradictions apparentes?

Merci PS Edit: quelques informations supplémentaires. Ce sont des devoirs donc je ne publierai pas de détails, mais on ne nous donne pas de détails sur ce que les régresseurs représentent - ils sont juste numérotés de 1 à 5. On nous demande de "dériver un modèle approprié, en donnant une justification".

P Sellaz
la source
6
Un modèle approprié pourrait être considéré comme signifiant un modèle qui utilise efficacement toutes les variables prédéfinies (tenant compte de la non-linéarité, etc.). J'espère que votre instructeur comprend que la sélection des variables pas à pas n'est pas valide. Peu le font.
Frank Harrell
1
Salut encore et merci. Désolé pour tous les allers-retours. Les instructions indiquent également "Il n'y a pas nécessairement un" meilleur "modèle et vous ne devez pas nécessairement inclure tous les prédicteurs". De plus, il n'y a pas de colinéarité ou de non-linéarité. En fait, les 5 prédicteurs sont générés par des simulations indépendantes à partir d'une distribution normale. Par conséquent, les corrélations entre les prédicteurs et la réponse sont également faibles (la plus grande est inférieure à 0,1). Franchement, mon intuition dit que le "meilleur" modèle peut être simplement la moyenne de l'échantillon (le r ajusté au carré est inférieur à 0,03)
P Sellaz
@P Sellaz: étant donné qu'il s'agit de devoirs utilisant des données simulées, votre intuition pourrait bien vous servir ici. Écrivez une explication bien motivée de votre intuition.
Zach
1
Vous ne pouvez pas suivre le en général car la taille est grande dépend du contexte. Mais selon exactement comment la simulation était censée être exécutée, vous avez raison de dire que la moyenne globale peut être ce qui est nécessaire. R2
Frank Harrell
1
En général, il est correct de ne pas avoir à inclure tous les prédicteurs pour faire du bon travail. Mais les données sont incapables de vous dire quels prédicteurs utiliser.
Frank Harrell

Réponses:

18

Le problème a commencé lorsque vous avez cherché un modèle réduit et utilisé les données plutôt que la connaissance du sujet pour choisir les prédicteurs. La sélection de variables par étapes sans rétrécissement simultané pour pénaliser la sélection de variables, bien que souvent utilisée, n'est pas une approche valide. Beaucoup a été écrit à ce sujet. Il n'y a aucune raison de croire que le modèle à 3 variables est "le meilleur" et il n'y a aucune raison de ne pas utiliser la liste originale de prédicteurs prédéfinis. Les valeurs P calculées après avoir utilisé des valeurs P pour sélectionner des variables ne sont pas valides. Cela a été appelé "double dip" dans la littérature d'imagerie fonctionnelle.

Voici une analogie. Supposons que l'on souhaite comparer 6 traitements, mais utilise des tests t par paire pour choisir les traitements «différents», ce qui se traduit par un ensemble réduit de 4 traitements. L'analyste teste ensuite une différence globale avec 3 degrés de liberté. Ce test F aura une erreur de type I gonflée. Le test F d'origine avec 5 df est tout à fait valide.

Voir http://www.stata.com/support/faqs/stat/stepwise.html et pour plus d'informations.

Frank Harrell
la source
1
Merci pour votre réponse. J'ai ajouté une modification à la question d'origine. J'espère que c'est bon. Tout autre conseil serait le bienvenu.
P Sellaz
6

Une réponse serait "cela ne peut pas être fait sans connaissance du sujet". Malheureusement, cela vous donnerait probablement un F sur votre mission. Sauf si j'étais ton professeur. Ensuite, il obtiendrait un A.

R2

Ensuite, il y a

les 5 prédicteurs sont générés par des simulations indépendantes à partir d'une distribution normale.

Eh bien, si vous SAVEZ cela (c'est-à-dire, votre instructeur vous l'a dit) et si par "indépendant" vous voulez dire "sans rapport avec le DV", alors vous savez que le meilleur modèle est celui sans prédicteurs, et votre intuition est correcte.

Peter Flom - Réintégrer Monica
la source
Salut Peter et merci. N est 900. Les données ont toutes été produites par simulation. Je LE SAIS parce que nous devions faire les simulations nous-mêmes. Ils sont censés représenter des données réelles, en ce qui concerne ces devoirs. 100 simulations ont été réalisées, et les 5 avec les plus fortes corrélations à la réponse (également simulées mais une seule fois) ont été choisies comme régresseurs candidats.
P Sellaz
1
Assurez-vous simplement que vous ne devez simuler aucun lien entre les X et les Y. Ensuite, comme d'autres l'ont dit, un modèle de régression n'est pas pertinent et la moyenne globale est suffisante.
Frank Harrell du
1
Oui, ils sont complètement indépendants. Nous avons choisi les données présentant les 5 corrélations les plus importantes comme candidats régresseurs, à partir desquels nous devons "dériver un modèle approprié, en justifiant", mais nous "ne devons pas nécessairement inclure les 5 prédicteurs".
P Sellaz
Il semble que votre professeur soit a) soit complètement confus, soit b) fasse quelque chose d'assez intéressant. Difficile de dire lequel. S'il voulait que cela montre le genre de chose que @FrankHarrell et moi-même et d'autres avons souligné, alors tant mieux! (ce serait b). OTOH, s'il a l'intention que ce soit une "vraie" régression, alors euh-oh c'est a).
Peter Flom - Réintègre Monica
1
Je vous ferai savoir de quoi il s'agit lorsque les papiers sont marqués :)
P Sellaz
4

Vous pouvez essayer de faire une validation croisée. Choisissez un sous-ensemble de votre échantillon, trouvez le «meilleur» modèle pour ce sous-ensemble en utilisant des tests F ou t, puis appliquez-le à l'ensemble de données (la validation croisée complète peut devenir plus compliquée que cela, mais ce serait un bon début). Cela aide à atténuer certains des problèmes de test par étapes.

Voir A Note on Screening Regression Equations de David Freedman pour une petite simulation mignonne de cette idée.

Charlie
la source
2

J'aime vraiment la méthode utilisée dans le caretpackage: élimination des fonctionnalités récursives. Vous pouvez en savoir plus à ce sujet dans la vignette , mais voici le processus de base: Sélection variable

L'idée de base est d'utiliser un critère (comme les statistiques t) pour éliminer les variables sans importance et voir comment cela améliore la précision prédictive du modèle. Vous enveloppez le tout dans une boucle de rééchantillonnage, comme la validation croisée. Voici un exemple, en utilisant un modèle linéaire pour classer les variables d'une manière similaire à ce que vous avez décrit:

#Setup
set.seed(1)
p1 <- rnorm(50)
p2 <- rnorm(50)
p3 <- rnorm(50)
p4 <- rnorm(50)
p5 <- rnorm(50)
y <- 4*rnorm(50)+p1+p2-p5

#Select Variables
require(caret)
X <- data.frame(p1,p2,p3,p4,p5)
RFE <- rfe(X,y, sizes = seq(1,5), rfeControl = rfeControl(
                    functions = lmFuncs,
                    method = "repeatedcv")
                )
RFE
plot(RFE)

#Fit linear model and compare
fmla <- as.formula(paste("y ~ ", paste(RFE$optVariables, collapse= "+")))
fullmodel <- lm(y~p1+p2+p3+p4+p5,data.frame(y,p1,p2,p3,p4,p5))
reducedmodel <- lm(fmla,data.frame(y,p1,p2,p3,p4,p5))
summary(fullmodel)
summary(reducedmodel)

Dans cet exemple, l'algorithme détecte qu'il existe 3 variables "importantes", mais il n'en obtient que 2.

Zach
la source