Comment dois-je gérer les variables catégorielles à plusieurs niveaux lors de l'élimination en amont?


12

Je fais un modèle d'élimination rétrograde simple basé sur AIC où certaines variables sont des variables catégorielles à plusieurs niveaux. Ces variables sont modélisées comme un ensemble de variables fictives. Lors d'une élimination en amont, dois-je supprimer tous les niveaux d'une variable ensemble? Ou dois-je traiter chaque variable fictive séparément? Et pourquoi?

Comme question connexe, l'étape dans R gère chaque variable fictive séparément lors de l'élimination en arrière. Si je voulais supprimer une variable catégorielle entière à la fois, puis-je le faire en utilisant l'étape? Ou existe-t-il des alternatives à l'étape qui peuvent gérer cela?


Je pense qu'il est difficile de répondre à cette question dans un contexte général. Si possible, pouvez-vous fournir des informations sur vos données? que voulez-vous en déduire? hypothèses possibles, etc. Fournir ces détails pourrait nous aider à mieux répondre à vos questions.
suncoolsu

@suncoolsu Je ne suis pas vraiment libre de discuter de tout cela. S'il est possible de répondre à la question avec un arbre de décision («si vous supposez X, alors faites Y»), cela pourrait être très utile.
nerdbound

1
Pour plus de clarté, êtes-vous intéressé à interpréter le modèle comme causal ou êtes-vous simplement intéressé par la prédiction?
Andy W

Oui. J'accepte Matt Parker. De plus, si la colonne de données cat a 5 entrées, disons 1,2,3,4,5, le modèle GLM fournit 4 colonnes pour cela, disons catCol1, catCol2, catCol3, catCol4, et si nous décidons d'éliminer le catCol avec la valeur de p la plus élevée, disons catCol4, les trois autres n'ont pas beaucoup de sens, car les données peuvent toujours posséder la valeur de catCol4. Dans une telle situation, le GLM serait dans la confusion et afficherait une erreur ..
Ebby

Réponses:


7

Je pense qu'il faudrait supprimer toute la variable catégorielle. Imaginez une régression logistique dans laquelle vous essayez de prédire si une personne a une maladie ou non. Le pays de naissance peut avoir un impact majeur sur cela, vous devez donc l'inclure dans votre modèle. Si l'origine américaine spécifique n'a pas eu d'impact sur l'AIC et que vous l'avez supprimée, comment calculeriez-vous pour un Américain? R utilise des contrastes de référence pour les facteurs par défaut, donc je pense qu'ils seraient calculés au niveau de référence (par exemple, le Botswana), le cas échéant. Ça ne va probablement pas bien finir ...y^

Une meilleure option serait de trier au préalable les encodages sensibles du pays de naissance - en les regroupant par région, continent, etc. et en trouvant lequel convient le mieux à votre modèle.

Bien sûr, il existe de nombreuses façons de mal utiliser la sélection de variables pas à pas, alors assurez-vous de le faire correctement. Cependant, il y a beaucoup à ce sujet sur ce site; la recherche de "pas à pas" donne de bons résultats. Ceci est particulièrement pertinent , avec beaucoup de bons conseils dans les réponses.


1
Merci pour la réponse. Je suppose que ma préoccupation est que, dans votre exemple, si un pays de naissance est un prédicteur fantastique d'une maladie et que tous les autres pays d'origine sont de mauvais prédicteurs, le modèle d'élimination à rebours me dira de supprimer le pays de naissance, même bien que le pays de naissance ne soit guère inutile en tant que covariable. En d'autres termes, il pourrait être judicieux d'avoir une seule variable pour «êtes-vous lituanien? même si le pays de naissance dans son ensemble ne prévoit pas bien. Existe-t-il des moyens raisonnables de gérer ce genre de problème?
nerdbound

2
(+1) Si un pays est un excellent prédicteur, alors l'ensemble du groupe de pays sera significatif et il sera conservé. @Matt Parker a raison: gardez ensemble les groupes de variables fictives et basez les critères d'entrée et de sortie sur le niveau de signification commun pour l'ensemble du groupe, et non sur les niveaux de signification pour les variables muettes individuelles.
whuber

2
@whuber OK encore un commentaire potentiellement stupide de ma part et je serai en paix quand je comprendrai pourquoi je me trompe :-P Il me semble que si je regarde AIC et j'exclus, disons, 200 mannequins de pays en tant que groupe, l'AIC s'améliorera parce que le nouveau modèle aura 200 variables de moins, et il ne fera qu'empirer dans la mesure où ces variables muettes étaient de bons prédicteurs. Si seulement une des variables était un bon prédicteur, il me semble que sur le net, l'AIC rendra le modèle avec 200 variables de moins meilleur, mais je manquerai cette seule variable ...
nerdbound

4
@nerdbound Ce n'est pas idiot du tout. Cependant, si un seul mannequin sur 200 fonctionne bien, vous avez vraiment une variable catégorielle différente: c'est une nouvelle variable binaire (ou reclassée). @Matt Parker aborde cette question dans son deuxième paragraphe. Cela ressemble à une question d'analyse exploratoire (ce qui est de toute façon la régression pas à pas). C'est parfaitement bien de torturer vos données de cette façon, mais après tout, la fumée disparaît, vous devez tester votre modèle sur des données indépendantes.
whuber

1
Cela peut être pertinent lorsqu'il existe de très nombreux niveaux: stats.stackexchange.com/questions/146907/…
kjetil b halvorsen

0

Quant à l'exemple des pays, je pense que si la variable muette pour un pays spécifique est sélectionnée, cela signifie que ce pays est un prédicteur par rapport à tous les autres pays combinés (pas besoin de créer une nouvelle variable binaire). Le problème que j'ai très souvent, ce sont les variables factices qui reflètent, par exemple, la gravité d'une maladie (comme -, +, ++, +++). Parfois, la variable factice pour ++ est sélectionnée, mais pas la variable factice pour +++. Dans ce cas, le reclassement pourrait être utile.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.