Например, почему пол обычно кодируется 0/1, а не 1/2?

25

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

  • Есть ли причина, по которой пол часто кодируется как 0 для женщин и 1 для мужчин?
  • Почему эта кодировка считается «стандартной»?
  • Сравните это с Женский = 1 и Мужской = 2. Есть ли проблема с этим кодированием?
Адхеш джош
источник
15
Использование схемы кодирования 0/1 существенно полезно при применении регрессионных моделей среди других, хотя возможны несколько схем кодирования, например, -1/1 (но это изменит интерпретацию коэффициентов регрессии). Однако его не следует путать с вводом данных (то есть с тем, что вы действительно поместили в свою базу данных). В этом случае лучше хранить полные этикетки. Преобразуйте их в числовые значения или создайте специальную матрицу проектирования при построении своей регрессионной модели. В противном случае, я желаю вам удачи, чтобы рассказать, что 0 и 1 за 5 лет.
ЧЛ
Я видел пол в базе данных как мужской, женский и неизвестный.
Аксакал
2
Я думаю, что этот вопрос лучше всего рассматривать как два смешанных вопроса. Более серьезный вопрос - зачем использовать 0-1 кодирование, а не любое другое для индикатора или фиктивной переменной. Меньший вопрос - зачем использовать 1 для мужчины и 0 для женщины, на что один короткий ответ состоит в том, что используется много других кодировок, включая противоположность 1 для женщины и т. Д., А также различные сложные кодировки, допускающие неизвестный пол и для другие гендерные категории.
Ник Кокс

Ответы:

38

Причины, по которым стоит предпочесть кодирование двоичных переменных нулем один:

  • Среднее значение переменной ноль один представляет долю в категории, представленную значением единица (например, процентное соотношение мужчин).
  • В простой регрессии где - переменная ноль-один, константа имеет прямую интерпретацию (например, - среднее значение для женщин).Yзнак равноa+бИксИксaY
  • Любое кодирование двоичной переменной, где разница между двумя значениями равна единице (т. Е. Ноль-один, но также один-два), дает прямую интерпретацию коэффициента регрессии (например, - это эффект перехода от женщины к мужчине на у).б

Различные пункты о кодировании двоичных переменных:

  • Любое кодирование двоичной переменной, которая сохраняет порядок категорий (например, женский = 0, мужской = 1; женский = 1, мужской = 2; женский = 1007, мужской = 2000 и т. Д.) Не повлияет на корреляцию двоичная переменная с другими переменными.
  • Любые таблицы, которые сообщают двоичную переменную таким образом, должны прояснить, как переменная была закодирована. Также может быть полезно пометить переменную категорией, которая представляет значение единицы: например, y = a + b * Maleвместо y = a + b * Gender.
  • Для некоторых бинарных переменных одна категория более естественно должна быть закодирована как одна. Например, если смотреть на разницу между лечением и контролем, контроль должен быть нулевым, а лечение - единым, потому что коэффициент регрессии лучше всего рассматривать как эффект лечения.
  • Переключение категорий (например, создание женского = 1 и мужского = 0, а не женского = 0 и мужского = 1) перевернет знак корреляций и коэффициентов регрессии.
  • В случае пола, как правило, нет естественной причины кодировать переменную female = 0, male = 1, по сравнению с male = 0, female = 1. Однако, соглашение может предложить, что одно кодирование более знакомо читателю; или выбор кода, который делает коэффициент регрессии положительным, может облегчить интерпретацию. Кроме того, в некоторых контекстах один пол может рассматриваться как справочная категория; Например, если вы изучали влияние женщины в профессии, в которой доминируют мужчины, на доход, возможно, имеет смысл кодировать мужчина = 0, а женщина = 1, чтобы говорить о влиянии женщины.
  • Масштабное усреднение коэффициентов регрессии может оказать сильное влияние на интерпретируемость коэффициентов регрессии. Эндрю Гельман обсуждает это совсем немного; см., например, его статью 2008 г. « Масштабирование регрессионных входов путем деления на два стандартных отклонения» (PDF) в « Статистика в медицине» , 27, 2865-2873.
  • Кодирование мужчины и женщины как -1 и +1 является еще одним вариантом, который может обеспечить значимые коэффициенты (см. «Что такое кодирование эффекта» ).
Джером англим
источник
18
Э-э, я всегда думал, что естественной причиной для кодирования женщины = 0, а мужчины = 1 была "анатомия" ...
Мэтт Паркер,
2
@ смешно. Я никогда не думал об этом так. Я всегда находился под влиянием объектива моей степени по искусству, где вас учат тому, как некоторые феминистки критикуют идеологии, которые видят в женщинах отсутствие чего-то одержимого мужчинами. С такой линзой, с юмором, кодирование пола становится политической проблемой :-)
Jeromy Anglim
13
По привычке я всегда меняю имя переменной пола на что-то вроде «Женский», чтобы было понятно, что означает схема кодирования 0/1.
Fomite
Джером, ты захочешь наблюдать за обсуждением stats.meta.stackexchange.com/a/4881/3277 того, нужен ли нам отдельный тег [dummy-переменные], и говорить о своем доводе "против" в комментарии?
ttnphns
Учитывая пару половых хромосом X и Y, у женщин есть ХХ, а у мужчин - XY хромосомы. Взяв X = 0 и Y = 1, мы можем найти, что женщина = XX = 00 = 0 и мужчина = XY = 01 = 1.
Гюрол Чанбек
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 Если вы имеете в виду корреляцию между двумя количественными переменными, тогда нет проблем с кодированием: просто используйте необработанные показатели. Если ваш вопрос касается связи между двумя качественными переменными, то вы можете подумать о том, чтобы задать новый вопрос, но, честно говоря, в этом случае нет особых трудностей (если только вы не хотите использовать неравномерно распределенные оценки для категорий переменных, но на этот вопрос уже были даны ответы в другом месте). сайт).
ЧЛ
4
@Adesh Кодирование двоичного 1/2 или 0/1 поможет вам не влиять на коэффициент корреляции. Преимущество 0/1 также состоит в том, что средним значением переменной будет процент мужчин или женщин, в зависимости от того, какой из них. Другие схемы кодирования могут быть полезны для интерпретации различных типов анализа.
Майкл Бишоп
2

Я предполагал, что это потому, что тип поля, часто используемый для хранения пола, является битовым полем, а битовые поля в SQL могут иметь только значения 0 или 1. Когда вы выгружаете данные, они появляются как 0 или 1, и вот почему вы получаете эти конкретные значения.

Если бы вы хотели использовать 1 и 2, вам нужно было бы использовать больший тип поля, который занимал бы больше места и, следовательно, немного увеличивал бы всю базу данных.

mauvedeity
источник
Как программист SQL, это была моя первая реакция. Я не уверен в каких-либо чисто математических причинах использования 0 и 1 для пола, но я точно знаю, что некоторые стимулы были вызваны необходимостью использовать наименьшие возможные типы данных. Отраслевые стандарты были разработаны на заказ, и все встали на свои места. Возможно, стоит проверить историю стандартов ANSI для этого. В наши дни есть побуждение администраторов баз данных использовать байтовые или целочисленные столбцы для пола, чтобы указать необычные исключения, такие как «корпоративный объект» или «неопределенный», но многие старые базы данных все еще отражают старый стандарт.
SQLServerSteve
2

Я попросил профессора предположить, что мы кодируем «биологически», где женщины равны 0, а мужчины 1 - для отражения анатомии. Я не думаю, что это была самая чувствительная вещь, которую можно сказать о ПК в классе, но определенно легко запомнить, если взглянуть на набор данных 5 лет спустя.

Касси
источник
Это явно не «реальный» ответ на вопрос (возможно, это скорее комментарий, чем ответ), но мнемоника - это тот, который многие люди находят полезным.
Серебряная
Меня учили больше "биологическому", чем "анатомическому" (хотя я подозреваю, что "причина" была изобретена в ретроспективе, а не оригинальной), что 0 используется для женского пола, так как это "пол по умолчанию" - убеждение заключается в том, что в эмбриологическое развитие, женский путь берется, если промежуточные процессы не заставляют эмбрион дифференцироваться по мужскому пути. Когда-то это было широко распространенное убеждение, но в настоящее время считается устаревшим : женский путь также должен быть активно запущен.
Серебряная
1
В этом случае мужчины не должны кодироваться как «00».
Харви Мотульский
1

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

Что касается того, почему женщинам 0, а мужчинам 1, давайте вспомним, что на протяжении большей части своей истории статистик, скорее всего, был мужчиной с натуральной кожей. Когда его попросили назвать пол, первым на ум пришла женщина. Все после этого было, вероятно, исторической случайностью и рационализацией.

user873
источник
-1

Стандарт ISO / IEC 5218 обновляет это понятие следующей картой:

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

Это особенно полезно в языках, где 0 приводит к ложному значению, например в JavaScript:

if ( !user.gender ) {
    promptForGender();
}
Адам Эйви
источник
10
Важно отметить, что этот стандарт действительно предназначен для передачи и / или хранения данных. Он не подходит в качестве стандарта для анализа данных , о чем конкретно идет речь.
whuber
-2

То, как я вижу это лично, фаллически 0 обычно представляет женщину, поскольку это форма матки, и считается женской ... почти во всех науках (то есть в диаграммах родословной биологии / генетики) круги, или нули представляют женщин. Где более прямые формы края (треугольники, квадраты или 1) имеют тенденцию представлять мужской пол. Это простое понимание позволило мне всегда помнить, что для меня.

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

Jillian
источник
2
Странный ответ на глупый вопрос.
Майкл Р. Черник