Perché il genere è in genere codificato 0/1 anziché 1/2, ad esempio?


25

Comprendo la logica della codifica per l'analisi dei dati. La mia domanda che segue è sull'uso di un codice specifico.

  • C'è un motivo per cui il genere è spesso codificato come 0 per la femmina e 1 per il maschio?
  • Perché questa codifica è considerata "standard"?
  • Confronta questo con Female = 1 e Male = 2. C'è un problema con questa codifica?

15
L'uso di uno schema di codifica 0/1 è essenzialmente utile quando si applicano tra l'altro modelli di regressione, sebbene siano possibili diversi schemi di codifica, ad esempio -1/1 (ma cambierà l'interpretazione dei coefficienti di regressione). Tuttavia, non deve essere confuso con l'inserimento dei dati (ovvero, ciò che si inserisce realmente nel database). In questo caso, è meglio conservare le etichette complete. Convertili in valori numerici o crea una matrice di progettazione dedicata quando costruisci il tuo modello di regressione. Altrimenti, ti auguro buona fortuna per dire cosa rappresentano gli 0 e 1 tra 5 anni.
chl

Ho visto il genere codificato nel database come maschio, femmina e sconosciuto.
Aksakal,

2
Penso che questa domanda sia meglio considerata come due domande confuse. La domanda più ampia è perché usare la codifica 0-1 piuttosto che qualsiasi altra per un indicatore o una variabile fittizia. La domanda più piccola è perché usare 1 per maschio e 0 per femmina, a cui una breve risposta è che sono in uso molte altre codifiche, incluso l'opposto di 1 per femmina, ecc., E anche varie codifiche complesse che consentono il genere sconosciuto e per altre categorie di genere.
Nick Cox,

Risposte:


38

Motivi per preferire la codifica zero-one delle variabili binarie:

  • La media di una variabile zero-one rappresenta la proporzione nella categoria rappresentata dal valore one (ad esempio, la percentuale di maschi).
  • In una semplice regressione dove è la variabile zero-uno, la costante ha un'interpretazione semplice (ad esempio, è la media di per le femmine).x a yy=a+bxxay
  • Qualsiasi codifica di una variabile binaria in cui la differenza tra i due valori è uno (cioè zero-uno, ma anche uno-due) fornisce un'interpretazione semplice del coefficiente di regressione (ad esempio, è l'effetto di passare da femmina a maschio su y).b

Punti assortiti sulla codifica delle variabili binarie:

  • Qualsiasi codifica di una variabile binaria che preserva l'ordine delle categorie (ad es. Femmina = 0, maschio = 1; femmina = 1, maschio = 2; femmina = 1007, maschio = 2000; ecc.) Non influirà sulla correlazione del variabile binaria con altre variabili.
  • Qualsiasi tabella che riporta una variabile binaria in questo modo dovrebbe chiarire come è stata codificata la variabile. Può anche essere utile etichettare la variabile in base alla categoria che rappresenta il valore di uno: ad esempio, y = a + b * Maleanziché y = a + b * Gender.
  • Per alcune variabili binarie, una categoria più naturalmente dovrebbe essere codificata come una. Ad esempio, quando si osserva la differenza tra trattamento e controllo, il controllo dovrebbe essere zero e il trattamento dovrebbe essere uno, poiché il coefficiente di regressione è meglio considerato come l'effetto del trattamento.
  • Capovolgendo le categorie (ad es., Rendendo femminile = 1 e maschio = 0, anziché femmina = 0 e maschio = 1), il segno delle correlazioni e dei coefficienti di regressione verrà invertito.
  • Nel caso del genere, in genere non esiste un motivo naturale per codificare la variabile femminile = 0, maschio = 1, contro maschio = 0, femmina = 1. Tuttavia, la convenzione può suggerire che una codifica sia più familiare a un lettore; o la scelta di una codifica che renda positivo il coefficiente di regressione può facilitare l'interpretazione. Inoltre, in alcuni contesti, un genere può essere considerato la categoria di riferimento; per esempio, se stavi studiando l'effetto dell'essere donna in una professione dominata dagli uomini sul reddito, potrebbe avere senso codificare maschio = 0 e femmina = 1, per parlare dell'effetto dell'essere femmina.
  • Il ridimensionamento dei coefficienti di regressione in modi ponderati può avere un forte effetto sull'interpretazione dei coefficienti di regressione. Andrew Gelman ne discute un bel po '; vedi per esempio il suo documento del 2008 Scaling input di regressione dividendo per due deviazioni standard (PDF) in Statistics in Medicine , 27, 2865-2873.
  • Codificare maschio e femmina come -1 e +1 è un'altra opzione che può fornire coefficienti significativi (vedi "cos'è la codifica degli effetti" ).

18
Ho sempre pensato che la ragione naturale per codificare femmina = 0 e maschio = 1 fosse "anatomia" ...
Matt Parker,

2
@matt divertente. Non ci avevo mai pensato in quel modo. Sono sempre stato influenzato dall'obiettivo della mia laurea in Arte, in cui ti viene insegnato come alcune femministe criticano le ideologie che vedono le donne definite dalla mancanza di qualcosa posseduto dai maschi. Attraverso una tale lente, in qualche modo umoristica, la codifica del genere diventa un problema politico :-)
Jeromy Anglim

13
Come abitudine, cambio sempre il nome di una variabile di genere in qualcosa come "Femmina", per chiarire cosa significa uno schema di codifica 0/1.
Fomite,

Jeromy, vorresti osservare la discussione stats.meta.stackexchange.com/a/4881/3277 se abbiamo bisogno di un tag separato [variabili fittizie] e dire il tuo pro / contro in un commento?
ttnphns,

Considerando la coppia di cromosomi sessuali X e Y, le femmine hanno XX e i maschi hanno cromosomi XY. Prendendo X = 0 e Y = 1, possiamo trovare che femmina = XX = 00 = 0 e maschio = XY = 01 = 1.
Gürol Canbek,

14

Semplifica l'interpretazione dei risultati. Supponiamo di avere alcuni dati di altezza:

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

e hai preso una regressione del modulo Height = a + b * Gender + Residual.

Con la variabile fittizia 0,1 otterresti una stima di a170 che è l'altezza media delle donne e bdi 10 che è la differenza tra le altezze medie degli uomini e delle donne.

Con la variabile fittizia 1,2 otterresti una stima adi 160 che è più difficile da interpretare.


Grazie. Sto imparando le statistiche alla "velocità della luce" perché è un requisito per il mio nuovo lavoro. Questa codifica si applicherebbe ancora all'analisi di correlazione.
Adhesh Josh,

1
@Adhesh Se intendi la correlazione tra due variabili quantitative, allora non c'è nessun problema di codifica: usa solo le misure grezze. Se la tua domanda riguarda l'associazione tra due variabili qualitative, potresti prendere in considerazione l'idea di fare una nuova domanda, ma francamente non ci sono molte difficoltà in questo caso (a meno che tu non voglia usare punteggi spaziati in modo non uniforme per le categorie di variabili, ma questo è stato risposto altrove su questo posto).
chl

4
@Adesh La codifica di un binario 1/2 o 0/1 non influirà sul coefficiente di correlazione. 0/1 ha anche il vantaggio che la media della variabile sarebbe la percentuale di maschio o femmina, a seconda di quale sia quale. Altri schemi di codifica possono essere utili per interpretare diversi tipi di analisi.
Michael Bishop,

2

Avevo supposto che ciò fosse dovuto al fatto che il tipo di campo spesso utilizzato per archiviare il genere è un campo bit e i campi bit in SQL possono avere solo i valori 0 o 1. Quando si scaricano i dati, questi vengono visualizzati come 0 o 1 e quindi è per questo che ottieni quei valori particolari.

Se si desidera utilizzare 1 e 2, è necessario utilizzare un tipo di campo più grande, che occuperebbe più spazio e quindi rendere l'intero database leggermente più grande.


Come programmatore SQL questa è stata anche la mia prima reazione. Non sono sicuro di qualsiasi motivo matematico puro per l'utilizzo di 0 e 1 per il genere, ma so per certo che alcuni degli impulsi derivano dalla necessità di utilizzare i tipi di dati più piccoli possibili. Gli standard di settore sono stati sviluppati su misura e tutti si sono allineati. Potrebbe essere utile verificare la cronologia degli standard ANSI per questo. In questi giorni c'è una spinta per indurre i DBA a usare byte o piccole colonne intere per il genere, per indicare eccezioni insolite come "entità aziendale" o "indeterminata", ma molti vecchi database riflettono ancora il vecchio standard.
SQLServerSteve

2

Un professore mi ha suggerito di codificare "biologicamente" con donne che sono 0 e uomini che sono 1 - per riflettere l'anatomia. Non penso sia stata la cosa più delicata, o PC, da dire in una classe, ma sicuramente facile da ricordare quando si guarda un set di dati 5 anni dopo.


Questa chiaramente non è la risposta "reale" alla domanda (forse è più un commento che una risposta), ma il mnemonico è chiaramente quello che molte persone trovano utile.
Silverfish,

Più "biologico" che "anatomico", mi è stato insegnato (anche se sospetto che la "ragione" sia stata inventata in retrospettiva, piuttosto che essere l'originale) che 0 è usato per la donna in quanto è il sesso "predefinito" - la convinzione è che in sviluppo embriologico, viene presa la via femminile a meno che i processi che intervengono spingano l'embrione a differenziarsi lungo la via maschile. Una volta era una credenza diffusa, ma ora è considerata obsoleta : anche il percorso femminile deve essere attivato attivamente.
Silverfish,

1
In questo caso, gli uomini non dovrebbero essere codificati come "00".
Harvey Motulsky,

1

Finora sono state pubblicate molte buone ragioni, ma dovrebbe anche essere riflessiva. Perché dovresti iniziare a contare a 1? Rende molti algoritmi numerici molto più complicati. L'etichettatura inizia da 0, non 1. Se non ne sei ancora convinto, ho un bell'esempio del perché è importante su http://madhadron.com/?p=69

Per quanto riguarda il motivo per cui le donne sono 0 e gli uomini sono 1, ricordiamo che per gran parte della sua storia, uno statistico era probabilmente un maschio etero. Quando è stato chiesto di nominare un sesso, il primo che mi è venuto in mente è stato "donna". Tutto ciò che seguì fu probabilmente un incidente storico e una razionalizzazione.


-1

Lo standard ISO / IEC 5218 aggiorna questa nozione con la seguente mappa:

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

Ciò è particolarmente utile nelle lingue in cui 0 costringe a un valore falso, come in JavaScript:

if ( !user.gender ) {
    promptForGender();
}

10
È importante notare che questo tipo di standard è realmente per la trasmissione e / o l' archiviazione dei dati. Non è adeguato come standard per l' analisi dei dati , che è esattamente la questione.
whuber

-2

Il modo in cui la vedo personalmente è fallicamente 0 in genere rappresenta la femmina, in quanto è la forma dell'utero, ed è considerata femminile ... in quasi tutti i circoli delle scienze (vale a dire in biologia / genetica) o gli zeri rappresentano le femmine. Dove più forme di bordi diritti (triangoli, quadrati o 1) tendono a rappresentare il genere maschile. Questa semplice comprensione ha reso facile ricordare sempre quale è per me.

Anche se alla fine della giornata, se sei l'unico che codifica e analizza i dati da solo, puoi inserire tutti i numeri che vuoi, generalmente finché c'è una chiave su quale variabile fittizia hai usato per cui, diventa irrilevante.


2
Strana risposta a una domanda stupida.
Michael R. Chernick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.