AIC를 사용하여 모델 선택을 적용하면 변수에 중요하지 않은 p- 값이 제공되는 이유


14

AIC에 대해 궁금한 점이 있으시면 도와 드리겠습니다. 데이터에 AIC를 기반으로 모델 선택 (뒤로 또는 앞으로)을 적용했습니다. 그리고 선택된 변수 중 일부는 p- 값> 0.05로 끝났습니다. 사람들은 p- 값 대신 AIC를 기반으로 모델을 선택해야한다고 말하고 있기 때문에 AIC와 p- 값은 두 가지 차이점 개념 인 것 같습니다. 누군가 차이점이 무엇인지 말해 줄 수 있습니까? 내가 지금까지 이해 한 것은 :

  1. AIC를 사용한 역 선택의 경우 3 개의 변수 (var1, var2, var3)가 있고이 모델의 AIC가 AIC *라고 가정합니다. 이 세 가지 변수 중 하나를 제외해도 AIC *보다 현저히 낮은 AIC로 끝나지 않으면 (df = 1의 ch-square 분포 측면에서)이 세 가지 변수가 최종 결과라고 할 수 있습니다.

  2. 세 가지 변수 모델에서 변수 (예 : var1)에 대한 중요한 p- 값은 해당 변수의 표준화 된 효과 크기가 0과 상당히 다르다는 것을 의미합니다 (Wald 또는 t-test에 따름).

이 두 방법의 근본적인 차이점은 무엇입니까? 최상의 모델에 중요하지 않은 p- 값을 갖는 일부 변수가있는 경우 (AIC를 통해 얻은) 어떻게 해석합니까?

답변:


13

AIC와 그 변이체는 의 변이체에 가깝고 각 회귀 변수의 p- 값에 더 가깝습니다 . 더 정확하게 말하면, 그들은 로그 우도의 처벌 된 버전입니다.R2

카이 제곱을 사용하여 AIC의 차이점을 테스트하고 싶지 않습니다. 카이 제곱 (모델이 중첩 된 경우)을 사용하여 로그 우도의 차이를 테스트 할 수 있습니다. AIC의 경우 낮을수록 좋습니다 ( 대부분의 구현에서는 어쨌든). 추가 조정이 필요하지 않습니다.

가능하다면 자동화 된 모델 선택 방법을 피하고 싶을 것입니다. 하나를 사용해야하는 경우 LASSO 또는 LAR을 사용해보십시오.


2
답변 감사합니다. 그래 당신 말이 맞아요. AIC는 테스트를 적용하지 않고, 2 * number_of_parameters에 -2 * loglikelihood를 추가하여 모델이 샘플에 얼마나 적합한 지, 모델을 단순하게 유지할 수 있는지 여부를 간단히 측정합니다. 어쩌면 이것은 중요하지 않은 p- 값을 가진 변수가 선택된 모델에 유지 된 이유를 설명 할 수 있습니까?
tiantianchen

AIC가 거의 동일한 두 개의 모델이있는 경우 어떤 모델을 선택해야합니까? 하나에 다른 모델보다 더 중요한 용어가 있습니까?
Agus Camacho

당신이 원하는 건
Peter Flom-Monica Monica 복원

11

χ12

따라서 p- 값에 대해 더 작은 컷오프를 사용하는 것과 비교하는 경우가 종종 있습니다. 때로는 p- 값이 높은 변수를 포함하는 경우도 있습니다.


Wal chi-square를 통해 AIC와 p- 값 사이의 연결에 대한 URL 또는 참조를 알려주시겠습니까? 감사.
meh

2의 값을 임계 값으로 사용하면 비교적 쉽게 표시 할 수 있습니다. 이는 p. 값 임계 값 15.73 %에 해당합니다 (선형 회귀를 사용하는 단계별 선택의 경우와 같이 테스트의 자유도가 1 인 경우). 모델 및 연속 변수). 1-chi2cdf (2,1)로 계산할 수 있습니다.
조지

@aginensky 연결은 간단하지만 실제 참조를 보지 못했습니다. 나는 구글 하나를 끊을 수 있다고 상상한다.
Glen_b-복지 주 모니카

@aginensky Lindsey, JK & Jones, B. (1998) 의료 데이터에 적용되는 일반화 된 선형 모델 중에서 선택. 의학 통계 , 17, 59-68. ... 62 쪽 중간을 참조하십시오. 더있을 것입니다.
Glen_b-복지 주 모니카

@ Glen_b- 고마워, 나는 전에 그런 것을 본 적이 없다.
meh

9

p- 값 또는 AIC는 단계적 모델 선택을 위해 설계되지 않았으며, 사실 두 가지 기본 가정 (그러나 다른 가정)은 단계적 회귀에서 첫 번째 단계 후에 위반됩니다. @PeterFlom이 언급했듯이 자동 모델 선택이 필요하다고 생각되면 LASSO 및 / 또는 LAR이 더 나은 대안입니다. 이러한 방법은 우연히 큰 추정치 (단계적으로 보상에 대한 보상)를 0으로 되돌려 서 단계적으로 치우 치지 않는 경향이 있습니다 (나머지 치우침은 더 보수적 인 경향이 있습니다).

종종 간과되는 AIC의 큰 문제는 AIC 값의 차이의 크기이며, "낮을수록 좋다"는 것을 멈추고 거기서 멈추는 것이 일반적입니다 (자동화 된 절차는 이것을 강조합니다). 두 모델을 비교하고 AIC 값이 매우 다른 경우 AIC가 더 낮은 모델에 대한 선호도가 분명하지만 AIC 값이 서로 다른 2 개 이상의 모델이 서로 가까운 경우가 종종 있습니다. 이 경우 AIC 값이 가장 낮은 모형 만 사용하면 유용한 정보가 누락됩니다 (이 모형에 있거나없는 다른 유사 모형에서는 다른 용어에 대한 유추는 의미가 없거나 더 나쁩니다). 데이터 외부의 정보 (예 : 예측 변수 세트를 수집하는 것이 얼마나 힘든지 / 비싼 지 등)는 AIC가 약간 높은 모델을 품질 손실없이 사용하는 것이 더 바람직 할 수 있습니다. 또 다른 접근법은 유사한 모형의 가중 평균을 사용하는 것입니다 (이는 아마도 능선 회귀 또는 올가미와 같은 형벌 법에 대한 유사한 최종 예측을 초래할 것이지만 모형으로 이어지는 사고 과정은 이해에 도움이 될 수 있습니다).


귀하의 답변에 대한 @GregSnow 감사합니다. p- 값과 AIC 기반 모델 선택에 대한 (다른) 가정이 무엇인지 물어볼 수 있습니까? 양방향 (전진 / 후진)을 적용하거나 전체 하위 집합을 시도하는 것이 단순히 전진 또는 후진 단계적 선택을 사용하는 로컬 최적 모델을 찾는 문제를 해결합니까? (과적 합 문제는 항상 AIC / p- 값 방법에 존재하지만 LASSO 및 / 또는 LAR이 더 나은 옵션
이지만

p- 값 또는 AIC는 모델 선택을 위해 설계되지 않았으므로 모델 선택에 대한 가정이 없습니다. 둘 다 단일 비교를 수행하도록 설계되었습니다. 단계별 회귀 분석에서 몇 번의 비교가 수행되는지 생각하십시오. 실제로 "최상의"단계가 매번 수행된다고 생각하십니까?
Greg Snow

@GregSnow. AIC를 배우는 것에 대한 나의 참고 문헌은 stat.cmu.edu/~larry/=stat705/Lecture16.pdf 인데 이것은 모델 선택 사업에 AIC를 넣는 것 같습니다. 또한 시계열 arima 모델에 사용 된 AIC를 보았을 때 항상 모델 선택에 사용되었습니다.
meh

@aginensky, 예, AIC (및 기타)가 모델 선택에 사용됩니다. AIC가 모델 선택에 적합했거나 모델 선택에 적합하거나 자동화 된 모델 선택이 의미있는 질문에 답한다는 의미는 아닙니다. 나는 이전에 망치로 스크루 드라이버를 사용했지만 그것이 일반적으로 좋은 생각임을 의미하지는 않습니다.
Greg Snow

"이 백서는 Akaike의 통계 모델 식별에 대한 새로운 시각"에서 1971 년 저자가 소개 한 정보 기준 (AIC)을 사용하여 통계 모델 선택 문제를 체계적으로 처리하는 방법을 설명합니다. 따라서 AIC가 스크루 드라이버로 가장 잘 해결되는 문제에 사용 된 해머라도이 해머의 설계자는 해머가이 문제를 해결하는 올바른 방법이라고 생각했습니다. 올바르게 또는 잘못, AIC는 모델 선택을 위해 설계되었습니다. AIC에 대한 다른 견해를 보게되어 기쁩니다. 이것에 자유롭게 대답하십시오, 그러나 나는 끝났습니다.
meh

1

AIC에 대한 나의 경험은 변수가 중요하지 않은 것처럼 보이지만 가장 작은 AIC가있는 모델에 여전히 나타나는 경우 가능한 혼란스러운 것으로 밝혀졌습니다.

나는 당신이 혼란을 확인하는 것이 좋습니다. 이러한 중요하지 않은 변수를 제거하면 남아있는 일부 추정 계수의 자기가 25 % 이상 변경됩니다.


OP가 "혼란을 확인할 수있는 방법"을 설명하십시오.
Jim

0

MuMIn 패키지를 사용하는 것이 가장 좋은 모델 선택이라고 생각합니다. 이것은 한 단계 결과이며 가장 낮은 AIC 값을 찾을 필요가 없습니다. 예:

d<-read.csv("datasource")
library(MuMIn)
fit<-glm(y~x1+x2+x3+x4,family=poisson,data=d)
get.models(dredge(fit,rank="AIC"))[1]

2
어떤 코드를 사용한다고해서 질문을 통계적으로 다루는 방법을 설명 할 수 없다면 실제로 질문에 대답하는 것은 아닙니다. 어쨌든 문제의 특정 내용은 특정 소프트웨어에만 국한되지 않습니다.
Nick Cox
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.