나는 똑같은 질문에 부딪 쳤고 내 방식대로 노력했다. 아래의 자세한 답변을 참조하십시오.
우선, R에서 비슷한 VIF 값을 생성하는 4 가지 옵션을 발견했습니다.
• corvif
AED 패키지의 명령
• vif
차 패키지의 명령,
• vif
rms 패키지의 명령
• vif
DAAG 패키지의 명령.
요인 / 범주 형 변수 또는 다항식 항을 포함하지 않는 일련의 예측 변수에 이러한 명령을 사용하는 것은 매우 어려운 일입니다. corvif
AED 패키지 의 명령이 결과에 GVIF로 레이블을 지정 하더라도 세 명령 모두 동일한 숫자 출력을 생성합니다 .
그러나 일반적으로 GVIF는 요인 및 다항식 변수에만 작용합니다. 둘 이상의 계수를 필요로하고 따라서 자유도가 1보다 큰 변수는 일반적으로 GVIF를 사용하여 평가됩니다. 1 계수 항에서 VIF는 GVIF와 같습니다.
따라서 3, 5 또는 10 임계 값과 같은 공선 성이 문제인지에 대한 표준 경험 규칙을 적용 할 수 있습니다. 그러나 약간의주의가 필요할 수 있습니다 ( http://www.nkd-group.com/ghdash/mba555/PDF/VIF%20article.pdf 참조 ).
예를 들어 범주 형 예측 변수와 같이 다중 계수 항의 경우 4 개의 패키지는 다른 출력을 생성합니다. vif
rms 및 DAAG 패키지 의 명령은 VIF 값을 생성하는 반면 다른 두 명령은 GVIF 값을 생성합니다.
먼저 rms 및 DAAG 패키지의 VIF 값을 살펴 보겠습니다.
TNAP ICE RegB RegC RegD RegE
1.994 2.195 3.074 3.435 2.907 2.680
TNAP 및 ICE는 연속 예측 변수이며 Reg는 인형 RegB가 RegE에 제공하는 범주 형 변수입니다. 이 경우 RegA가 기준입니다. 모든 VIF 값은 다소 적당하며 일반적으로 걱정할 필요가 없습니다. 이 결과의 문제점은 범주 형 변수의 기준선에 영향을 받는다는 것입니다. VIF 값이 허용 가능한 수준을 초과하지 않도록하려면 범주 형 변수의 모든 수준에 대해이 분석을 기준선으로 다시 실행해야합니다. 이 경우 5 번.
corvif
AED 패키지의 vif
명령 또는 자동차 패키지 의 명령을 적용하면 GVIF 값이 생성됩니다.
| GVIF | Df | GVIF^(1/2Df) |
TNAP | 1.993964 | 1 | 1.412078 |
ICE | 2.195035 | 1 | 1.481565 |
Reg | 55.511089 | 5 | 1.494301 |
GVIF는 더미 회귀 기 세트와 같은 관련 회귀 기 세트에 대해 계산됩니다. 두 개의 연속 변수 TNAP 및 ICE의 경우 이는 이전 VIF 값과 동일합니다. 범주 형 변수 Reg의 경우 범주 형 변수의 단일 수준에 대한 VIF 값이 모두 중간 수준이지만 위와 같이 GVIF 값이 매우 높습니다.
G V나는에프( 1 / ( 2 × D F) )G V나는에프( 1 / (2 × D F) )범주 형 변수의 값은 공선 성으로 인한 계수 추정의 정밀도 감소에 대한 유사한 측정치입니다 (인용 준비가되지 않았지만 http://socserv2.socsci.mcmaster.ca/jfox/papers/linear- models-problems.pdf ).
지V나는에프( 1/ ( 2 × D)F))지V나는에프( 1 / ( 2 × D)F) )
G V나는에프( 1 / ( 2 × D F) )G V나는에프( 1 / ( 2 × D F) )G V나는에프(2) ( 1 / ( 2 × D F) )< 2