예를 들어 성별이 일반적으로 1/2이 아닌 0/1로 코딩되는 이유는 무엇입니까?


25

데이터 분석을위한 코딩 논리를 이해합니다. 아래의 내 질문은 특정 코드 사용에 관한 것입니다.

  • 성별이 여성의 경우 0, 남성의 경우 1로 코딩되는 이유가 있습니까?
  • 이 코딩이 왜 '표준'으로 간주됩니까?
  • 이것을 Female = 1 및 Male = 2와 비교하십시오.이 코딩에 문제가 있습니까?

15
0/1 코딩 체계를 사용하는 것은 다른 회귀 모델을 적용 할 때 본질적으로 유용하지만 -1/1과 같은 몇 가지 코딩 체계가 가능하지만 (회귀 계수의 해석이 변경됨). 그러나 데이터 입력 (즉, 실제로 데이터베이스에 넣는 것)과 혼동해서는 안됩니다. 이 경우 전체 라벨을 보관하는 것이 좋습니다. 회귀 모형을 작성할 때이를 수치로 변환하거나 전용 설계 행렬을 작성하십시오. 그렇지 않으면 5 년 동안 0과 1이 무엇을 의미하는지 말씀해 주시기 바랍니다.
chl

데이터베이스에서 성별이 남성, 여성 및 알 수없는 것으로 코딩 된 것을 보았습니다.
Aksakal

2
이 질문은 두 가지 질문으로 혼란스럽게 생각됩니다. 더 큰 문제는 지표 또는 더미 변수에 다른 코드 대신 0-1 코딩을 사용하는 이유입니다. 더 작은 질문은 왜 남성용 1과 여성용 0을 사용하는지에 대한 것입니다. 단 하나의 대답은 여성용 1의 반대 등을 포함하여 다른 많은 코딩이 사용 중이며 알 수없는 성별과 다른 성별 카테고리.
Nick Cox

답변:


38

이진 변수의 일대일 코딩을 선호하는 이유 :

  • 0-1 변수의 평균은 값 1로 표시되는 범주의 비율 (예 : 남성의 비율)을 나타냅니다.
  • 간단한 회귀 에서 는 변수이며 상수는 간단한 해석을합니다 (예 : 는 암컷 의 의 평균입니다 ).x a yy=a+bxxay
  • 두 값 사이의 차이가 1 인 2 진 변수의 코딩 (즉, 0-1, 1-2)은 회귀 계수에 대한 직접적인 해석을 제공합니다 (예 : 는 여성에서 남성으로의 영향) 와이).b

이진 변수를 코딩하는 것에 대한 여러 가지 점 :

  • 범주의 순서를 유지하는 이진 변수의 코딩 (예 : 여성 = 0, 남성 = 1; 여성 = 1, 남성 = 2; 여성 = 1007, 남성 = 2000 등)은 상관 관계에 영향을 미치지 않습니다. 다른 변수와 이진 변수.
  • 이 방법으로 이진 변수를보고하는 테이블은 변수가 어떻게 코딩되었는지 명확하게 보여야합니다. 또한 하나의 값을 나타내는 범주별로 변수에 레이블을 지정하는 것이 유용 할 수 있습니다 (예 : y = a + b * Male대신) y = a + b * Gender.
  • 일부 이진 변수의 경우 한 범주를 더 자연스럽게 코딩해야합니다. 예를 들어, 치료와 제어의 차이를 볼 때 회귀 계수가 치료의 효과로 가장 잘 생각되므로 제어는 0이어야하고 치료는 1이어야합니다.
  • 범주를 뒤집 으면 (예 : female = 0 및 male = 1 대신 female = 1 및 male = 0으로 만들기) 상관 및 회귀 계수의 부호가 반전됩니다.
  • 성별의 경우, 일반적으로 변수 여성 = 0, 남성 = 1, 남성 = 0, 여성 = 1을 코딩하는 자연스러운 이유는 없습니다. 회귀 계수를 양으로 만드는 코딩을 선택하면 해석이 쉬워 질 수 있습니다. 또한 일부 상황에서 한 성별이 참조 범주로 간주 될 수 있습니다. 예를 들어, 남성 지배 직업에서 여성이 소득에 미치는 영향을 연구하고 있다면, 여성의 영향을 이야기하기 위해 male = 0, female = 1을 코딩하는 것이 합리적 일 수 있습니다.
  • 신중한 방법으로 회귀 계수를 스케일링하면 회귀 계수의 해석 가능성에 강력한 영향을 줄 수 있습니다. Andrew Gelman은 이것에 대해 꽤 많이 이야기합니다. 예를 들어 , Statistics in Medicine , 27, 2865-2873 에서 2 가지 표준 편차 (PDF)로 나누어서 그의 2008 년 논문 스케일링 회귀 입력을 참조하십시오 .
  • 남성과 여성을 -1과 +1로 코딩하는 것은 의미있는 계수를 제공 할 수있는 또 다른 옵션입니다 ( "효과 코딩이란 무엇입니까" 참조 ).

18
어, 난 항상 ... 코드 여성 = 0, 남성 = 1이었다 "해부학"로 자연의 이유를 생각
매트 파커에게

2
@ 매트 재미있다. 나는 그렇게 생각하지 않았습니다. 나는 항상 내 예술 학위의 렌즈에 영향을 받았는데, 여기서 당신은 일부 페미니스트들이 남성들이 소유 한 것이 부족하다는 것을 정의한 여성들을 보는 이데올로기를 비판하는 방법에 대해 배웁니다. 이러한 렌즈를 통해 다소 유머러스하게 젠더의 코딩은 정치적 문제가된다 :-)
Jeromy Anglim

13
습관적으로 저는 성별 변수 이름을 항상 "여성"과 같은 이름으로 변경하여 0/1 코딩 체계가 의미하는 바를 명확하게합니다.
Fomite

Jeromy , 별도의 태그 [더미 변수]가 필요한지에 대한 토론 stats.meta.stackexchange.com/a/4881/3277 을보고 의견에 귀하의 프로 / 콘을 말 하시겠습니까?
ttnphns

성 염색체 X와 Y의 쌍을 고려하면, 암컷은 XX를, 수컷은 XY 염색체를 갖습니다. X = 0과 Y = 1을 취하면 female = XX = 00 = 0이고 male = 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 더미 변수를 사용 a하면 여성의 평균 신장은 170, 남성의 평균 신장 b은 10입니다.

1,2 개의 더미 변수를 사용하면 a해석하기 어려운 160 의 추정치를 얻을 수 있습니다.


감사. 나는 새로운 직업의 요구이기 때문에 '빛의 속도'에서 통계를 배우고 있습니다. 이 코딩이 여전히 상관 분석에 적용됩니까?
Adhesh Josh

1
@Adhesh 두 양적 변수 사이의 상관 관계를 의미하는 경우 코딩 문제가 없습니다. 원시 측정 값 만 사용하십시오. 두 질적 변수 사이의 연관성에 관한 질문이라면 새로운 질문을 고려할 수도 있지만 솔직히이 경우에는 어려움이별로 없습니다 (변수 범주에 고르지 않은 간격의 점수를 사용하고 싶지 않다면 이것에 대한 다른 대답이 있습니다) 대지).
chl

4
@Adesh 이진 1/2 또는 0/1을 코딩하면 상관 계수에 영향을 미치지 않습니다. 0/1은 또한 변수의 평균이 어느 것이냐에 따라 남성 또는 여성 비율이 될 수 있다는 장점이 있습니다. 다른 코딩 방식은 다른 유형의 분석을 해석하는 데 유용 할 수 있습니다.
Michael Bishop

2

성별을 저장하는 데 자주 사용되는 필드 유형이 비트 필드이고 SQL의 비트 필드는 0 또는 1의 값만 가질 수 있다고 가정했습니다. 데이터를 덤프하면 0 또는 1로 나오고 그래서 그 특별한 가치를 얻는 이유입니다.

1과 2를 사용하려면 더 큰 필드 유형을 사용해야하므로 더 많은 공간을 차지하므로 전체 데이터베이스를 약간 더 크게 만들어야합니다.


SQL 프로그래머로서 이것은 나의 첫 반응이었습니다. 나는 성별에 0과 1을 사용하는 순수한 수학적 이유에 대해 확신하지 못하지만, 자극의 일부는 가능한 가장 작은 데이터 유형을 사용해야한다는 사실을 알고 있습니다. 업계 표준은 맞춤형으로 개발되었으며 모든 사람들이 줄을 서었습니다. 이에 대한 ANSI 표준 기록을 확인하는 것이 좋습니다. 요즘 DBA가 성별에 바이트 또는 작은 정수 열을 사용하게하여 "기업체"또는 "불확정"과 같은 예외를 나타내지 만 많은 오래된 데이터베이스는 여전히 기존 표준을 반영합니다.
SQLServerSteve

2

교수는 해부학을 반영하기 위해 여성이 0이고 남성이 1 인 "생물학적으로"코딩 할 것을 제안했습니다. 수업에서 말하는 것이 가장 민감한 PC라고 생각하지는 않지만 5 년 후 데이터 세트를 볼 때 기억하기 쉽습니다.


이것은 분명히 질문에 대한 "실제"답변이 아니지만 (아마도 이것이 답변보다 더 많은 주석 일 것입니다), 니모닉은 분명히 많은 사람들이 유용하다고 생각하는 것입니다.
Silverfish

"해부학 적"보다 더 "생물학적"인 나는 ( "이유"가 원래가 아니라 회고 적으로 발명되었다고 생각하지만) 0은 "기본"섹스이므로 여성에게 사용된다는 믿음을 배아 발달 과정에서 여성의 경로는 개입 과정이 배아를 밀어 남성의 경로를 차별화하지 않는 한 취해집니다. 이것은 한때 널리 퍼져 있었지만 이제는 구식으로 간주됩니다 . 여성의 경로도 적극적으로 발동해야합니다.
Silverfish 2019

1
이 경우 남자는 "00"으로 코딩해서는 안됩니다.
Harvey Motulsky

1

많은 이유가 지금까지 게시되었지만 반복적이어야합니다. 왜 1부터 계산을 시작 하시겠습니까? 많은 숫자 알고리즘을 훨씬 더 복잡하게 만듭니다. 라벨링은 1이 아닌 0에서 시작합니다. 아직 확신이 없다면 http://madhadron.com/?p=69 에서 중요한 이유를 알 수 있습니다 .

여성이 0이고 남성이 1 인 이유에 관해서는, 대부분의 역사에서 통계학자는 스트레이트 남성 일 가능성이 있음을 기억하십시오. 섹스의 이름을 물었을 때 가장 먼저 떠오르는 것은 '여자'였습니다. 그 이후의 모든 것은 아마도 역사적인 사고와 합리화 일 것입니다.


-1

ISO / IEC 5218 표준 업데이트 다음지도이 개념 :

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

이것은 JavaScript와 같이 0이 잘못된 값으로 강제되는 언어에서 특히 유용합니다.

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

10
이러한 종류의 표준은 실제로 데이터 전송 및 / 또는 저장을위한 것입니다. 데이터 분석 의 표준으로는 적합하지 않습니다. 이것이 바로 질문에 관한 것입니다.
whuber

-2

제가 개인적으로 보는 방식은 전적으로 0입니다. 자궁의 모양이기 때문에 일반적으로 여성을 나타냅니다. 그리고 거의 모든 과학에서 (즉, 생물학 / 유전학 혈통 차트에서) 원형 또는 0은 여성을 나타냅니다. 직선 모양 (삼각형, 사각형 또는 1)이 남성 성별을 나타내는 경향이있는 경우. 이 간단한 이해는 어느 것이 나에게 어느 것인지 항상 기억하기 쉬워졌습니다.

하루가 끝나고 데이터를 직접 코딩하고 분석하는 경우 원하는 더미 변수에 대한 키가있는 한 일반적으로 원하는 숫자를 입력 할 수 있지만 관련이 없습니다.


2
바보 같은 질문에 이상한 대답.
Michael R. Chernick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.