Pourquoi le sexe est-il généralement codé 0/1 plutôt que 1/2, par exemple?

25

Je comprends la logique du codage pour l'analyse des données. Ma question ci-dessous concerne l'utilisation d'un code spécifique.

  • Y a-t-il une raison pour laquelle le sexe est souvent codé 0 pour les femmes et 1 pour les hommes?
  • Pourquoi ce codage est-il considéré comme «standard»?
  • Comparez cela avec Femelle = 1 et Masculin = 2. Y a-t-il un problème avec ce codage?
Adhesh Josh
la source
15
L'utilisation d'un schéma de codage 0/1 est essentiellement utile lors de l'application de modèles de régression entre autres, bien que plusieurs schémas de codage soient possibles, par exemple -1/1 (mais cela changera l'interprétation des coefficients de régression). Il ne faut cependant pas le confondre avec la saisie de données (c'est-à-dire ce que vous mettez vraiment dans votre base de données). Dans ce cas, il est préférable de stocker les étiquettes complètes. Convertissez-les en valeurs numériques ou créez une matrice de conception dédiée lorsque vous créez votre modèle de régression. Sinon, je vous souhaite bonne chance pour dire ce que signifient les 0 et les 1 dans 5 ans.
chl
J'ai vu le sexe codé dans la base de données comme masculin, féminin et inconnu.
Aksakal
2
Je pense que cette question est mieux considérée comme deux questions confondues. La plus grande question est de savoir pourquoi utiliser le codage 0-1 plutôt que tout autre pour un indicateur ou une variable fictive. La petite question est de savoir pourquoi utiliser 1 pour les hommes et 0 pour les femmes, à laquelle une réponse courte est que de nombreux autres codages sont utilisés, y compris le contraire de 1 pour les femmes, etc., ainsi que divers codages complexes permettant un sexe inconnu et pour autres catégories de genre.
Nick Cox

Réponses:

38

Raisons de préférer le codage zéro à un des variables binaires:

  • La moyenne d'une variable zéro représente la proportion dans la catégorie représentée par la valeur un (par exemple, le pourcentage d'hommes).
  • Dans une régression simple oùx a yy=une+bXX est la variable zéro, la constante a une interprétation simple (par exemple, est la moyenne de pour les femmes).uney
  • Tout codage d'une variable binaire où la différence entre les deux valeurs est de un (c.-à-d. Zéro-un, mais aussi un-deux) donne une interprétation simple du coefficient de régression (par exemple, est l'effet du passage de la femme au mâle sur y).b

Points variés sur le codage des variables binaires:

  • Tout codage d'une variable binaire qui préserve l'ordre des catégories (par exemple, femme = 0, homme = 1; femme = 1, homme = 2; femme = 1007, homme = 2000; etc.) n'affectera pas la corrélation de la variable binaire avec d'autres variables.
  • Toutes les tables qui signalent une variable binaire de cette manière doivent indiquer clairement comment la variable a été codée. Il peut également être utile d'étiqueter la variable par la catégorie qui représente la valeur d'une: par exemple, y = a + b * Maleplutôt que y = a + b * Gender.
  • Pour certaines variables binaires, une catégorie devrait plus naturellement être codée comme une seule. Par exemple, lorsque l'on examine la différence entre le traitement et le contrôle, le contrôle doit être nul et le traitement doit être un, car le coefficient de régression est mieux considéré comme l'effet du traitement.
  • Inverser les catégories (par exemple, en faisant femelle = 1 et masculin = 0, plutôt que femelle = 0 et masculin = 1) inversera le signe des corrélations et des coefficients de régression.
  • Dans le cas du sexe, il n'y a généralement aucune raison naturelle de coder la variable femelle = 0, mâle = 1, contre mâle = 0, femelle = 1. Cependant, la convention peut suggérer qu'un codage est plus familier au lecteur; ou le choix d'un codage qui rend le coefficient de régression positif peut faciliter l'interprétation. De plus, dans certains contextes, un sexe peut être considéré comme la catégorie de référence; par exemple, si vous étudiez l'effet d'être une femme dans une profession à prédominance masculine sur le revenu, il pourrait être judicieux de coder homme = 0 et femme = 1, afin de parler de l'effet d'être femme.
  • La mise à l'échelle des coefficients de régression de manière réfléchie peut avoir un effet puissant sur l'interprétabilité des coefficients de régression. Andrew Gelman en discute assez longuement; voir par exemple son article 2008 Scaling regression inputs by dividing by two standard deviations (PDF) in Statistics in Medicine , 27, 2865-2873.
  • Le codage masculin et féminin de -1 et +1 est une autre option qui peut fournir des coefficients significatifs (voir "qu'est-ce que le codage d'effet" ).
Jeromy Anglim
la source
18
Euh, j'ai toujours pensé que la raison naturelle pour coder femelle = 0 et mâle = 1 était "anatomie" ...
Matt Parker
2
@matt funny. Je n'avais jamais pensé à ça comme ça. J'avais toujours été influencé par l'objectif de mon diplôme en arts, où vous apprenez comment certaines féministes critiquent les idéologies qui voient les femmes définies par le manque de quelque chose que possèdent les hommes. À travers une telle lentille, un peu avec humour, le codage du genre devient un enjeu politique :-)
Jeromy Anglim
13
Comme d'habitude, je change toujours le nom d'une variable de genre en quelque chose comme "Femme", pour clarifier ce que signifie un schéma de codage 0/1.
Fomite
Jeromy, voudrez-vous observer la discussion stats.meta.stackexchange.com/a/4881/3277 pour savoir si nous avons besoin d'une balise séparée [variables factices] et dire votre pour / contre dans un commentaire?
ttnphns
Compte tenu de la paire de chromosomes sexuels X et Y, les femelles ont XX et les mâles ont des chromosomes XY. En prenant X = 0 et Y = 1, nous pouvons trouver que femelle = XX = 00 = 0 et mâle = XY = 01 = 1.
Gürol Canbek
14

Cela facilite l'interprétation des résultats. Supposons que vous disposiez de données sur la hauteur:

Woman A: 165
Woman B: 170
Woman C: 175
Man D: 170
Man E: 180
Man F: 190 

et vous avez fait une régression du formulaire Height = a + b * Gender + Residual.

Avec la variable factice 0,1, vous obtiendriez une estimation de a170 pour la taille moyenne des femmes et bde 10 pour la différence entre les hauteurs moyennes des hommes et des femmes.

Avec la variable fictive 1,2, vous obtiendriez une estimation ade 160, ce qui est plus difficile à interpréter.

Henri
la source
Merci. J'apprends les statistiques à la «vitesse de la lumière» car c'est une exigence de mon nouvel emploi. Ce codage s'appliquerait-il toujours à l'analyse de corrélation.
Adhesh Josh
1
@Adhesh Si vous voulez dire la corrélation entre deux variables quantitatives, alors il n'y a pas de problème de codage: utilisez simplement les mesures brutes. Si votre question concerne l'association entre deux variables qualitatives, alors vous pourriez envisager de poser une nouvelle question, mais franchement, il n'y a pas beaucoup de difficulté dans ce cas (sauf si vous voulez utiliser des scores espacés de manière inégale pour les catégories de variables, mais cela a été répondu ailleurs sur ce site).
chl
4
@Adesh Le codage d'un binaire 1/2 ou 0/1 ne vous affectera pas votre coefficient de corrélation. 0/1 a également l'avantage que la moyenne de la variable serait le pourcentage d'hommes ou de femmes, selon lequel. D'autres schémas de codage peuvent être utiles pour interpréter différents types d'analyse.
Michael Bishop
2

J'avais supposé que c'était parce que le type de champ souvent utilisé pour stocker le genre est un champ de bits, et les champs de bits dans SQL ne peuvent avoir que les valeurs 0 ou 1. Lorsque vous videz les données, elles apparaissent sous la forme 0 ou 1, et c'est pourquoi vous obtenez ces valeurs particulières.

Si vous voulez utiliser 1 et 2, vous devez utiliser un type de champ plus grand, ce qui prendrait plus de place et rendrait donc la base de données légèrement plus grande.

mauvedeity
la source
En tant que programmeur SQL, ce fut également ma première réaction. Je ne suis pas sûr de l'existence de raisons mathématiques pures pour utiliser 0 et 1 pour le sexe, mais je sais pertinemment qu'une partie de l'impulsion est venue de la nécessité d'utiliser les types de données les plus petits possibles. Les normes de l'industrie ont été élaborées à partir de la coutume et tout le monde est tombé dans la ligne. Il peut être utile de vérifier l'historique des normes ANSI pour cela. De nos jours, il y a une pression pour que les administrateurs de base de données utilisent des colonnes d'octets ou de petits nombres entiers pour le sexe, pour indiquer des exceptions inhabituelles comme «entité corporative» ou «indéterminée», mais de nombreuses anciennes bases de données reflètent toujours l'ancienne norme.
SQLServerSteve
2

Un professeur m'a suggéré de coder "biologiquement" avec des femmes de 0 et des hommes de 1 - pour refléter l'anatomie. Je ne pense pas que ce soit la chose la plus sensible, ou PC à dire dans une classe, mais certainement facile à retenir lorsque l'on regarde un ensemble de données 5 ans plus tard.

Cassie
la source
Ce n'est clairement pas la «vraie» réponse à la question (c'est peut-être plus un commentaire qu'une réponse), mais le mnémonique est clairement celui que beaucoup de gens trouvent utile.
Silverfish
Plus "biologique" qu'anatomique, on m'a appris (bien que je soupçonne que la "raison" a été inventée rétrospectivement, plutôt que d'être l'original) que 0 est utilisé pour les femmes car c'est le sexe "par défaut" - la croyance étant que dans développement embryologique, la voie femelle est empruntée à moins que les processus intermédiaires ne poussent l'embryon à se différencier par la voie mâle. C'était autrefois une croyance répandue, mais elle est maintenant considérée comme dépassée : la voie féminine doit également être activement déclenchée.
Silverfish
1
Dans ce cas, les hommes ne devraient pas être codés "00".
Harvey Motulsky
1

De nombreuses bonnes raisons ont été affichées jusqu'à présent, mais elles devraient également être réflexives. Pourquoi voudriez-vous commencer à compter à 1? Cela rend beaucoup d'algorithmes numériques beaucoup plus compliqués. L'étiquetage commence à 0, pas à 1. Si vous n'êtes pas encore convaincu de cela, j'ai un bel exemple de pourquoi c'est important sur http://madhadron.com/?p=69

Quant à savoir pourquoi les femmes sont 0 et les hommes 1, rappelons-nous que pendant une grande partie de son histoire, un statisticien était probablement un homme hétéro. Lorsqu'on lui a demandé de nommer un sexe, le premier qui me vient à l'esprit est «femme». Tout ce qui a suivi était probablement un accident historique et une rationalisation.

user873
la source
-1

La norme ISO / IEC 5218 met à jour cette notion avec la carte suivante:

0 = not known,
1 = male,
2 = female,
9 = not applicable.

Ceci est particulièrement utile dans les langues où 0 contraint à une valeur fausse, comme en JavaScript:

if ( !user.gender ) {
    promptForGender();
}
Adam Eivy
la source
10
Il est important de noter que ce type de norme est vraiment destiné à la transmission et / ou au stockage de données. Ce n'est pas une norme adéquate pour l' analyse des données , et c'est précisément ce sur quoi porte la question.
whuber
-2

La façon dont je le vois personnellement est phalliquement 0 représente généralement une femme, car c'est la forme de l'utérus, et considéré comme féminin ... dans presque toutes les sciences (c'est-à-dire dans les tableaux généalogiques de biologie / génétique), ou les zéros représentent les femmes. Alors que les formes plus droites (triangles, carrés ou 1) ont tendance à représenter le sexe masculin. Cette simple compréhension a rendu facile de toujours se rappeler ce qui est pour moi.

Bien qu'à la fin de la journée, si vous êtes le seul à coder et à analyser les données vous-même, vous pouvez mettre les chiffres que vous voulez, généralement tant qu'il y a une clé pour quelle variable fictive vous avez utilisé pour laquelle, cela devient non pertinent.

Jillian
la source
2
Étrange réponse à une question stupide.
Michael R. Chernick