태그 보관물: categorical-data

categorical-data

n-1 변수를 사용하여 더미 변수를 구현하는 방법은 무엇입니까? 0-3을 사용합니까, 1-3을 사용하고 4를 비워

4 레벨의 변수가있는 경우 이론적으로 3 개의 더미 변수를 사용해야합니다. 실제로 이것은 실제로 어떻게 수행됩니까? 0-3을 사용합니까, 1-3을 사용하고 4를 비워 두나요? 어떤 제안?

참고 : 저는 R에서 일할 것입니다.

업데이트 : AD에 해당하는 1-4를 사용하는 열을 하나만 사용하면 어떻게됩니까? 작동하거나 문제가 발생합니까?



답변

실제로, 선택 소프트웨어는 일반적으로 더미 변수 생성 및 조작을 처리 할 수 ​​있습니다. 여러 가지 방법으로 처리 할 수 ​​있습니다. 여기에는 A, B, C 및 D의 각 수준에서 하나씩 4 개의 관측치가있는 데이터 세트에 대한 몇 가지 일반적인 가능성이 있습니다. 이들은 서로 다른 매개 변수화입니다. 그것들은 정확히 같은 모델에 적합하지만 매개 변수에 대한 해석이 다릅니다. 하나는 기본 대수를 사용하여 쉽게 서로 변환 할 수 있습니다. 그것들은 모두 서로 선형으로 조합되어 있습니다. 실제로, 임의의 선형 조합이 사용될 수있다.

첫 번째 수준과의 차이점을 사용하십시오 (기본값은 R).

A 0 0 0
B 1 0 0
C 0 1 0
D 0 0 1

마지막 수준과의 차이점을 사용하십시오 (SAS의 기본값).

A 1 0 0
B 0 1 0
C 0 0 1
D 0 0 0

“합계”대비를 사용하십시오.

A    1    0    0
B    0    1    0
C    0    0    1
D   -1   -1   -1

“헬멧”대조를 사용하십시오 :

A   -1   -1   -1
B    1   -1   -1
C    0    2   -1
D    0    0    3


답변

변수 수준이 A, B, C 및 D라고 가정합니다. 회귀 분석에 항이 일정하면 3 개의 더미 변수를 사용해야합니다. 그렇지 않으면 4 개가 모두 있어야합니다.

더미 변수를 구현할 수있는 수학적으로 동일한 방법이 많이 있습니다. 회귀 분석에서 항이 일정하면 레벨 중 하나를 “기준선”레벨로 선택하고 다른 3 개를 비교합니다. 구체적으로, 기준선 레벨이 A라고 말하자. 첫 번째 더미 변수는 레벨이 B 일 때마다 값 1을 취하고 그렇지 않으면 0을 취합니다. 두 번째는 레벨이 C이고 0이 아닌 경우에는 값 1을 취하고, 세 번째는 레벨이 D이면 0을, 그렇지 않으면 0을 취합니다. 상수 항은 항상 1이기 때문에 첫 번째 더미 변수의 추정 계수는 레벨 B와 A의 차이의 추정치이며 다른 더미 변수의 경우와 유사합니다.

상수 항이없는 경우 이전 예와 같이 구성된 4 개의 더미 변수 만 사용하고 A 수준에 대해 하나만 추가하면됩니다.


답변

R에서 변수를 요인으로 정의하면 다음과 같이 구현됩니다.

x <- as.factor(sample(LETTERS[1:4], 20, replace = TRUE))
y <- rnorm(20)
lm (y ~ x)

어떤 반환

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)           xB           xC           xD
     1.0236      -0.6462      -0.9466      -0.4234  

R의 ‘lm’, ‘factor’및 ‘formula’에 대한 문서는 일부 세부 사항을 채 웁니다.


답변

whuber는 더미 변수를 만드는 대신 0-3 또는 1-4 코딩을 코딩하는 것이 원하는 것이 아니라고 의견에서 말했습니다. 이것은 시도입니다-나는 당신이 그 모델로 무엇을 할 것인지 그리고 왜 그것이 틀렸는 지 희망적으로 설명해야합니다.

변수 X를 코딩하면 A와 X = 1, B와 X = 2, C와 X = 3, D와 X = 4이면 회귀 분석을 수행 할 때 하나의 매개 변수 만 얻게됩니다. X와 관련된 추정 된 매개 변수가 2 였다고 가정 해 봅시다. 이것은 B의 평균과 A의 평균 사이의 예상 차이가 2라는 것을 알려줄 것입니다. 또한 C의 평균 사이의 예상 차이가 있음을 알려줍니다 B의 평균은 2입니다. D와 C의 경우 일부입니다. 이러한 그룹의 평균 차이가이 엄격한 패턴을 따르도록 강요 할 것입니다. 이 매개 변수는 모든 그룹의 의미가 정확히 어떤 관계인지 알려줍니다.

따라서 이러한 종류의 코딩을 수행 한 경우 순서가 정확할뿐 아니라 (이 경우 A에서 B로 증가 할 것으로 예상되는 경우 B에서 C로, C에서 증가 할 것으로 예상되므로) 가정해야합니다. D)에 차이가 있지만 그 차이가 같다고 가정해야합니다!

대신 제안 된 더미 코딩을 수행하면 각 그룹에 고유 한 의미를 부여 할 수 있습니다. 제한이 없습니다. 이 모델은 훨씬 더 현명하며 원하는 질문에 대답합니다.


답변