Чому, наприклад, стать зазвичай кодується 0/1, а не 1/2?


25

Я розумію логіку кодування для аналізу даних. Моє запитання нижче стосується використання певного коду.

  • Чи є причина, чому стать часто кодується як 0 для жіночої та 1 для чоловічої?
  • Чому це кодування вважається "стандартним"?
  • Порівняйте це з Жіноча = 1 та Чоловіча = 2. Чи є проблема з цим кодуванням?

15
Використання схеми кодування 0/1 по суті корисно при застосуванні регресійних моделей серед інших, хоча можливі кілька схем кодування, наприклад, -1/1 (але це змінить інтерпретацію коефіцієнтів регресії). Однак це не слід плутати з введенням даних (тобто тим, що ви дійсно поміщаєте у свою базу даних). У цьому випадку краще зберігати повні етикетки. Перетворіть їх у числові значення або побудуйте виділену матрицю дизайну, коли будуєте свою регресійну модель. В іншому випадку я бажаю вам удачі, щоб розповісти, що означає "0 і 1" протягом 5 років.
chl

Я бачив стать, кодовану в базі даних, як чоловіка, жінки та невідомого.
Аксакал

2
Я думаю, що це питання найкраще розглядати як заплутане два питання. Питання більш важливе, чому використовувати кодування 0-1, а не будь-яке інше, для індикатора чи фіктивних змінних. Менше питання полягає в тому, чому використовувати 1 для чоловіків та 0 для жінок, на що одна коротка відповідь - це те, що багато інших кодувань використовуються, включаючи протилежну 1 для жіночої тощо, а також різні складні кодування, що дозволяють невідомої статі та для інші гендерні категорії.
Нік Кокс

Відповіді:


38

Причини віддавати перевагу нульовому кодуванню бінарних змінних:

  • Середнє значення змінної нуля один являє собою пропорцію в категорії, представлене значенням один (наприклад, відсоток чоловіків).
  • У простій регресії де x - нульова величина, константа має прямолінійну інтерпретацію (наприклад, a - середнє значення y для жінок).у=а+бххау
  • Будь-яке кодування двійкової змінної, де різниця між двома значеннями одна (тобто нуль-одне, але також одне-два), дає прямолінійну інтерпретацію коефіцієнта регресії (наприклад, - ефект переходу від жінки до чоловіка на у).б

Різні точки щодо кодування бінарних змінних:

  • Будь-яке кодування бінарної змінної, що зберігає порядок категорій (наприклад, жінка = 0, чоловік = 1; жінка = 1, чоловік = 2; жінка = 1007, чоловік = 2000; і т.д.), не вплине на кореляцію двійкова змінна з іншими змінними.
  • Будь-які таблиці, які повідомляють про двійкову змінну таким чином, повинні давати зрозуміти, як кодова змінна. Також може бути корисно позначити змінну категорією, яка представляє значення одиниці: наприклад, y = a + b * Maleа не y = a + b * Gender.
  • Для деяких бінарних змінних одна натуральна категорія повинна бути кодована як одна. Наприклад, дивлячись на різницю між лікуванням та контролем, контроль повинен дорівнювати нулю, а лікування - один, оскільки найкращим вважається коефіцієнт регресії як ефект від лікування.
  • Перегортання категорій (наприклад, зробити жіноче = 1 і чоловіче = 0, а не жіноче = 0 і чоловіче = 1) переверне знак кореляцій та коефіцієнтів регресії.
  • Що стосується статі, як правило, немає природних причин кодувати змінну жінки = 0, чоловіка = 1, проти чоловіка = 0, жінки = 1. Однак конвенція може запропонувати одне кодування більш знайоме читачеві; або вибір кодування, який робить коефіцієнт регресії позитивним, може полегшити інтерпретацію. Крім того, в деяких контекстах одна стать може вважатися референтною категорією; Наприклад, якщо ви вивчали вплив того, як жінка в професії, де переважають чоловіки, на дохід, можливо, має сенс кодувати чоловіка = 0, а жінки = 1, щоб говорити про вплив жінки.
  • Коефіцієнти регресії масштабування продуманими способами можуть мати потужний вплив на інтерпретацію коефіцієнтів регресії. Ендрю Гельман обговорює це досить мало; див., наприклад, його статтю про регресію масштабування в статті 2008 р. шляхом поділу на два стандартних відхилення (PDF) у « Статистика статистики» , 27, 2865-2873.
  • Кодування чоловіків і жінок як -1 і +1 - це ще один варіант, який може забезпечити значущі коефіцієнти (див. "Що таке кодування ефекту" ).

18
Так, я завжди вважав, що природним приводом для кодування жінки = 0, а чоловіка = 1 є "анатомія" ...
Метт Паркер

2
@matt смішно. Я ніколи не думав про це так. На мене завжди впливав об'єктив мого ступеня мистецтва, де вас навчають про те, як деякі феміністки критикують ідеології, які бачать жінок, визначених відсутністю чогось, чим володіють чоловіки. Через такий об'єктив, трохи жартівливо, кодування гендеру стає політичною проблемою :-)
Джеромі Англім

13
Як звичка, я завжди змінюю ім’я змінної статі на щось на зразок "Жіноче", щоб зрозуміти, що означає схема кодування 0/1.
Фоміт

Джеромі, чи хочеш ти спостерігати за обговоренням stats.meta.stackexchange.com/a/4881/3277 про те, чи потрібен нам окремий тег [фіктивна змінна] і сказати твій про / кон у коментарі?
ttnphns

Розглядаючи пари статевих хромосом X і Y, жінки мають XX, а чоловіки - XY хромосоми. Беручи X = 0 і Y = 1, ми можемо виявити, що жінка = XX = 00 = 0, а самець = XY = 01 = 1.
Gürol Canbek

14

Це полегшує інтерпретацію результатів. Припустимо, у вас були деякі дані про висоту:

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

і ви взяли регрес форми Height = a + b * Gender + Residual.

За допомогою змінної 0,1 манекена ви отримаєте оцінку: a170 - це середній зріст жінок, а b10 - різниця середнього зросту серед чоловіків і жінок.

За допомогою змінної 1,2 манекена ви отримаєте оцінку a160, що важче інтерпретувати.


Спасибі. Я вивчаю статистику зі швидкістю світла, тому що це вимога моєї нової роботи. Чи все-таки це кодування застосовується до кореляційного аналізу.
Adhesh Josh

1
@Adhesh Якщо ви маєте на увазі кореляцію між двома кількісними змінними, то проблеми кодування немає: просто використовуйте необроблені заходи. Якщо ваше питання стосується асоціації між двома якісними змінними, ви можете розглянути питання про нове запитання, але, відверто кажучи, в цьому випадку не складе великих труднощів (якщо ви не хочете використовувати нерівномірно розміщені бали для категорій змінних, але на це відповіді в іншому місці сайт).
chl

4
@Adesh Кодування двійкового 1/2 або 0/1 дозволить вам не вплинути на ваш коефіцієнт кореляції. Перевага 0/1 також має перевагу в тому, що середнє значення змінної складе відсоток чоловіка чи жінки, залежно від того, що це. Інші схеми кодування можуть бути корисні для інтерпретації різних типів аналізу.
Михайло Єпископ

2

Я припускав, що це тому, що тип поля, який часто використовується для зберігання статі, - це бітове поле, і бітові поля в SQL можуть мати лише значення 0 або 1. Коли ви скидаєте дані, вони виходять як 0 або 1, і тому ви отримуєте саме ці значення.

Якщо ви хочете використовувати 1 і 2, вам доведеться використовувати більш великий тип поля, який займе більше місця і, таким чином, зробить всю базу даних трохи більшою.


Як програміст SQL це була моя перша реакція. Я не впевнений у будь-яких чисто математичних причинах використання 0 і 1 для статі, але я знаю, що деякі з поштовхів виникли через необхідність використання найменших можливих типів даних. Загальновиробничі стандарти були розроблені з урахуванням звичаїв, і всі впали в чергу. Для цього можливо варто перевірити історію стандартів ANSI. Сьогодні існує потреба в тому, щоб DBA використовувати байт або малі цілі стовпці для гендерної ознаки, щоб вказати на незвичні винятки, такі як "корпорація" чи "невизначеність", але багато старих баз даних все ще відображають старий стандарт.
SQLServerSteve

2

У мене професор припускає, що ми кодуємо "біологічно", а жінки - 0, а чоловіки - 1 - для відображення анатомії. Я не думаю, що це було найчутливішим або персональним ПК, що можна сказати в класі, але, безумовно, легко запам’ятати, дивлячись на набір даних через 5 років.


Це явно не є "справжньою" відповіддю на питання (можливо, це скоріше коментар, ніж відповідь), але мнемонічне явно те, що багато людей вважають корисним.
Срібна рибка

Мене вчили більше "біологічного", ніж "анатомічного" (хоча я підозрюю, що "причина" була винайдена заднім числом, а не оригіналом), що 0 використовується для жінки, оскільки це "секс за умовчанням" - віра в те, що в ембріологічний розвиток, жіночий шлях приймається, якщо втручаються процеси не підштовхують ембріона до диференціації вниз по чоловічому шляху. Колись це було поширеним переконанням, але зараз вважається застарілим : жіночий шлях також потрібно активно запускати.
Срібна рибка

1
У цьому випадку не слід чоловіків кодувати як "00".
Харві Мотульський

1

Поки що викладено багато вагомих причин, але це також має бути рефлексивним. Чому б ви почали рахувати з 1? Це робить багато чисельних алгоритмів набагато складнішими. Маркування починається з 0, а не 1. Якщо ви ще не впевнені в цьому, у мене є прекрасний приклад того, чому це важливо на http://madhadron.com/?p=69

Щодо того, чому жінкам 0, а чоловікам - 1, згадаймо, що протягом більшої частини його історії статистик, ймовірно, був прямим чоловіком. Коли його попросили назвати стать, першою, яка прийшла в голову, була «жінка». Все після цього було, мабуть, історичною аварією та раціоналізацією.


-1

Стандарт ISO / IEC 5218 оновлює це поняття наступною картою:

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

Це особливо корисно для мов, де 0 примушує до помилкового значення, наприклад у JavaScript:

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

10
Важливо зауважити, що подібний стандарт дійсно є для передачі та / або зберігання даних. Це не є адекватним стандартом для аналізу даних , саме про це конкретно йдеться.
whuber

-2

Оскільки я особисто бачу це фалічно 0 зазвичай представляє саму жінку, оскільки вона є формою утроби і вважається жіночою ... майже в усіх науках (тобто в діаграмах родоводу біології / генетики) кола або нулі представляють жінок. Де більш прямі фігури (трикутники, квадрати або 1s), як правило, представляють чоловічу стать. Це просте розуміння дозволило легко запам'ятати, що саме для мене.

Хоча в кінці дня, якщо ви самі кодуєте та аналізуєте дані, ви можете вводити будь-які цифри, які ви хочете, як правило, доки є ключ, до якої макетної змінної ви користувались, це стає неважливим.


2
Дивна відповідь на дурне запитання.
Майкл Р. Черник
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.