Devriez-vous jamais standardiser des variables binaires?

25

J'ai un ensemble de données avec un ensemble de fonctionnalités. Certains d'entre eux sont binaires actif ou renvoyé, inactif ou dormant), et les autres ont une valeur réelle, par exemple .(1=0=4564.342

Je veux alimenter ces données à un algorithme d'apprentissage automatique, donc je -score toutes les fonctionnalités réelles. Je les fais entre les plages et environ. Maintenant, les valeurs binaires sont également notées , donc les zéros deviennent et ceux deviennent .z3-2z-0,2220,5555

La normalisation de variables binaires comme celle-ci a-t-elle un sens?

siamii
la source

Réponses:

14

La standardisation des variables binaires n'a aucun sens. Les valeurs sont arbitraires; ils ne signifient rien en eux-mêmes. Il peut y avoir une justification pour le choix de certaines valeurs comme 0 et 1, en ce qui concerne les problèmes de stabilité numérique, mais c'est tout.

gung - Réintégrer Monica
la source
et s'ils se situaient entre 0 et 100. Comme je l'ai dit, ils signifient des choses comme "reconnu un visage" et "visage non reconnu", et 0-100 signifie le niveau de confiance. Est-il sensé de z-marquer cela?
siamii
Votre exemple 0-100 ressemble à une note ordinale. Il y a un peu de détails sur la meilleure façon de gérer cette situation et cela a été assez discuté sur CV. Recherchez la balise ordinale pour en savoir plus.
gung - Reinstate Monica
eh bien, le problème est que seules certaines des variables sont comprises entre 0 et 100. D'autres sont par exemple -400 - +400
siamii
Quel est le problème avec ça? Est-ce un problème de stabilité numérique?
gung - Réintègre Monica
peut-être, suggérez-vous que je ne fais pas de z-score?
siamii
14

Une variable binaire avec des valeurs 0, 1 peut (généralement) être mise à l'échelle (valeur - moyenne) / SD, qui est probablement votre score z.

La contrainte la plus évidente à ce sujet est que si vous obtenez tous les zéros ou tous les uns, le fait de brancher SD aveuglément signifierait que le score z est indéterminé. Il y a lieu d'affecter également le zéro dans la mesure où la valeur - la moyenne est identique à zéro. Mais beaucoup de choses statistiques n'auront pas beaucoup de sens si une variable est vraiment une constante. Plus généralement, cependant, si l'écart-type est faible, il y a plus de risques que les scores soient instables et / ou mal déterminés.

Un problème pour donner une meilleure réponse à votre question est précisément quel "algorithme d'apprentissage automatique" vous envisagez. Il semble que ce soit un algorithme qui combine des données pour plusieurs variables, et il est donc généralement logique de les fournir à des échelles similaires.

(PLUS TARD) Alors que l'affiche originale ajoute des commentaires un par un, leur question se transforme. Je considère toujours que (valeur - moyenne) / SD a du sens (c'est-à-dire n'est pas absurde) pour les variables binaires tant que le SD est positif. Cependant, la régression logistique a été nommée plus tard comme application et pour cela il n'y a aucun gain théorique ou pratique (et en fait une certaine perte de simplicité) à autre chose que d'introduire des variables binaires à 0, 1. Votre logiciel devrait être capable de bien gérer cette; sinon, abandonnez ce logiciel au profit d'un programme qui le peut. En ce qui concerne la question du titre: peut, oui; devrait, non.

Nick Cox
la source
3
La réponse courte est que cela ne signifie rien de différent et je ne vois aucune raison pour laquelle changer 0, 1 en z-scores aidera quoi que ce soit dans cette situation. Pour vous en convaincre, essayez-le dans les deux sens et voyez que rien ne change.
Nick Cox
3
Au contraire, je pense que la plupart des gens utiliseraient 0, 1 ici.
Nick Cox
1
Lorsque vous effectuez une régression logistique, le logiciel effectuera presque sûrement la standardisation sous le capot (pour obtenir de meilleures propriétés numériques). C'est donc une bonne idée de garder l'indicateur binaire exprimé de manière significative. La normaliser ne semble ni bonne ni utile.
whuber
1
Toute méthode d'apprentissage automatique qui vous oblige à «standardiser» les prédicteurs binaires est suspecte.
Frank Harrell
2
Puisque c'est votre propre implémentation, personne d'autre n'a de base pour vous donner une réponse objective! Vous devez examiner comment votre logiciel traite les données afin de décider si la normalisation antérieure a un sens.
whuber
3

Un bel exemple où il peut être utile de standardiser d'une manière légèrement différente est donné dans la section 4.2 de Gelman et Hill ( http://www.stat.columbia.edu/~gelman/arm/ ). C'est surtout lorsque l'interprétation des coefficients est intéressante, et peut-être quand il n'y a pas beaucoup de prédicteurs.

Là, ils standardisent une variable binaire (avec une proportion égale de 0 et 1) par

X-μX2σX,
σ±0,5X=0X=1σX
L'élève de Gosset
la source
Veuillez expliquer "avec une proportion égale de 0 et 1" car les variables binaires que je vois sont rarement comme ça.
Nick Cox
Je ne pense pas que la proportion fera réellement une différence, ils l'utilisent simplement pour rendre l'exemple plus propre.
Étudiant de Gosset le
1

Que voulez-vous standardiser, une variable aléatoire binaire ou une proportion?

Oui:SROui{0,1}

X[0,1]XR+

QAChip
la source
0

Dans la régression logistique, les variables binaires peuvent être standardisées pour les combiner avec des variables continues lorsque vous voulez leur donner à tous un a priori non informatif tel que N ~ (0,5) ou Cauchy ~ (0,5). La normalisation est conseillée comme suit: prendre le nombre total et donner

1 = proportion de 1

0 = 1 - proportion de 1.

-----

Edit: En fait je n'avais pas du tout raison, ce n'est pas une standardisation mais un décalage pour être centré sur 0 et différer de 1 dans les conditions inférieure et supérieure, disons qu'une population est de 30% avec l'entreprise A et 70% autre, on peut définir la variable centrée "Société A" pour prendre les valeurs -0,3 et 0,7.

Carlos ST
la source
Ne peut pas donner un sens à cela en tant que normalisation.
Michael R. Chernick