범주 형 변수에 다중 공선 성이 내재되어 있습니까?


10

다변량 회귀 모델로 땜질을하는 동안 범주 형 변수 범주 에서 분산 인플레이션 계수로 측정 한 것처럼 작지만 눈에 띄는 다중 공선 효과가 있음을 알 수있었습니다 (물론 참조 범주 제외 후).

예를 들어, 연속 변수 y와 k가 가능한 배타적 값을 갖는 하나의 명목 범주 형 변수 x를 가진 데이터 세트가 있다고 가정합니다. 우리는 이러한 코딩 0/1 가변 수는 가능한 값을 . 그런 다음 회귀 모델 합니다. 더미 변수 의 VIF 점수는 0이 아닌 것으로 판명되었습니다. 실제로 카테고리 수가 증가하면 VIF도 증가합니다. 더미 변수를 중심에 놓으면 VIF가 변경되지 않습니다.x 1 , x 2 , , x k y = b 0 + b 1 x 1 + b 2 x 2 + + b k 1 x k 1 k 1kx1,x2,,xky=b0+b1x1+b2x2++bk1xk1k1

직관적 인 설명은 범주 형 변수 내에서 범주의 상호 배타적 인 조건이 이러한 약간의 다중 공선 성을 유발하는 것으로 보입니다. 이것은 사소한 결과입니까, 범주 형 변수를 사용하여 회귀 모형을 작성할 때 고려해야 할 문제입니까?

답변:


8

이 현상을 정확하게 재현 할 수 는 없지만 카테고리 수가 증가함에 따라 VIF가 반드시 증가하는 것은 아님을 증명할 수 있습니다 .

직관은 간단합니다. 범주 형 변수는 적합한 실험 설계로 직교 할 수 있습니다. 따라서 일반적으로 범주 수와 다중 공선 성 사이 에는 관계 가 없어야합니다 .

다음은 R지정 가능한 수의 범주 (두 개의 독립 변수)와 각 범주에 대한 지정 가능한 복제 량으로 범주 형 데이터 집합을 만드는 기능입니다. 그것은 모든 범주의 조합이 동일한 횟수 관찰되는 균형 잡힌 연구를 나타냅니다 .n

trial <- function(n, k1=2, k2=2) {
  df <- expand.grid(1:k1, 1:k2)
  df <- do.call(rbind, lapply(1:n, function(i) df))
  df$y <- rnorm(k1*k2*n)
  fit <- lm(y ~ Var1+Var2, data=df)
  vif(fit)
}

그것을 적용하면 VIF가 항상 가능한 가장 낮은 값인 이며 균형을 반영합니다 (디자인 매트릭스의 직교 열로 변환 됨). 몇 가지 예 :1

sapply(1:5, trial) # Two binary categories, 1-5 replicates per combination
sapply(1:5, function(i) trial(i, 10, 3)) # 30 categories, 1-5 replicates

이는 설계의 불균형이 증가하여 다중 공선 성이 증가하고 있음을 나타냅니다 . 이것을 테스트하려면 라인을 삽입하십시오

  df <- subset(df, subset=(y < 0))

fit줄 앞에 trial. 이렇게하면 데이터의 절반이 무작위로 제거됩니다. 재실행

sapply(1:5, function(i) trial(i, 10, 3))

VIF가 더 이상 과 같지 않다는 것을 보여줍니다 (그러나 VIF는 임의로 VI에 가깝게 유지됩니다). 그들은 여전히 ​​더 많은 범주로 증가하지 않습니다 : 비교 가능한 값을 생성합니다.1sapply(1:5, function(i) trial(i, 10, 10))


2

다항 분포에 내재 된 제약 조건이 있습니다. 즉, 중 하나만 1이되고 나머지는 0이됩니다. 따라서 선형 제약 조건 있습니다. 즉, 이며 여기서 합계는 넘습니다 . 이것이인지하고있는 공선 성 효과입니다. 그것에 대해 이상하거나 방해하는 것은 없습니다.xixi=1x1=1xii1


이 상황과 관련하여 다항 분포가 어떤 관계인지 이해하지 못합니다. 설명해 주시겠습니까?
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.