클래식 선형 모델-모델 선택


16

5 개의 가능한 회귀 변수가있는 고전적인 선형 모델이 있습니다. 그것들은 서로 관련이 없으며 응답과의 상관 관계가 매우 낮습니다. 회귀 분석기 중 3 개가 t 통계량에 유의 한 계수를 갖는 모형에 도달했습니다 (p <0.05). 나머지 2 개의 변수 중 하나 또는 둘 다를 추가하면 t 통계에 대한 p 값> 0.05가 추가되고 추가 된 변수에 대해 제공됩니다. 이것은 3 가지 변수 모델이 "최고"라고 믿게한다.

그러나 R에서 anova (a, b) 명령을 사용합니다. 여기서 a는 3 변수 모델이고 b는 전체 모델입니다. F 통계량의 p 값은 <0.05이므로 3 변수보다 전체 모델을 선호합니다. 모델. 이러한 명백한 모순을 어떻게 조정할 수 있습니까?

감사합니다 PS 편집 : 추가 배경. 이것은 숙제이므로 세부 사항을 게시하지는 않지만 회귀자가 나타내는 내용에 대한 세부 정보는 제공하지 않습니다. 1에서 5까지 번호가 매겨집니다. "적절한 모델을 도출하여 정당성을 부여해야합니다".


6
적절한 모델은 모든 사전 지정된 변수를 효과적으로 사용하는 모델 (비선형 성 등을 고려한 모델)을 의미 할 수 있습니다. 교수자가 단계별 변수 선택이 유효하지 않다는 것을 이해하기를 바랍니다. 거의 없다.
Frank Harrell

1
다시 감사합니다. 앞뒤로 죄송합니다. 지침에는 "최상의"모형이 반드시있을 필요는 없으며 모든 예측 변수를 반드시 포함 할 필요는 없습니다 "라고 말합니다. 또한 공선 성 또는 비선형 성이 없습니다. 실제로 5 개의 예측 변수는 모두 정규 분포에서 독립적 인 시뮬레이션으로 생성됩니다. 결과적으로 예측 변수와 반응 간의 상관 관계도 작습니다 (최대 값이 0.1보다 작음). 솔직히 제 직감에 따르면 "최고의"모델은 표본 평균 일 수 있습니다 (r 제곱이 0.03보다 작음)
P Sellaz

@P Sellaz : 이것이 시뮬레이션 된 데이터를 사용하는 숙제라면, 직관이 당신에게 잘 도움이 될 것입니다. 직관에 대한 합리적인 설명을 작성하십시오.
Zach

1
는 일반적으로 컨텍스트 크기에 따라 크기가 커지기 때문에 갈 수 없습니다 . 그러나 시뮬레이션 실행 방법에 따라 전체 평균이 필요한 것일 수 있습니다. 아르 자형2
Frank Harrell

1
일반적으로 좋은 일을하기 위해 모든 예측 변수를 포함 할 필요는 없습니다. 그러나 데이터는 사용할 예측 변수를 알려줄 수 없습니다.
Frank Harrell

답변:


18

문제는 축소 된 모형을 찾고 주제 지식보다는 데이터를 사용하여 예측 변수를 선택했을 때 시작되었습니다. 변수 선택에 대해 벌칙을 부과하기 위해 동시 shinkage가없는 단계적 변수 선택은 종종 사용되지만 올바르지 않습니다. 이것에 대해 많은 것이 쓰여졌습니다. 3 변수 모델이 "최고"라고 믿을 이유가없고 사전 지정된 예측 변수의 원래 목록을 사용하지 않을 이유도 없습니다. 변수를 선택하기 위해 P- 값을 사용한 후 계산 된 P- 값이 유효하지 않습니다. 이를 기능성 영상 문헌에서 "이중 침지"라고한다.

여기 비유가 있습니다. 6 가지 처리를 비교하는 데 관심이 있지만 페어 단위 t- 검정을 사용하여 어떤 처리가 "다른"지를 선택하여 4 가지 처리가 줄어든다고 가정합니다. 그런 다음 분석가는 3 자유 도로 전체 차이를 테스트합니다. 이 F 테스트는 팽창 된 유형 I 오류를 갖습니다. 5 df의 원래 F 테스트는 상당히 유효합니다.

자세한 내용은 http://www.stata.com/support/faqs/stat/stepwise.html 을 참조하십시오.


1
답장을 보내 주셔서 감사합니다. 원래 질문을 수정했습니다. 나는 그것이 괜찮기를 바랍니다. 더 이상의 조언은 가장 환영받을 것입니다.
P Sellaz

6

한 가지 대답은 "주제 지식 없이는 할 수 없습니다"입니다. 불행히도, 그것은 당신에게 당신의 임무에 F를 줄 것입니다. 내가 교수님이 아니라면 그런 다음 A를 얻습니다.

R2

그런 다음

5 개의 예측 변수는 모두 정규 분포에서 독립적 인 시뮬레이션으로 생성됩니다.

글쎄, 당신이 이것을 알고 있다면 (즉, 강사가 말했듯이) "독립적"이라는 말이 "DV와 관련이 없음"을 의미한다면, 최고의 모델은 예측자가없는 모델이고 직관이 정확하다는 것을 알 수 있습니다.


안녕 피터, 고마워 N은 900입니다. 데이터는 모두 시뮬레이션에 의해 생성되었습니다. 우리는 시뮬 레톤을 직접해야했기 때문에 이것을 알고 있습니다. 이 숙제에 관한 한 실제 데이터 를 나타내야 합니다. 100 번의 시뮬레이션이 수행되었으며, 응답과 가장 큰 상관 관계를 가진 5 개 (또한 한 번만 시뮬레이션 됨)가 후보 회귀 분석기로 선택되었습니다.
P Sellaz

1
X와 Y 사이의 연결을 시뮬레이션하지 않았는지 확인하십시오. 다른 사람들이 말했듯이 회귀 모델은 관련이 없으며 전체 평균이 충분합니다.
Frank Harrell

1
예, 그들은 완전히 독립적입니다. 우리는 후보 회귀 분석기로서 5 개의 상관 관계가 가장 큰 데이터를 선택했다. 여기서 우리는 "적절한 모델을 도출하고 정당화를 제공해야한다"지만 "5 개의 예측 변수를 모두 포함 할 필요는 없다"고 밝혔다.
P Sellaz

교수님이 a) 완전히 혼란스러워하거나 b) 꽤 흥미로운 것을하고있는 것 같습니다. 어느 쪽인지 말하기 어렵다. 그가 @FrankHarrell과 나 그리고 다른 사람들이 지적한 것을 보여주기 위해 이것을 의도했다면 좋다! (b 일 것입니다). OTOH, 만약 이것이 "실제"회귀가 되려고한다면, 아.
Peter Flom-Monica Monica 복원

1
나는 종이가 표시 될 때 그것이 무엇인지 알려줄 것이다 :)
P Sellaz

4

교차 검증을 시도 할 수 있습니다. 샘플의 서브 세트를 선택하고 F 또는 t 테스트를 사용하여 해당 서브 세트에 대한 "최상의"모델을 찾은 다음 전체 데이터 세트에 적용하십시오 (전체 교차 검증은 이보다 더 복잡 할 수 있지만 좋은 시작입니다). 이를 통해 단계별 테스트 문제를 완화 할 수 있습니다.

이 아이디어의 귀여운 시뮬레이션에 대해서는 David Freedman의 스크리닝 회귀 방정식대한 참고 사항을 참조하십시오 .


2

caret패키지 에서 사용되는 방법 인 재귀 적 기능 제거가 정말 좋습니다. 비 네트 에서 자세한 내용을 읽을 수 있지만 기본 프로세스는 다음과 같습니다. 변수 선택

기본 아이디어는 중요하지 않은 변수를 제거하고 모델의 예측 정확도를 개선하는 방법을 확인하기 위해 기준 (예 : t 통계)을 사용하는 것입니다. 교차 유효성 검사와 같은 리샘플링 루프로 전체 내용을 래핑합니다. 다음은 선형 모델을 사용하여 설명한 것과 유사한 방식으로 변수 순위를 지정하는 예입니다.

#Setup
set.seed(1)
p1 <- rnorm(50)
p2 <- rnorm(50)
p3 <- rnorm(50)
p4 <- rnorm(50)
p5 <- rnorm(50)
y <- 4*rnorm(50)+p1+p2-p5

#Select Variables
require(caret)
X <- data.frame(p1,p2,p3,p4,p5)
RFE <- rfe(X,y, sizes = seq(1,5), rfeControl = rfeControl(
                    functions = lmFuncs,
                    method = "repeatedcv")
                )
RFE
plot(RFE)

#Fit linear model and compare
fmla <- as.formula(paste("y ~ ", paste(RFE$optVariables, collapse= "+")))
fullmodel <- lm(y~p1+p2+p3+p4+p5,data.frame(y,p1,p2,p3,p4,p5))
reducedmodel <- lm(fmla,data.frame(y,p1,p2,p3,p4,p5))
summary(fullmodel)
summary(reducedmodel)

이 예제에서 알고리즘은 3 개의 "중요한"변수가 있음을 감지하지만 그 중 2 개만 가져옵니다.

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