다중 선형 회귀 모형에 포함 할 변수 선택


35

현재 다중 선형 회귀를 사용하여 모델을 작성하려고합니다. 내 모델을 둘러 본 후에는 유지할 변수와 제거 할 변수를 가장 잘 결정하는 방법을 모르겠습니다.

내 모델은 DV에 대한 10 개의 예측 변수로 시작했습니다. 10 개의 예측 변수를 모두 사용할 때 4 개가 유의 한 것으로 간주되었습니다. 명백히 틀린 예측 변수 중 일부만 제거하면 처음에 중요하지 않은 일부 예측 변수가 중요해집니다. 다음 중 어느 것이 저의 질문으로 이어질 까요 : 모델에 포함 할 예측 변수를 결정하는 방법은 무엇입니까? 모든 예측 변수로 모델을 한 번 실행하고 중요하지 않은 것을 제거한 다음 다시 실행 해야하는 것처럼 보였습니다. 그러나 이러한 예측 변수 중 일부만 제거하면 다른 예측 변수가 중요 해지면이 모든 것에 대해 잘못된 접근 방식을 취하고 있는지 궁금합니다.

스레드가 내 질문과 비슷 하다고 생각 하지만 토론을 올바르게 해석하고 있는지 확신 할 수 없습니다. 아마도 이것은 실험적인 디자인 주제 일 수도 있지만 누군가가 공유 할 수있는 경험이있을 수도 있습니다.


이에 대한 대답은 목표와 요구 사항에 따라 크게 달라집니다. 간단한 연관성을 찾고 있습니까, 아니면 예측을 목표로하고 있습니까? 해석 능력이 얼마나 높습니까? 프로세스에 영향을 줄 수있는 다른 출판물의 변수에 대한 정보가 있습니까? 변수의 상호 작용 또는 변형 된 버전은 어떻습니까? 좋은 답변을 얻기 위해 무엇을하려고하는지에 대한 자세한 내용을 지정해야합니다.
Nick Sabbe

당신이 요구 한 것에 기초하여, 이것은 예측을위한 것입니다. 다른 변수에 대한 영향은 가능한 연관성을 제공합니다. 그들 사이에는 상호 작용이 없습니다. 하나의 값만 변환하면됩니다.
cryptic_star

1
어떤 예측 변수를 포함시켜야하는지에 대한 이론이 있습니까? 측정 한 변수가 많고 이론이없는 경우 관측치 세트를 작성하여 모델을 작성하는 데 사용되지 않은 데이터로 모델을 테스트 할 것을 권장합니다. 동일한 데이터에서 모델을 테스트하고 검증하는 것은 올바르지 않습니다.
Michelle

닉 사브 (Nick Sabbe)가 논의한 바와 같이 교차 검증, 형벌 법 (Dikran Marsupial) 또는 사전 이론 (Michelle)에 기반한 변수 선택이 모두 선택 사항입니다. 그러나 변수 선택은 본질적으로 매우 어려운 작업입니다. 왜 그렇게 잠재적으로 문제가되는지 이해하려면 여기에서 내 대답을 읽는 것이 도움이 될 수 있습니다 : algorithms-for-automatic-model-selection . 마지막으로, 문제가 컴퓨터가 자동으로 수행하는지 수동으로 수행하는지가 아니라이 활동의 ​​논리적 구조에 따른 문제임을 인식해야합니다.
gung-모니 티 복원

이 게시물에 대한 답변도 확인하십시오 : stats.stackexchange.com/questions/34769/…
jokel

답변:


19

내 의견에 대한 귀하의 반응을 바탕으로 :

당신은 예측을 찾고 있습니다. 따라서 계수의 (의) 의의에 실제로 의존해서는 안됩니다. 당신은 더 나은 것

  • 예측 요구에 가장 적합한 기준을 선택하십시오 (예 : 미분류 비율, ROC의 AUC, 가중치가있는 일부 형태 등).
  • 들어 관심의 각 모델 ,이 기준을 평가한다. 예를 들어 교차 검증 (일반적으로 10 배) 또는 관심있는 기준이 허용하는 다른 옵션을 통해 유효성 검사 세트 (운이 좋거나 부유 한 경우)를 제공하여 수행 할 수 있습니다. 가능한 경우 각 모델에 대한 기준의 SE 추정값을 찾으십시오 (예 : 교차 검증에서 서로 다른 접힘 값을 사용하여)
  • 이제 최상의 기준 값을 가진 모델을 선택할 수 있지만 일반적으로 최고 값의 1 SE 내에있는 가장 유사한 모델 (최소 변수)을 선택하는 것이 좋습니다.

WRT 관심의 각 모델 : 여기에 꽤 캐치있다. 10 개의 잠재적 예측 변수가있는 것은 잠재적 인 모델의 트럭입니다. 이를위한 시간이나 프로세서가 있거나 데이터가 충분히 작아서 모델이 적합하고 빠르게 평가되는 경우 : 공을 사용하십시오. 그렇지 않다면, 교육받은 추측, 정방향 또는 역방향 모델링 (그러나 중요도가 아닌 기준을 사용)으로이 문제를 해결할 수 있습니다. 또는 합리적인 모델 집합을 선택하는 알고리즘을 사용하십시오. 이를 수행하는 알고리즘 중 하나는 처벌 회귀, 특히 올가미 회귀입니다. R을 사용하고 있다면 glmnet 패키지를 꽂기 만하면됩니다.


+1이지만 왜 "가장 높은 가치의 하나의 SE 내에있는 가장 객관적인 모델 (최소 변수)"을 선택했는지 설명 할 수 있습니까?
rolando2

Parsimony는 대부분의 상황에서 원하는 속성입니다. 해석 성을 높이고 새로운 대상이 모델을 사용하기 위해 필요한 측정 수를 줄입니다. 이야기의 다른 측면은 당신이 당신의 기준에 대해 얻는 것이 SE와 일치하는 추정치에 불과하다는 것입니다. 피크. 따라서 1 SE 규칙 (임의적이지만 허용되는 관행)은 더 많은 가치를 제공하는 부가 가치로이를 방지합니다.
Nick Sabbe

13

이에 대한 간단한 대답은 없습니다. 중요하지 않은 설명 변수 중 일부를 제거하면 해당 변수와 관련된 다른 변수가 중요해질 수 있습니다. 이것에는 아무런 문제가 없지만, 과학보다는 모델을 적어도 부분적으로 선택합니다. 이것이 실험이 설명 변수를 서로 직교로 유지하여이 문제를 피하는 것을 목표로하는 이유입니다.

전통적으로 분석가들은 한 번에 하나씩 모델에 변수를 더하고 빼고 (한 것과 유사) t 또는 F 테스트를 통해 개별적으로 또는 소그룹으로 테스트했습니다. 이것의 문제는 결합 된 효과 (또는 비 영향)가 공선성에 의해 숨겨지는 하위 조합 (또는 추가) 할 변수 조합을 놓칠 수 있다는 것입니다.

최신 컴퓨팅 성능을 사용하면 2 ^ 10 = 1024 개의 가능한 설명 변수 조합을 모두 맞추고 AIC, BIC 또는 예측력 (예 : 값을 예측하는 기능)과 같은 여러 가지 가능한 기준 중 하나를 사용하여 최상의 모델을 선택할 수 있습니다. 모델에 맞추기 위해 사용하는 데이터 세트와 분리 된 데이터의 테스트 하위 세트). 그러나 1024 모델을 (내재적으로 또는 명시 적으로) 테스트하려는 경우 고전적인 접근 방식에서 p- 값을 재고해야합니다.


양측의 장점과 단점을 모두 잘 이해해 주셔서 감사합니다. 그것은 내가 의심 한 것을 많이 확인했습니다.
cryptic_star

11

예측 성능에만 관심이있는 경우 모든 기능을 사용하고 능형 회귀를 사용하여 훈련 샘플에 과적 합을 피하는 것이 좋습니다. 이것은 본질적으로 "회귀에서 부분 집합 선택"에 대한 Millar의 논문 부록에 주어진 조언 이므로, 합리적인 가계도가 함께 제공됩니다!

그 이유는 고정 된 데이터 샘플 (예 : AIC, BIC, 교차 검증 등)을 기반으로 성능 추정값을 기반으로 하위 집합을 선택하면 선택 기준이 유한 편차를 가지게되므로 선택 기준 자체를 과도하게 맞추십시오. 다시 말해, 선택 기준을 최소화할수록 일반화 성능이 향상되지만 선택 기준을 줄일수록 일반화가 악화되는 지점이 생깁니다. 운이 좋지 않으면 시작한 모델보다 성능이 나쁜 회귀 모델 (즉, 모든 특성을 가진 모델)로 쉽게 끝날 수 있습니다.

특히 데이터 집합이 작을 때 (선택 기준이 분산이 높을 때) 모델을 선택할 수있는 방법이 많을 때 (예 : 피처 조합 선택) 가능성이 높습니다. 정규화는 조정해야하는 스칼라 매개 변수이므로 과적 합이 덜 발생하는 것으로 보이며, 이는 모형의 복잡성에 대한보다 제한된 시각을 제공합니다. .


0

도약 라이브러리를 사용하십시오. 변수를 플로팅하면 y 축에 R ^ 2 조정이 표시됩니다. 가장 높은 R ​​^ 2에서 상자가 검은 색인 곳을 봅니다. 다중 선형 회귀 분석에 사용해야하는 변수가 표시됩니다.

아래 와인 예 :

library(leaps)
regsubsets.out <-
  regsubsets(Price ~ Year + WinterRain + AGST + HarvestRain + Age + FrancePop,
         data = wine,
         nbest = 1,       # 1 best model for each number of predictors
         nvmax = NULL,    # NULL for no limit on number of variables
         force.in = NULL, force.out = NULL,
         method = "exhaustive")
regsubsets.out

#----When you plot wherever R^2 is the highest with black boxes,
#so in our case AGST + HarvestRain + WinterRain + Age and the dependent var.is Price----#
summary.out <- summary(regsubsets.out)
as.data.frame(summary.out$outmat)
plot(regsubsets.out, scale = "adjr2", main = "Adjusted R^2")

이것은 알려진 문제가있는 소위 '최상의 하위 집합'선택과 크게 다르지 않습니다.
gung-모니 티 복원

leaps 크기가 다른 하위 집합 중에서 선택하는 방법을 알려주지는 않지만 '최고의 하위 집합'을 명시 적으로 계산합니다. (즉, 당신과 당신의 통계 성직자 사이에 문제가되는.)
steveo'america

충분히 웃긴 leaps것은 "알란 밀러 (Alan Miller)의 FORTRAN77 코드 [...]를 기반으로한다.이 책은 그의 저서 '서브셋 선택의 회귀 선택 (Subset Selection in Regression)'에 나와있다.
jorijnsmit


-2

상관 관계 분석을 먼저 수행 한 다음 Dv와 관련된 것만 회귀 분석에 포함하지 않는 이유는 무엇입니까?


2
이것은 일반적으로 어떤 변수를 선택할지 선택하는 잘못된 방법입니다. 예를 들어 회귀 분석을위한 예측 변수를 선택 하기 위해 상관 행렬을 사용합니까? 후자의 경우 "부분 분할 "(회귀 기울기는 다른 변수가 고려되면 관계를 보여줌)에 대해 생각해야하기 때문에 상관 분석은 다중 회귀와는 상당히 다르지만 상관 행렬에는이를 나타내지 않습니다.
좀 벌레

이것은 질문에 대한 답변을 제공하지 않습니다. 평판 이 충분 하면 모든 게시물댓글 수 있습니다 . 대신 asker의 설명이 필요없는 답변을 제공하십시오 . - 검토에서
복원 Monica Monica

1
그것은 나를 파업 @GeneralAbrial이 있다는 것입니다 간단한 하나 임에도 불구하고 질문에 대한 대답은. 그것은 문제에 대한 좋은 해결책은 아니지만 up / downvotes의 목적입니다. (저는 "왜 안되나요?"는 저자의 설명을 요구하기보다는 수사 학적 질문으로 의도 된 것으로 생각합니다.
Silverfish

-4

내 고문은 이것에 대해 다른 가능한 방법을 제안했습니다. 모든 변수를 한 번 실행 한 다음 임계 값을 충족시키지 못하는 변수를 제거하십시오 (임계 값을 p <.25로 설정). 모든 변수가 해당 .25 값 아래로 떨어질 때까지 계속 반복 한 다음 중요한 값을보고하십시오.


1
안녕하세요 Allie, @Peter Ellis가 그의 답변의 두 번째 단락에서 언급 한 내용입니다. 그의 두 번째 문장은이 기술이 도입 한 문제를 다룬다. 모형에 넣을 예측 변수를 알려주는 이론이 있습니까?
Michelle

예, @Michelle은이 접근법에 대한 책임을 강조 할 권리가 있습니다. 매우 임의의 결과를 생성 할 수 있습니다.
rolando2

그렇습니다. 우리 모두가 확장하기를 희망하는 이론이 있습니다. 특히, 우리는 특정 사회적 신호 (예 : 연설)가 어떻게 상호 작용하는지 살펴보고 있습니다. 우리는 어느 것이 이미 영향력을 가지고 있는지 알지 못합니다. 그러나보다 세분화 된 버전을 제공하려고합니다. 따라서 연설은 질문, 의견, 평가 등으로 나눌 수 있습니다.
cryptic_star

2
자, 당신은 탐색 적 분석을하고 있습니다. :) 다른 조합을 시도해 볼 수 있지만 새로운 데이터로 완성한 모델을 테스트해야합니다. 정의에 따라 수행중인 작업에 따라 데이터에 대한 "최상의"모델이 있지만 다른 데이터 세트를 수집하면 작동하지 않을 수 있습니다.
Michelle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.