주성분 회귀(Principal components regression, PCR)
주성분 회귀 기법은 p개의 변수를 m개의 변수로 축소하여 m개의 변수들로 선형회귀 모델을 fit합니다. m개의 변수는 주성분 요소(Z1, ..., Zm) 입니다. 주성분 요소는 데이터의 공분산 행렬에 SVD를 적용하여 구할 수 있습니다.
PCR 기법은 설명변수 X1, ..., Xp를 가장 잘 나타내는 선형결합 또는 방향을 찾는 것입니다. 이러한 방향은 비지도 방식으로 식별되는데, 반응변수 Y가 주성분 방향을 결정하는데 이용되지 않기 때문입니다. 즉, 반응변수는 주성분을 찾는 것을 지도하지 않습니다. 따라서 PCR은 설명변수들을 가장 잘 설명하는 방향이 반응변수를 예측하는데 사용하기에도 가장 좋은 방향이 된다는 보장이 없습니다.
핵심 아이디어는 데이터에서 가장 큰 변동성과 반응 변수와의 관계를 적은 수의 주성분 요소로 설명하기에 충분하다는 것입니다. 다른 말로하면, X1~Xp의 변동이 큰 방향들이 Y와 관련이 있는 방향이라고 가정합니다. 이 가정은 항상 옳지 않지만 많은 상황에서 좋은 결과를 주도록 충분한 근사화로 판명되었습니다.
PCR은 m개의 변수들로 최소제곱 적합을 진행하며 이는 기존의 p개의 변수로 최소제곱 적합을 한 것보다 좋은 성능을 타나냅니다. 반응 변수와 관련된 데이터의 모든 정보가 m개의 주성분 요소 Z1~Zm에 포함되어있기 때문입니다. m이 p보다 작기 때문에 overfittig을 해결합니다.
위 그림은 50개의 관측값과 45개의 변수들로 이루어진 두 가지의 데이터셋에 PCR을 적용한 그림입니다. 모델이 포함하는 주성분의 수에 따라 test MSE, bias, variance를 보여줍니다. 주성분의 수가 증가할 수록 bias는 감소하고 variance는 증가합니다. 또한 적절한 개수의 주성분을 선택하면 가장 낮은 Test MSE를 얻을 수 있습니다. 이는 적절하게 선택된 주성분의 수로 PCR를 적용하면 최소제곱 방법의 성능을 뛰어넘을 수 있다는 것을 보여줍니다. 하지만 이 예제에서는 PCR이 Lass나 ridge 같은 수축법만큼 좋은 성능을 나타내지 않습니다.
몇 가지 주성분이 변수들의 가장 큰 변동성과 반응 변수와의 관계를 충분히 포착한다면 PCR은 좋은 성능을 보입니다.
위 그림은 다른 방식으로 생성된 데이터 셋에 PCR와 수축법을 적용한 그림입니다. 여기에서 반응변수는 처음 다섯 개의 주성분에만 전적으로 의존되도록 데이터가 생성되었습니다. 주성분의 수가 증가함에 따라 bias가 빠르게 감소하며 가장 낮은 test MSE도 수축법보다 낮은 값을 갖습니다. 이 데이터에서는 수축법인 lasso와 ridge보다 PCR이 좋은 성능을 갖습니다.
한가지 유의할 점은 PCR은 p보다 적은 M개의 변수로 회귀를 진행하지만, 이것은 변수선택 방법이 아닙니다. 회귀에서 사용되는 각 M개의 주성분은 모든 p개의 변수의 선형결합이기 때문입니다. PCR은 라쏘보다 능형회귀와 밀접한 관계를 갖으며 능형 회귀는 PCR의 연속 버전으로 생각할 수 있습니다.
PCR에서 주성분의 수 M은 cross-validation으로 선택합니다.
주성분의 개수에 따른 cross-validation을 계산하여 MSE가 가장 낮은 주성분 회귀 모델을 선택합니다.
PCR을 수행하는 경우에 각 변수들에 표준화(standardizing)을 적용합니다.
표준화를 적용하면 모든 변수가 동일한 scale을 갖습니다. 표준화를 적용하지 않으면 높은 분산을 갖는 변수들이 주성분에서 큰 영향을 미치는 경향이 있고, 이는 최종 PCR 모델에 영향을 미칩니다. 만약 변수들이 모두 동일한 단위로 측정되면 표준화를 적용하지 않아도 됩니다.
참고자료 및 그림 출처
Gareth James의 An Introduction to Statistical Learning
위 책을 공부하고 정리한 내용입니다.
'수학 > Statistical Learning' 카테고리의 다른 글
[ISLR] 다항식 회귀(Polynomial Regression) (0) | 2021.07.25 |
---|---|
[ISLR] 부분 최소 제곱(PLS, Partial Least Squares) (0) | 2021.07.21 |
[ISLR] 주성분 분석 개요(Overview of Prinicipal Components Analysis) (0) | 2021.06.05 |
[ISLR] 차원축소 방법(Dimension Reduction Methods) (0) | 2021.06.01 |
[ISLR] 라쏘(Lasso)와 능형 회귀(Ridge regression) 비교 (0) | 2021.06.01 |