본 포스팅은 <R을 활용한 선형회귀분석> 책을 바탕으로 작성한 글입니다.
보통 어떤 모델을 만들었을 때, 처음 설정한 모델이 최종모델이 되는 경우는 정말 드물다.
변수변환을 하든, 불필요한 설명변수를 제거하든, 다른 설명변수를 추가하든 하며 모델이 바뀐다.
이 과정을 "모형구축"이라 한다.
그리고 이와 별개로, 반응변수를 가장 잘 설명할 적절한 개수의 설명변수를 선택하는 "변수선택"이 있다.
그러나 지금 볼 선형회귀분석에서는, 모형에 포함되는 설명변수들에 의해 모형의 형태가 결정되기 때문에 둘을 같은 문제로 볼 수 있다.
1. 모형구축의 단계
예비단계
자료를 수집하기 위해서는 관심 있는 반응변수에 영향을 줄 것 같은 설명변수를 결정해야 한다.
경험적으로 알려진 사실이나 이론적 배경을 참고하면 좋지만, 만약 이런 정보가 없다면 최대한 많은 설명변수를 고려하면 좋다.
하나의 설명변수당 6~10개 이상의 관측치가 있다면 좋고, 이 수집자료를 바탕으로 예비모형을 구축한다.
예비모형의 수정
예비모형을 적합시킨 후, 선형성/등분산성/독립성/정규성/다중공선성의 존재 등 회귀진단 실시, 자료와 변수변환 가능성 탐색
변수선택
핵심적인 소수의 설명변수 찾기.
회귀진단 재실행
위 단계에서 최적으로 판단된 모형에 대해 회귀진단 다시 실시하기!
오차항 가정 타당성 검토, 영향력 관측치 존재 여부 진단
선택모형 확인
이론or경험에 비교해 모형에 포함된 설명변수들이 타당한지
회귀계수 추정값의 크기나 부호들이 부합한지
새로운 자료에 대한 최종모형의 예측도는 어떻게 되는지
요기서, '적합도' 와 '예측도' 모두를 고려해 최적 모형을 선택해야 한다.
설명변수가 너무 많으면 적합도가 올라가고 예측도가 낮아진다~
2. 변수선택의 기준(중요!)
설명변수의 총 개수가 (k-1)개라고 할 때, 이 변수들을 모두 사용한 예비모형이 최대모형이다.
근데 당연히! 모두 사용하는 것은 좋지 않다. 너무 복잡하고 과적합 될 테니..
그래서 최소한의 설명변수만 선택하고 싶은 것이 우리의 목표!
현재모형 : (k-1)개 중 (p-1)개의 설명변수로 구성된 모형
최소모형(영모형) : 설명변수가 사용되지 않고 반응변수 자체의 변동만을 고려한 모형
이렇게 변수를 줄이려면 사전 지식이나 경험에 따라 주관적으로 하는 방법도 있지만,
통계적으로 객관적인 기준을 사용하는 것도 좋다.
- 결정계수
이미 알고 있듯 결정계수는 총변동에서 회귀모형에 의해 설명되는 변동이다. SSR/SST
1에 가까울수록 설명변수가 반응변수를 잘 설명한다는 의미이다.
아까 말한 현재모형의 결정계수를 R_p square라 한다면,
이는 총변동에서 현재모형의 회귀에 의한 변동이 차지하는 비율, 즉, SSR_p/SST로 나타낼 수 있다.
그럼 결정계수값이 얼마일 때 모형을 선택할지 정해야겠다.
현재모형에 새로운 변수가 추가되면 결정계수값은 항상 증가한다.
같은 말로, 변수가 제거되면 결정계수값은 감소한다.
따라서 결정계수의 '최댓값'을 기준으로 삼는 게 아닌, 변수가 늘어났어도 결정계수의 변화가 크지 않을 때를 생각해야 한다.
예를 들어 다음의 그래프를 보겠다.

x축은 파라미터 수, 즉 설명변수의 수+1(상수항)를 나타낸다.
설명변수가 1개일 때, 3번, 즉 floor 변수를 가진 모형의 결정계수가 가장 높다.
설명변수가 2개일 때, 1번과 3번, 즉 tax와 floor 변수를 가진 모형의 결정계수가 가장 높다.
설명변수가 3개일 때, 1, 3, 4번, 즉 tax, floor, year 변수를 가진 모형의 결정계수가 가장 높다.
물론 계속 결정계수는 증가하였다.
근데 1, 3번 설명변수만 있는 모형과 1, 3, 4번 설명변수만 있는 모형의 결정계수 값은 그리 차이나지 않는다.
따라서 결론을 내린다면, 결정계수에 근거한 최적모형은 (X1, X3)만을 포함한 모형이라고 할 수 있다.
- 수정된 결정계수와 MSE
위를 보면 결정계수만으로 괜찮은 모형인지를 파악하기엔 어려움이 있다.
결정계수만 본다면 변수의 개수는 반영되지 않았기에!
이런 점들을 보완한 것이 수정된 결정계수이고, 각 제곱합을 자유도로 나눈 것이다.
즉, R_ap square = 1 - [SSE_p / (n-p)] / [SST / (n-1)] 이다.
(여기서 분자는 s_p square와 같다.)
위의 점을 보완했으니까.. 이건 모수(설명변수)가 많아짐에 따라 항상 증가하는 것은 아니게 됐다.
증가하다가 모수 개수가 일정 수준 이상이라면 감소한다.
따라서 이건 R_ap square이 최대인 모형을 최적모형으로 하면 된다!
- 맬로우즈 Cp
이건 적합값의 총 평균제곱오차를 최소화하기 위한 기준이다.
조금 어렵다.
평균제곱오차는 반응변수의 참평균값과 현재모형의 적합값의 차를 제곱해서 평균낸 것이다.
이를 식으로 나타내면

이렇게 나타낼 수 있으며, 항상 분산&편향의제곱합 으로 표현된다고 볼 수 있다.
적합값의 총 평균제곱오차는 이를 합한 값이다.
적합값의 총 평균제곱오차를 모분산으로 나눈 것을 보자.

이건데, 맬로우즈 Cp는 이 gamma_p의 추정값인

로 정의된다.. 요기서 s square는 현재모형이 아니라 최대모형에서 구한 값
그래서 이 맬로우즈 Cp값을 최소화하는 모형이 최적모형이 되는 것이다.
즉.. 위의 식에서 알 수 있듯, 분산과 편향제곱의 합을 최소화한다는 의미이다!
그럼 이건 어떤 성질이 있을까 살펴보자.
바로 위의 식의 첫 항은 모형의 적합도를 나타내는 식으로, 설명변수의 개수가 많을수록 작아진다.
둘째 항(2p-n)은 설명변수의 개수가 많을수록 커진다. 벌점항이라고 보면 된다!
(Cp를 최소화하려면 이 벌점항을 최소화..하려면 설명변수 개수 줄이기)
그럼 첫 항과 둘째 항은 상반되므로.. 설명변수 개수에 대한 적절한 타협점을 찾을 수 있을 것이다!
그리고.. 이 맬로우즈 Cp값을 간소화 시킬 건데,
만약 현재 모형이 좋다면 최대모형과 적합도가 비슷할 것이다.
따라서 SSEp가 SSE와 비슷해질 것이고, SSE는 (n-p)s^2로 나타낼 수 있다. 즉 SSEp/s^2는 (n-p)에 비슷할 것!
그럼 이를 위 식에 대입해보면, Cp값은 n-p-n+2p, 즉 p에 가까워질 수록 좋은 모형이라는 것이다.
최대모형에서는 항상 Cp=p이기에, 맬로우즈는 Cp<=p가 되는 모형들을 추가분석하는 방법을 제안했다.
그리고 호킹이라는 사람은 예측도가 중요하면 맬로우즈 Cp, 적합도가 중요하면 Cp<=2p-(최대모형 설명변수 개수)를 사용하는 것을 제안했다.
- PRESSp
위에서 말한 기준들은 모두 현재모형의 적합도가 얼마나 좋은지 나타내는 측도이다.
근데 아까도 말했듯, 적합도와 마찬가지로 예측도도 중요한 목적 중 하나이다.
정확도가 높은 예측이 필요한 문제에서는 예측도가 높은 모형을 선택해야 한다.
그 예측도를 나타내는 측도의 하나인 PRESSp를 소개할 것이다. 이는 예측잔차제곱합이다.

다들 저 yi(i)_hat는 i번째 관측치를 제외하고 (n-1)개의 관측치로 추정한 현재모형에서, xi에서 예측한 y값을 의미한다는 것은 알 것이다.
즉 이 PRESS는 n개의 자료를, n-1개와 1개로 나누어서, n-1개는 추정에 이용하고 나머지 한 개는 예측의 정확도 계산에 사용한다. 즉 교차확인을 할 수 있다는 것이다. validation set을 생각하면 이해하기 쉬울 것이다.
따라서 이 PRESS의 값을 최소화하는 모형을 최적모형으로 선택하면 되고,
이또한 앞의 게시물에서 말했듯 n번 재계산 하는 것이 아니라 공식이 있다.

- AIC/BIC
마지막 기준이다!
AIC는 두 확률분포간 차이를 나타내는 쿨백-라이블러 거리의 추정값인데, 가능도함수의 크기와 모수의 개수를 함께 반영한 기준이다.
가능도함수는 뭐냐하면, 모수의 함수로 본 결합확률밀도함수로, 자료에 포함된 모수에 대한 정보의 크기를 나타낸다.
Yi끼리 독립이고 각 확률밀도함수가 f(yi:theta)라면, 결합은 이 함수들을 모두 곱한 것.. 이게 모수벡터 theta의 가능도함수!
그리고 모수추정방법으로 많이 사용하는 최대가능도추정법은 이 가능도함수를 최대화하는 theta의 값을 구하는 방법이다.
즉 L(theta_hat)은 max L(theta)이다.
그럼 AIC는 어떤 식이냐, 하면

따라서 가능도함수의 값이 커지면 AIC가 작아진다. 그래서 AIC가 작을수록 좋은 모형이라고 보면 된다.
그리고 가능도함수는 모수가 많을수록 커지는데, 둘째항에 +2p라는 벌점항을 줌으로써 모형을 간결하게 한다.
이 AIC의 장점은,
AIC를 최소화하는 것은 예측오차분산의 추정량인 FPE를 최소화하는 모형선택과 공일하다.
그리고 약간의 가정과 변환을 거치면 AIC는 맬로우즈 Cp와 같은 기준이 된다.
BIC는 AIC와 유사한 기준인데, AIC에서 둘째항이 plog(n)으로 바뀐 것이다.
보통 log(n)이 2보다 크므로 BIC가 AIC보다 모형의 복잡성에 더 큰 벌칙을 준다.
3. 변수선택의 방법
이제 앞의 변수선택 기준을 어떻게 이용해서 변수선택을 할 수 있을까를 알아볼 것이다.
아까 맬로우즈Cp에서 맬로우즈가 주장했듯, 최적의 단일 모형을 찾는 것보다 괜찮은 여러 모형을 찾아서 그 중 최적을 찾는 방법이 있다. 이 방법을 모든 가능한 회귀 라고 한다. 설명변수 개수가 그닥 많지 않은 경우에 사용할 수 있다.
만약 최대모형이 k개의 변수로 구성되어있다면, 그 변수들로 구성할 수 있는 모형의 개수는 총 2^k개가 된다.
따라서 모든 모형을 검토하기엔 시간이 많이 걸릴 것이다.
그래서 R이나 SAS에서는 최적모형 또는 최적모형군을 자동으로 선택해주는 알고리즘이 있다.
그 중 가장 많이 사용되는 단계별 회귀는 상수항 또는 필수 설명변수들만 있는 모형에서 시작해서, 설명력이 가장 높은 설명변수부터 순차적으로, 기준에 만족하는지 검사하며 모형에 포함시켜나간다.
두 번째 단계에서 나오는 '설명력'은 매 단계에서 포함 대상이 되는 설명변수 각각에 대한 t통계량 값 or 부분 F통계량값의 크기이다.
설명변수를 모형에 포함시킬 땐 일반적으로 F값의 유의도, 즉 p값으로 설정된다.
따라서 F값이 가장 큰 설명변수의 p값이 사용자의 기준값보다 작으면 모형에 포함되고, 다음으로 넘어간다.
그리고 해당 p값이 사용자의 기준값보다 크다면 모형에서 제거된다.
즉,
[단계 1]
상수항만 있는 모형을 가정하고, 각 설명변수가 추가되면서 부분 F검정통계량의 F값은 Fi=MSRi/si^2이 된다.
이 중 가장 큰 F값의 p값이 설정된 기준값보다 작다면? 그 변수를 추가하면 된다.
근데 만약 그렇지 않다면 영모형을 최종모형으로 선택하면 된다.
[단계 2]
그리고 위 단계에서 만약 설명변수 X7이 추가됐다면, 이 설명변수 외에 또다른 설명변수가 추가된 두 개의 설명변수를 포함하는 모형을 최대모형으로 하고, X7만 있는 모형을 현재모형으로 하여 부분 F검정을 진행한다.
그럼 Fi = MSR(Xi|X7)/s^2*(X7, Xi)가 된다.
분자는 X7만 있는 모형에 Xi를 추가하면 증가하는 회귀제곱합(추가제곱합)이고, 분모는 X7과 Xi로 구성된 최대모형에서 오차평균제곱이다.
이 Fi값 중 가장 큰 값의 p값이 기준값보다 작다면 Xi가 추가되고, 아니라면 여기서 변수선택을 끝내는 것이다.
[단계 3]
만약 X3 변수가 추가됐다면, 이미 X3에 대한 부분 F검정은 실시됐으므로 X7에 대한 부분 F검정만 실시한다.
그럼 또 이의 p값이 기준값보다 작으면 X7은 현재모형에 유지되고, 아니라면 제거된다.
[반복&끝]
그리고 X3과 X7이 남았다면.. 또다른 변수들에 대해 위 과정을 반복한다.
언제까지?
선택/제거의 대상이 되는 설명변수가 더이상 없거나, 직전에 제거된 변수가 바로 다음 단계에서 다시 선택되는 경우 끝!
(무한 순환 방지)
이와 비슷한 방법으로 전진선택 방법과 후진제거 방법이 있고,
전진선택 방법은 단계별 회귀와 동일하지만, 모형에 이미 포함된 변수는 제거되지 않는다는 차이점이 있다.
즉, 단계3의 이미 모형에 있는 설명변수에 대한 부분F검정은 실시하지 않는 것이다.
후진제거 방법은 이와 정반대로, 최대모형에서 시작해서 가장 낮은 F값이 기준값보다 작으면 해당 설명변수를 하나씩 제거해 나가는 방법이다. 변수가 한 번 제거되면 모형에 다시 포함될 수 없다.
4. 모형의 확인
정말정말 마지막이다!!!
최종모형을 사용하기 위해서는 모형의 타당성에 대한 모형확인 단계를 거쳐야 한다.
이론이나 경험에 근거한 예상과 비교하여 모형에 포함된 설명변수들이 타당한지, 회귀계수 추정값의 크기나 부호들이 부합한지 등을 검토할 필요가 있다. 아니면 새로운 자료를 활용해서 최종모형의 예측능력이 어느 정도인지 평가를 하면 된다.
자료개수가 충분히 큰 경우라면, train data와 validation data로 구분해서 사용할 수 있다.
훈련데이터로 현재모형 적합 후 확인자료로 평가하면 되는데, 예측오차를 사용해 평가하면 된다.
확인자료에는 반응변수의 관측값이 있기 때문에 예측값이 관측값과 얼마나 일치하는지 보면 된다.
여기서 데이터가 충분하지 않다면 cross validation을 사용하면 된다. k-fold를 말하는 것!
'통계 > 회귀' 카테고리의 다른 글
중선형회귀모형 - 자료에 대한 진단 (6) | 2024.11.07 |
---|---|
회귀분석의 기초 (5) | 2024.10.17 |
본 포스팅은 <R을 활용한 선형회귀분석> 책을 바탕으로 작성한 글입니다.
보통 어떤 모델을 만들었을 때, 처음 설정한 모델이 최종모델이 되는 경우는 정말 드물다.
변수변환을 하든, 불필요한 설명변수를 제거하든, 다른 설명변수를 추가하든 하며 모델이 바뀐다.
이 과정을 "모형구축"이라 한다.
그리고 이와 별개로, 반응변수를 가장 잘 설명할 적절한 개수의 설명변수를 선택하는 "변수선택"이 있다.
그러나 지금 볼 선형회귀분석에서는, 모형에 포함되는 설명변수들에 의해 모형의 형태가 결정되기 때문에 둘을 같은 문제로 볼 수 있다.
1. 모형구축의 단계
예비단계
자료를 수집하기 위해서는 관심 있는 반응변수에 영향을 줄 것 같은 설명변수를 결정해야 한다.
경험적으로 알려진 사실이나 이론적 배경을 참고하면 좋지만, 만약 이런 정보가 없다면 최대한 많은 설명변수를 고려하면 좋다.
하나의 설명변수당 6~10개 이상의 관측치가 있다면 좋고, 이 수집자료를 바탕으로 예비모형을 구축한다.
예비모형의 수정
예비모형을 적합시킨 후, 선형성/등분산성/독립성/정규성/다중공선성의 존재 등 회귀진단 실시, 자료와 변수변환 가능성 탐색
변수선택
핵심적인 소수의 설명변수 찾기.
회귀진단 재실행
위 단계에서 최적으로 판단된 모형에 대해 회귀진단 다시 실시하기!
오차항 가정 타당성 검토, 영향력 관측치 존재 여부 진단
선택모형 확인
이론or경험에 비교해 모형에 포함된 설명변수들이 타당한지
회귀계수 추정값의 크기나 부호들이 부합한지
새로운 자료에 대한 최종모형의 예측도는 어떻게 되는지
요기서, '적합도' 와 '예측도' 모두를 고려해 최적 모형을 선택해야 한다.
설명변수가 너무 많으면 적합도가 올라가고 예측도가 낮아진다~
2. 변수선택의 기준(중요!)
설명변수의 총 개수가 (k-1)개라고 할 때, 이 변수들을 모두 사용한 예비모형이 최대모형이다.
근데 당연히! 모두 사용하는 것은 좋지 않다. 너무 복잡하고 과적합 될 테니..
그래서 최소한의 설명변수만 선택하고 싶은 것이 우리의 목표!
현재모형 : (k-1)개 중 (p-1)개의 설명변수로 구성된 모형
최소모형(영모형) : 설명변수가 사용되지 않고 반응변수 자체의 변동만을 고려한 모형
이렇게 변수를 줄이려면 사전 지식이나 경험에 따라 주관적으로 하는 방법도 있지만,
통계적으로 객관적인 기준을 사용하는 것도 좋다.
- 결정계수
이미 알고 있듯 결정계수는 총변동에서 회귀모형에 의해 설명되는 변동이다. SSR/SST
1에 가까울수록 설명변수가 반응변수를 잘 설명한다는 의미이다.
아까 말한 현재모형의 결정계수를 R_p square라 한다면,
이는 총변동에서 현재모형의 회귀에 의한 변동이 차지하는 비율, 즉, SSR_p/SST로 나타낼 수 있다.
그럼 결정계수값이 얼마일 때 모형을 선택할지 정해야겠다.
현재모형에 새로운 변수가 추가되면 결정계수값은 항상 증가한다.
같은 말로, 변수가 제거되면 결정계수값은 감소한다.
따라서 결정계수의 '최댓값'을 기준으로 삼는 게 아닌, 변수가 늘어났어도 결정계수의 변화가 크지 않을 때를 생각해야 한다.
예를 들어 다음의 그래프를 보겠다.

x축은 파라미터 수, 즉 설명변수의 수+1(상수항)를 나타낸다.
설명변수가 1개일 때, 3번, 즉 floor 변수를 가진 모형의 결정계수가 가장 높다.
설명변수가 2개일 때, 1번과 3번, 즉 tax와 floor 변수를 가진 모형의 결정계수가 가장 높다.
설명변수가 3개일 때, 1, 3, 4번, 즉 tax, floor, year 변수를 가진 모형의 결정계수가 가장 높다.
물론 계속 결정계수는 증가하였다.
근데 1, 3번 설명변수만 있는 모형과 1, 3, 4번 설명변수만 있는 모형의 결정계수 값은 그리 차이나지 않는다.
따라서 결론을 내린다면, 결정계수에 근거한 최적모형은 (X1, X3)만을 포함한 모형이라고 할 수 있다.
- 수정된 결정계수와 MSE
위를 보면 결정계수만으로 괜찮은 모형인지를 파악하기엔 어려움이 있다.
결정계수만 본다면 변수의 개수는 반영되지 않았기에!
이런 점들을 보완한 것이 수정된 결정계수이고, 각 제곱합을 자유도로 나눈 것이다.
즉, R_ap square = 1 - [SSE_p / (n-p)] / [SST / (n-1)] 이다.
(여기서 분자는 s_p square와 같다.)
위의 점을 보완했으니까.. 이건 모수(설명변수)가 많아짐에 따라 항상 증가하는 것은 아니게 됐다.
증가하다가 모수 개수가 일정 수준 이상이라면 감소한다.
따라서 이건 R_ap square이 최대인 모형을 최적모형으로 하면 된다!
- 맬로우즈 Cp
이건 적합값의 총 평균제곱오차를 최소화하기 위한 기준이다.
조금 어렵다.
평균제곱오차는 반응변수의 참평균값과 현재모형의 적합값의 차를 제곱해서 평균낸 것이다.
이를 식으로 나타내면

이렇게 나타낼 수 있으며, 항상 분산&편향의제곱합 으로 표현된다고 볼 수 있다.
적합값의 총 평균제곱오차는 이를 합한 값이다.
적합값의 총 평균제곱오차를 모분산으로 나눈 것을 보자.

이건데, 맬로우즈 Cp는 이 gamma_p의 추정값인

로 정의된다.. 요기서 s square는 현재모형이 아니라 최대모형에서 구한 값
그래서 이 맬로우즈 Cp값을 최소화하는 모형이 최적모형이 되는 것이다.
즉.. 위의 식에서 알 수 있듯, 분산과 편향제곱의 합을 최소화한다는 의미이다!
그럼 이건 어떤 성질이 있을까 살펴보자.
바로 위의 식의 첫 항은 모형의 적합도를 나타내는 식으로, 설명변수의 개수가 많을수록 작아진다.
둘째 항(2p-n)은 설명변수의 개수가 많을수록 커진다. 벌점항이라고 보면 된다!
(Cp를 최소화하려면 이 벌점항을 최소화..하려면 설명변수 개수 줄이기)
그럼 첫 항과 둘째 항은 상반되므로.. 설명변수 개수에 대한 적절한 타협점을 찾을 수 있을 것이다!
그리고.. 이 맬로우즈 Cp값을 간소화 시킬 건데,
만약 현재 모형이 좋다면 최대모형과 적합도가 비슷할 것이다.
따라서 SSEp가 SSE와 비슷해질 것이고, SSE는 (n-p)s^2로 나타낼 수 있다. 즉 SSEp/s^2는 (n-p)에 비슷할 것!
그럼 이를 위 식에 대입해보면, Cp값은 n-p-n+2p, 즉 p에 가까워질 수록 좋은 모형이라는 것이다.
최대모형에서는 항상 Cp=p이기에, 맬로우즈는 Cp<=p가 되는 모형들을 추가분석하는 방법을 제안했다.
그리고 호킹이라는 사람은 예측도가 중요하면 맬로우즈 Cp, 적합도가 중요하면 Cp<=2p-(최대모형 설명변수 개수)를 사용하는 것을 제안했다.
- PRESSp
위에서 말한 기준들은 모두 현재모형의 적합도가 얼마나 좋은지 나타내는 측도이다.
근데 아까도 말했듯, 적합도와 마찬가지로 예측도도 중요한 목적 중 하나이다.
정확도가 높은 예측이 필요한 문제에서는 예측도가 높은 모형을 선택해야 한다.
그 예측도를 나타내는 측도의 하나인 PRESSp를 소개할 것이다. 이는 예측잔차제곱합이다.

다들 저 yi(i)_hat는 i번째 관측치를 제외하고 (n-1)개의 관측치로 추정한 현재모형에서, xi에서 예측한 y값을 의미한다는 것은 알 것이다.
즉 이 PRESS는 n개의 자료를, n-1개와 1개로 나누어서, n-1개는 추정에 이용하고 나머지 한 개는 예측의 정확도 계산에 사용한다. 즉 교차확인을 할 수 있다는 것이다. validation set을 생각하면 이해하기 쉬울 것이다.
따라서 이 PRESS의 값을 최소화하는 모형을 최적모형으로 선택하면 되고,
이또한 앞의 게시물에서 말했듯 n번 재계산 하는 것이 아니라 공식이 있다.

- AIC/BIC
마지막 기준이다!
AIC는 두 확률분포간 차이를 나타내는 쿨백-라이블러 거리의 추정값인데, 가능도함수의 크기와 모수의 개수를 함께 반영한 기준이다.
가능도함수는 뭐냐하면, 모수의 함수로 본 결합확률밀도함수로, 자료에 포함된 모수에 대한 정보의 크기를 나타낸다.
Yi끼리 독립이고 각 확률밀도함수가 f(yi:theta)라면, 결합은 이 함수들을 모두 곱한 것.. 이게 모수벡터 theta의 가능도함수!
그리고 모수추정방법으로 많이 사용하는 최대가능도추정법은 이 가능도함수를 최대화하는 theta의 값을 구하는 방법이다.
즉 L(theta_hat)은 max L(theta)이다.
그럼 AIC는 어떤 식이냐, 하면

따라서 가능도함수의 값이 커지면 AIC가 작아진다. 그래서 AIC가 작을수록 좋은 모형이라고 보면 된다.
그리고 가능도함수는 모수가 많을수록 커지는데, 둘째항에 +2p라는 벌점항을 줌으로써 모형을 간결하게 한다.
이 AIC의 장점은,
AIC를 최소화하는 것은 예측오차분산의 추정량인 FPE를 최소화하는 모형선택과 공일하다.
그리고 약간의 가정과 변환을 거치면 AIC는 맬로우즈 Cp와 같은 기준이 된다.
BIC는 AIC와 유사한 기준인데, AIC에서 둘째항이 plog(n)으로 바뀐 것이다.
보통 log(n)이 2보다 크므로 BIC가 AIC보다 모형의 복잡성에 더 큰 벌칙을 준다.
3. 변수선택의 방법
이제 앞의 변수선택 기준을 어떻게 이용해서 변수선택을 할 수 있을까를 알아볼 것이다.
아까 맬로우즈Cp에서 맬로우즈가 주장했듯, 최적의 단일 모형을 찾는 것보다 괜찮은 여러 모형을 찾아서 그 중 최적을 찾는 방법이 있다. 이 방법을 모든 가능한 회귀 라고 한다. 설명변수 개수가 그닥 많지 않은 경우에 사용할 수 있다.
만약 최대모형이 k개의 변수로 구성되어있다면, 그 변수들로 구성할 수 있는 모형의 개수는 총 2^k개가 된다.
따라서 모든 모형을 검토하기엔 시간이 많이 걸릴 것이다.
그래서 R이나 SAS에서는 최적모형 또는 최적모형군을 자동으로 선택해주는 알고리즘이 있다.
그 중 가장 많이 사용되는 단계별 회귀는 상수항 또는 필수 설명변수들만 있는 모형에서 시작해서, 설명력이 가장 높은 설명변수부터 순차적으로, 기준에 만족하는지 검사하며 모형에 포함시켜나간다.
두 번째 단계에서 나오는 '설명력'은 매 단계에서 포함 대상이 되는 설명변수 각각에 대한 t통계량 값 or 부분 F통계량값의 크기이다.
설명변수를 모형에 포함시킬 땐 일반적으로 F값의 유의도, 즉 p값으로 설정된다.
따라서 F값이 가장 큰 설명변수의 p값이 사용자의 기준값보다 작으면 모형에 포함되고, 다음으로 넘어간다.
그리고 해당 p값이 사용자의 기준값보다 크다면 모형에서 제거된다.
즉,
[단계 1]
상수항만 있는 모형을 가정하고, 각 설명변수가 추가되면서 부분 F검정통계량의 F값은 Fi=MSRi/si^2이 된다.
이 중 가장 큰 F값의 p값이 설정된 기준값보다 작다면? 그 변수를 추가하면 된다.
근데 만약 그렇지 않다면 영모형을 최종모형으로 선택하면 된다.
[단계 2]
그리고 위 단계에서 만약 설명변수 X7이 추가됐다면, 이 설명변수 외에 또다른 설명변수가 추가된 두 개의 설명변수를 포함하는 모형을 최대모형으로 하고, X7만 있는 모형을 현재모형으로 하여 부분 F검정을 진행한다.
그럼 Fi = MSR(Xi|X7)/s^2*(X7, Xi)가 된다.
분자는 X7만 있는 모형에 Xi를 추가하면 증가하는 회귀제곱합(추가제곱합)이고, 분모는 X7과 Xi로 구성된 최대모형에서 오차평균제곱이다.
이 Fi값 중 가장 큰 값의 p값이 기준값보다 작다면 Xi가 추가되고, 아니라면 여기서 변수선택을 끝내는 것이다.
[단계 3]
만약 X3 변수가 추가됐다면, 이미 X3에 대한 부분 F검정은 실시됐으므로 X7에 대한 부분 F검정만 실시한다.
그럼 또 이의 p값이 기준값보다 작으면 X7은 현재모형에 유지되고, 아니라면 제거된다.
[반복&끝]
그리고 X3과 X7이 남았다면.. 또다른 변수들에 대해 위 과정을 반복한다.
언제까지?
선택/제거의 대상이 되는 설명변수가 더이상 없거나, 직전에 제거된 변수가 바로 다음 단계에서 다시 선택되는 경우 끝!
(무한 순환 방지)
이와 비슷한 방법으로 전진선택 방법과 후진제거 방법이 있고,
전진선택 방법은 단계별 회귀와 동일하지만, 모형에 이미 포함된 변수는 제거되지 않는다는 차이점이 있다.
즉, 단계3의 이미 모형에 있는 설명변수에 대한 부분F검정은 실시하지 않는 것이다.
후진제거 방법은 이와 정반대로, 최대모형에서 시작해서 가장 낮은 F값이 기준값보다 작으면 해당 설명변수를 하나씩 제거해 나가는 방법이다. 변수가 한 번 제거되면 모형에 다시 포함될 수 없다.
4. 모형의 확인
정말정말 마지막이다!!!
최종모형을 사용하기 위해서는 모형의 타당성에 대한 모형확인 단계를 거쳐야 한다.
이론이나 경험에 근거한 예상과 비교하여 모형에 포함된 설명변수들이 타당한지, 회귀계수 추정값의 크기나 부호들이 부합한지 등을 검토할 필요가 있다. 아니면 새로운 자료를 활용해서 최종모형의 예측능력이 어느 정도인지 평가를 하면 된다.
자료개수가 충분히 큰 경우라면, train data와 validation data로 구분해서 사용할 수 있다.
훈련데이터로 현재모형 적합 후 확인자료로 평가하면 되는데, 예측오차를 사용해 평가하면 된다.
확인자료에는 반응변수의 관측값이 있기 때문에 예측값이 관측값과 얼마나 일치하는지 보면 된다.
여기서 데이터가 충분하지 않다면 cross validation을 사용하면 된다. k-fold를 말하는 것!
'통계 > 회귀' 카테고리의 다른 글
중선형회귀모형 - 자료에 대한 진단 (6) | 2024.11.07 |
---|---|
회귀분석의 기초 (5) | 2024.10.17 |