Si j'ai une variable à 4 niveaux, en théorie, je dois utiliser 3 variables fictives. En pratique, comment cela se fait-il réellement? Dois-je utiliser 0-3, dois-je utiliser 1-3 et laisser les 4 vides? Aucune suggestion?
REMARQUE: je vais travailler dans R.
MISE À JOUR: Que se passerait-il si j'utilisais juste une colonne qui utilise 1-4 correspondant à AD? Est-ce que cela fonctionnera ou introduira des problèmes?
r
regression
categorical-data
categorical-encoding
screechOwl
la source
la source
Réponses:
En pratique, on laisse généralement son logiciel de choix gérer la création et la manipulation des variables factices. Il existe plusieurs façons de le gérer; voici plusieurs possibilités communes pour un ensemble de données avec quatre observations, une à chaque niveau de A, B, C et D. Ce sont des paramétrisations différentes; ils donnent exactement le même ajustement au modèle, mais avec des interprétations différentes des paramètres. On peut facilement se convertir de l'un à l'autre en utilisant l'algèbre de base; notez qu'ils sont tous des combinaisons linéaires les uns des autres; en fait, toute combinaison linéaire peut être utilisée.
Utilisez les différences par rapport au premier niveau (par défaut dans R):
Utilisez les différences par rapport au dernier niveau (par défaut dans SAS):
Utilisez des contrastes «somme»:
Utilisez les contrastes "helmert":
la source
Supposons que vos niveaux de variable soient A, B, C et D. Si vous avez un terme constant dans la régression, vous devez utiliser trois variables fictives, sinon, vous devez avoir les quatre.
Il existe de nombreuses façons mathématiquement équivalentes d'implémenter les variables factices. Si vous avez un terme constant dans la régression, une façon consiste à choisir l'un des niveaux comme niveau "de base" et à le comparer aux trois autres. Disons, pour être concret, que le niveau de base est A. Alors votre première variable fictive prend la valeur 1 chaque fois que le niveau est B et 0 sinon; le second prend la valeur 1 chaque fois que le niveau est C et 0 sinon, et le troisième prend la valeur 1 chaque fois que le niveau est D et 0 sinon. Étant donné que votre terme constant est toujours égal à 1, le coefficient estimé de la première variable muette sera l'estimation de la différence entre le niveau B et A, et de même pour les autres variables muettes.
Si vous n'avez pas de terme constant, vous pouvez simplement utiliser quatre variables muettes, construites comme dans l'exemple précédent, en ajoutant simplement une pour le niveau A.
la source
Dans R, définissez la variable comme facteur et il l'implémentera pour vous:
qui revient
La documentation de «lm», «factor» et «formula» dans R remplit certains détails.
la source
lm(y ~ as.factor(x))
whuber vous a dit dans les commentaires que coder un codage 0-3 ou 1-4 au lieu de créer des variables factices n'est pas ce que vous voulez. J'essaie - j'espère expliquer ce que vous feriez avec ce modèle et pourquoi il est incorrect.
Si vous codez une variable X de telle sorte que si A alors X = 1, si B alors X = 2, si C alors X = 3, si D alors X = 4 alors quand vous faites la régression, vous n'obtiendrez qu'un seul paramètre. Disons qu'il a fini par être que le paramètre estimé associé à X était 2. Cela vous dirait que la différence attendue entre la moyenne de B et la moyenne de A est 2. Cela vous indique également que la différence attendue entre la moyenne de C et la moyenne de B est 2. Certains pour D et C. Vous forceriez les différences dans les moyennes de ces groupes à suivre ce modèle très strict. Ce paramètre vous indique exactement comment tous les moyens de votre groupe sont liés les uns aux autres.
Donc, si vous avez fait ce type de codage, vous devez supposer que non seulement vous avez obtenu l'ordre correct (car dans ce cas, si vous vous attendez à une augmentation de A à B, vous devez vous attendre à une augmentation de B à C et de C à D) mais vous devez également supposer que cette différence est la même!
Si au lieu de cela vous faites le codage factice qui a été suggéré, vous autorisez chaque groupe à avoir sa propre moyenne - aucune restriction. Ce modèle est beaucoup plus sensé et répond aux questions que vous souhaitez.
la source