변수 선택을 수행 할 때 다중 공선 성을 다루는 방법은 무엇입니까?


28

9 개의 연속 독립 변수가있는 데이터 세트가 있습니다. 모델을 단일 백분율 (종속) 변수에 맞추기 위해 이러한 변수 중에서 선택하려고합니다 Score. 불행히도, 나는 여러 변수 사이에 심각한 공선 성이 있음을 알고 있습니다.

stepAIC()변수 선택을 위해 R 의 함수를 사용해 보았지만 그 방법은 변수가 방정식에 나열된 순서에 민감한 것 같습니다 ...

내 R 코드는 다음과 같습니다 (백분율 데이터이므로 점수에 로짓 변환을 사용합니다).

library(MASS)
library(car)

data.tst = read.table("data.txt",header=T)
data.lm = lm(logit(Score) ~ Var1 + Var2 + Var3 + Var4 + Var5 + Var6 + Var7 +
             Var8 + Var9, data = data.tst)

step = stepAIC(data.lm, direction="both")
summary(step)

어떤 이유로, 방정식의 시작 부분에 나열된 변수가 stepAIC()함수에 의해 선택되고 결과는 Var9먼저 (물결표 뒤에) 나열하여 조작 할 수 있음을 발견했습니다 .

여기서 모델을보다 효과적으로 (그리고 덜 논란의) 피팅하는 방법은 무엇입니까? 나는 선형 회귀를 사용하여 실제로 틀에 얽매이지 않았습니다. 내가 원하는 유일한 것은 변수의 변화를 실제로 이끌어내는 9 개의 변수 중 어느 것을 이해할 수 있어야 Score합니다. 바람직하게는, 이것은 이들 9 개의 변수에서 공선성에 대한 강한 잠재력을 고려하는 일부 방법 일 것이다.


6
공선 성은 하나의 변수가 변동이 높은 공선 인 변수보다 더 많거나 적은 변수를 '구동'하는지 여부를 결정하는 것은 불가능하다는 분석을 의미합니다. 이러한 한계를 염두에두고 올가미 를 최적으로 예측할 수있는 적은 수의 변수를 선택한 다음 선택한 변수 세트 해당 세트가 고도로 공선 인 변수를보고하는 방법으로 올가미 를 시도 할 수 있습니다. 그룹화 된 올가미는 또 다른 옵션입니다.
손님

4
@guest : 올가미는 특히 모델 선택 문제와 관련하여 강한 공선 성이있는 경우 특히 잘 작동하지 않습니다.
추기경

2
@cardinal, 올가미는 괜찮지 만 여러 변수가 서로 관련되어 있으면 변수 중 하나만 선택하는 경향이 있으므로 높은 공선 변수 세트를 살펴 보는 것이 좋습니다. 이 '기본'보다 복잡한 것을 사용하기로 결정하려면 유용성 평가와이 모델의 의도에 대한보다 강력한 개념이 필요합니다.
손님

2
bicreg 함수 {package BMA}를 살펴볼 수 있습니다. 제대로 작동하려면 완전한 사례 데이터 집합이 필요합니다. 모델 선택에 매우 유용합니다.
Dominic Comtois

1
@guest : 글쎄, 그것은 정규화 매개 변수가 선택되는 방식에 크게 의존합니다. 실제로, 특정 체제에서, 올가미는 선택 파라미터 를 초과 하는 (가능한) 경향이있다 . OP는 "내가 원하는 것은 9 가지 변수 Score중 어느 것이 변수 의 변동을 실제로 주도하고 있는지 이해할 수있는 것"이라고 물었다 . 강력한 공선 성이 존재하는 경우 올가미는 적어도 OP의 의견을보다 엄격하게 해석하여 도움을주지 않을 것입니다.
추기경

답변:


14

우선,이 문제에 대한 아주 좋은 자료는 T. Keith, Multiple Regression and Beyond입니다. 이 책에는 경로 모델링 및 변수 선택에 대한 많은 자료가 있으며, 거기에서 귀하의 질문에 대한 철저한 답변을 찾을 수 있다고 생각합니다.

다중 공선 성을 다루는 한 가지 방법은 예측 변수를 중심에 두는 것입니다. 즉, 각 값에서 하나의 계열 평균을 뺍니다. 릿지 회귀는 데이터가 공선 성일 때에도 사용할 수 있습니다. 마지막으로 순차적 회귀 분석은 예측 변수 이벤트의 시간 순서 분석과 함께 예측 변수 간의 원인-효과 관계를 이해하는 데 도움이 될 수 있습니다.

9 개의 변수가 모두 공선 성을 나타 냅니까? 진단을 위해 Cohen 2003 분산 인플레이션 계수를 사용할 수 있습니다. VIF 값> = 10은 높은 공선 성 및 팽창 된 표준 오류를 나타냅니다. 예측 변수와 결과 사이의 원인-효과 관계에 더 관심이 있음을 이해합니다. 그렇지 않은 경우, 다중 공선 성은 예측에 심각한 문제로 간주되지 않습니다. 한 번에 하나씩 예측 변수를 추가하여 구축 된 모델에 대해 샘플 데이터 중 MAE를 확인하여 확인할 수 있기 때문입니다. 예측 변수에 한계 예측력이있는 경우 모형 다중 공선 성이있는 경우에도 MAE가 감소합니다.


16

삭제할 변수를 결정하기가 어렵 기 때문에 변수를 삭제하지 않는 것이 좋습니다. 이 선을 따라 진행하는 두 가지 방법은 (1) 데이터 축소 방법 (예 : 가변 군집 또는 주요 구성 요소)을 사용하고 개별 변수 대신 모델에 요약 점수를 매기고 (2) 모델에 모든 변수를 넣지 만 테스트하지는 않습니다. 경쟁 변수의 효과에 맞게 조정 된 하나의 변수의 효과 (2) 의 경우 경쟁 변수의 청크 테스트 는 강력합니다. 공선 변수는 변수를 개별적으로 테스트 할 때처럼 서로 경쟁하지 않고 전체 다중 자유도 연관 테스트에서 힘을 결합하기 때문입니다.


설명해 주시겠습니까and put summary scores into the model
SIslam

1
biostat.mc.vanderbilt.edu/rms의 나의 강의 노트 자세히 알아보기
Frank Harrell

1

높은 공선 성이있는 상태에서 변수를 선택 하려면 반복 적응 형 릿지 절차를 사용하여 L0 처벌 GLM에 맞는 l0ara 패키지를 권장 할 수 있습니다 . 이 방법은 궁극적으로 능선 정규 회귀를 기반으로하므로 공선 성을 매우 잘 처리 할 수 ​​있으며 시뮬레이션에서 LASSO, 탄력적 그물 또는 적응 형 LASSO와 비교할 때 여전히 우수한 예측 성능을 제공하는 동시에 오 탐지가 훨씬 적습니다. 또는 L0Learn 패키지를 사용해 볼 수도 있습니다.L0과 L2 페널티의 조합으로. 그런 다음 L0 페널티는 희소성을 선호하지만 L2 페널티는 공선 성을 정규화합니다. 탄성 그물 (L1과 L2 페널티 조합을 사용하는)도 종종 제안되지만, 내 테스트에서 이것은 더 많은 오 탐지를 생성했으며 계수는 크게 바이어스됩니다. 이 편향은 L0 불이익 방법을 대신 사용하면 제거 할 수 있습니다 (일명 최상의 하위 집합). 일관되고 편향되지 않은 매개 변수 계수를 동시에 얻는 소위 오라클 추정기입니다. 이러한 모든 방법에서 정규화 매개 변수는 최적의 샘플 예측 성능을 제공하기 위해 교차 검증을 통해 최적화해야합니다. 모수에서 유의 수준과 신뢰 구간을 얻으려면 비모수 부트 스트랩을 통해이를 수행 할 수도 있습니다.

l0ara탄성 그물과 같은 반복적 적응 형 능선 알고리즘 (때로는 고장난 적응성 능선이라고도 함)은 그룹화 효과를 가지므로 모델에 입력하자마자 그룹에서 상관 관계가 높은 변수선택하게 됩니다. 예를 들어 모델에 두 개의 거의 공 선형 변수가있는 경우 효과를 둘 다에 균등하게 나눕니다.

비율 데이터를 분석하는 경우 로지스틱 회귀 모델 btw를 사용하는 것이 좋습니다. l0ara패키지를 사용하면 L0 페널티와 함께이를 수행 할 수 있습니다. 에 대한 L0Learn패키지이 곧 지원 될 예정입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.