6장 - 선형모형선택과 규제(2)

cmkkws·2025년 3월 8일

본 포스팅의 내용은 Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, Jonathan Taylor (2023), 「An Introduction to Statistical Learning with Applications in Python」, Springer 를 참고하였습니다.

6.3. 차원축소법

지금까지의 방법은 일부 부분집합을 선택하거나, 0의 방향으로 축소하는 식으로 분산을 제어했다.

이제 예측변수를 변환(transform)한 후 변환된 변수를 사용해 최소제곱모형을 적합하는 또 한 부류의 접근법인 차원축소법(dimension reduction)에 대해 알아본다.

예측변수가 pp개일 때, M<pM<p 개인 선형결합 Z1,Z2,...,ZMZ_1, Z_2, ... , Z_M이라고 했을 때 다음과 같다.

여기서 ϕ\phi는 상수이다.

그리고 이를 최소제곱을 사용해 선형회귀모형을 적합한다면 다음과 같을 것이다.

이 식에서 회귀계수는 θm\theta_m이다.
상수 ϕ1m,ϕ2m\phi_{1m}, \phi_{2m}를 잘 선택하면 차원축소법이 최소제곱 회귀보다 성능이 좋을 때가 많기 때문에 최소제곱을 이용해 다음 식을 적합하면 좋은 결과가 나올 수 있다.

차원축소(dimension reduction)는 기존 회귀계수 β1,...,βp\beta_1, ..., \beta_p에서 θ1,...,θm\theta_1, ..., \theta_m으로 개수를 줄여 단순한 문제로 축소한다는 사실에서 유래한 것이다.


위 식을 본다면 앞의 식은 원래 선형회귀모형에서의 특별한 경우로 생각해볼 수 있다.
또한 차원축소는 추정된 βj\beta_j의 계수를 제약하는 역할을 한다.

계수형태에 제약을 주면 계수 추정값을 편향시킬 수 있지만 p>np>n인 상황에서 예측변수를 많이 줄인 MM을 선택하면 분산을 상당히 줄이는 효과를 가진다.

차원축소는 두 단계로 작동하는데, 다음과 같다.

  • 변환된 변수 Z1,Z2,...,ZMZ_1, Z_2, ... , Z_M, 을 구한다.

  • MM개의 예측변수를 사용해 모형을 적합한다.

    여기서 Z1,Z2,...,ZMZ_1, Z_2, ... , Z_Mϕjm\phi_{jm}을 선택하는 것은 여러 가지 방법이 있는데 그 중 두 가지 접근법을 알아본다.

  • 주성분(principal components)

  • 편최소제곱(partial least squares)

6.3.1. 주성분회귀

주성분분석(PCA, principal components analysis)은 많은 변수(고차원) 집합에서 저차원의 특징 집합을 도출하기 위한 접근법이다.

이를 회귀에서 사용하는 차원축소 기법으로 알아볼 것이다.

주성분분석 개요

PCA는 n×pn \times p 행렬 XX의 차원을 줄이는 방법이라고 할 수 있다.

예를 들어 확인해보자.

[그림 6.14] 100개의 도시의 인구 크기와 광고 지출을 표시한 것이다.

여기서 초록색 실선은 데이터의 '첫 번째 주성분' 방향으로 관측 값들이 가장 많이 변동하는 방향이다.

100개의 관측을 이 선 위에 투영하면 다음 왼쪽 그림과 같을 것이다.

[그림 6.15] 왼쪽: 첫 번째 주성분 방향에서 관측값 사이의 거리 / 오른쪽: 왼쪽 그림을 회전해 첫 번째 주성분 방향을 x축과 일치하도록 했을 때

투영된 관측은 가능한 가장 큰 분산을 가질 것이다.

내가 알고 있는 '분산이 크다'는 편향 - 분산 트레이드오프에서 일정 관측치에 크게 관여해 과적합을 일으키는 문제점이 있는 것이 아닌가? 생각해보았는데 해석을 다르게 하면 되는 것 같다.

[그림 6.14]에서 첫 번째 주성분의 식은 다음과 같다.

여기서 ϕ11=0.839,ϕ21=0.544\phi_{11} = 0.839, \phi_{21} = 0.544이다.
이는 ϕ112+ϕ212=1\phi_{11}^2 +\phi_{21}^2 = 1을 만족하는 변수들의 모든 가능한 '선형결합' 중 가장 높은 분산을 산출하는 결합이라는 아이디어이다.

ϕ112,ϕ212\phi_{11}^2 , \phi_{21}^2을 임의로 증가시키면 분산이 확대할 수 있어, 다음과 같이 고려할 필요가 있다.

왜 두 값이 1을 만족해야할까?(단위 벡터로 정규화해야하는 이유)

다음 데이터 세트에서는 n=100n = 100이므로 다음과 같다고 볼 수 있다.

다음 zz값들을 주성분점수(principal component score)이라고 하고 그림[6.15]에서 오른쪽에서 확인할 수 있다.

주성분분석(PCA)는 다음과 같이 해석할 수 있다.

첫 번째 주성분 벡터는 데이터에 '가능한 한 가까운'선이다.

또한 그림[6.15]에서 오른쪽은 왼쪽 그림을 x축에 일치하게 회전시킨 것인데, ii번째 ×\times 표시가 0에서 x 방향으로 떨어진 거리임을 볼 수 있다.

주성분의 값은 각각의 위치에서 pop과 ad예산을 결합해 하나의 수치로 요약한다고 생각할 수 있다.

여기서 zi1=0.839×(popipopˉ)+0.544×(adiadˉz_{i1} = 0.839 \times (pop_i - \bar{pop}) +0.544 \times (ad_i - \bar{ad})의 값이 0보다 작다면 인구 크기와 광고 지출이 평균 이하의 도시를 나타낸다.

[그림 6.16] 첫 번째 주성분점수 대비 pop과 ad의 그래프로 둘 사이의 강한 관계를 보인다.

다음은 zi1z_{i1} 대비 pop과 ad 각각의 그래프로 첫 번째 주성분과 두 특징 사이의 강한 관계를 보여준다.

일반적으로 최대 pp개의 서로 다른 주성분을 구성할 수 있다.

두 번째 주성분(Z2Z_2)은 첫 번째와 상관관계가 없고(영상관, zero-correlation) 제약 조건을 지키면서 가장 큰 분산을 갖는 변수들의 선형결합이다.

여기서 영상관이라는 것은 두 개의 주성분이 수직(prependicular) 또는 직교(orthogonal)한다는 의미를 가진다.

이에 따라 두 번째 주성분은 다음과 같다.

이 데이터 세트에서는 두 개의 예측변수 뿐이므로 두개의 주성분이 모든 정보를 포함한다.

그 중에서도 구성상 첫 번째 성부이 가장많은 정보를 포함한다.

그림[6.15]에서 가로의 변동 세로의 변동보다 더 넓은 것을 알 수 있는데, 두 번째 주성분점수가 훨씬 0에 가깝다는 사실은 이 성분이 훨씬 적은 정보를 포함한다는 것을 나타낸다.

다음 예를 보자.

[그림 6.17] 두 번째 주성분점수 대비 pop과 ad의 그래프로 둘 사이의 약한 관계를 보인다.

이 그림을 보면 두 번째 주성분과 예측변수 사이에는 거의 관계가 없다는 것을 알 수 있다.

앞서 본 예제는 두 개의 예측변수로 최대 두 개의 주성분을 구성할 수 있었다.
하지만 다른 예측변수를 추가하면 성분을 추가적으로 구성할 수 있다.
추가 성분은 선행 성분과 상관관계가 없다는 제약 조건을 충족하면서 차례대로 분산을 최대화 할 것이다.

주성분회귀방법

주성분회귀(PCR, principal components regression) 접근법은 앞선 MM개의 주성분 Z1,Z2,...,ZMZ_1, Z_2, ... , Z_M을 선형회귀모형의 예측변수를 사용해 체소제곱법으로 적합하는 과정으로 이루어진다.

여기서 핵심 아이디어는 예측변수를 축소해 데이터의 변동을 대부분 설명하면서 반응과의 관계를 설명하기에도 충분한 경우가 많다.

즉, X1,X2,...,XpX_1, X_2, ..., X_p가 큰 변동을 보여주는 방향이 YY와 연관된 방향으로 가정한다는 것이다.(항상 참이라는 보장은 없지만 합리적인 근사값을 제공해준다.)

이러한 주성분으로 축소된 변수를 사용해 최소제곱모형을 적합하는 것이 기존 변수로 최소제곱모형을 적합하는 것이 결과가 더 좋을 수 있다.

왜냐하면 주성분으로 축소한 변수에 기존 모형에 대한 정보가 들어있으며, 추가로 예측변수의 개수를 줄인다면 과적합을 완화해 더 좋은 성능의 모형이 나올 수 있기 때문이다.

[그림 6.18] PCR을 두 개의 시뮬레이션 데이터 세트에 적용한 결과.

두 그림은 모두n=50,p=45n=50, p=45인 데이터 세트이다.
하지만 왼쪽 그림은 모든 예측변수를 사용했고, 오른쪽 그림은 2개의 예측변수를 활용해 적합한 결과이다.

가로축은 회귀모형에서 예측변수로 사용된 주성분의 수MM에 대한 모습으로 더 많은 주성분을 사용할수록 편향은 감소하고, 분산은 증가한다.(분산-편향 트레이드오프를 생각해보자.)
MSEMSE가 전형적인 감소했다가 증가하는 U-자형이 된다.
M=45M = 45일때 모든 예측모형을 사용하는 최소적합모형이므로, 적절한 MM을 선택해 성능을 개선시킬 수 있다.

지금 그래프로 볼 때는 라쏘, 능형회귀 결과처럼 성능이 좋지 않은 결과를 알 수 있는데, 왜냐하면 반응변수의 적절한 모형으로 많은 주성분이 필요하도록 데이터가 생성 되었기 때문이다.

예를 들어, 주성분 몇 개만으로도 예측변수의 대다수의 변동과 반응변수의 관계를 포착할 수 있다면 PCR의 성능이 좋다.

[그림 6.19] XX의 처음 다섯 개의 주성분이 반응변수에 대한 모든 정보를 포함하는 시뮬레이션 데이터 세트. 축소 불가능한 오차는 ϵ\epsilon으로 표시. 왼쪽: PCR 결과 / 오른쪽: 라쏘(실선)와 능형회귀(점선)의 결과

해당 데이터세트는 PCR에 유리하게 설계된 것으로, 주성분 다섯 개에 모든 반응변수의 정보가 담기도록 포함했다.

주성분의 개수가 증가함에 따라 편향은 급격이 떨어지고, M=5M=5에서 최솟값을 보여준다.

오른쪽은 같은 데이터를 능형회귀 및 라쏘를 이용해 얻은 결과로, 세 방법 모두 최소제곱방법보다 상당히 개선된 결과를 보인다.

이렇게 PCR이 예측변수를 축소해 회귀를 수행하는 특징을 가지지만 특징선택 방법은 아니다.
왜냐하면 각각의 주성분은 원래 특징 pp개를 모두 이용한 선형결합이기 때문이다.

따라서 PCR은 실제 상황에서 상당히 성능이 좋은 경우가 많지만, 원래 특징의 일부 작은 집합에 의존하는 모형의 개발로 귀결되지 않는다.

주성분은 여러 원래 변수들의 선형 결합으로 구성되어 있으며, 개별 변수의 의미를 직접적으로 해석하기 어렵다.
즉, PCR은 원래 특징(feature) 중 일부만 선택하는 방식이 아니기 때문에, 최종적으로 특정한 작은 변수 집합에 의존하는 모델이 되지 않는다.

이러한 모든 예측변수를 사용한다는 의미를 가지기 때문에 PCR은 라쏘보다 능형회귀에 더 가까운 것을 알 수 있다.
(오히려 능형회귀의 연속형 버전이라고 생각할 수도 있다.)

PCR에서 주성분의 수는 일반적으로 교차검증으로 선택되는데 다음과 같다.

[그림 6.20] 왼쪽: Credit 데이터 세트에서 다양한 M 값에 대한 PCR 표준화 계수 추정값. / 오른쪽: PCR로 얻은 10-겹 교차검증 MSE를 M의 함수로 나타낸 결과.

오른쪽 그림을 보면 M=10M=10일 때 최소 교차검증MSE 값이 나오는데, 이는 차원축소가 전혀 없을 때이다.
따라서 해당 데이터는 최소제곱일 때가 가장 성능이 좋다는 것을 알 수 있다.

PCR을 수행할 때 일반적으로 주성분을 생성하기 전 이전 능형회귀에서 보았던 표준화하는 식을 통해 예측변수를 표준화한 후 분석을 권장한다.
(단위가 제각각일 경우 큰 단위 때문에 분산이 큰 변수가 가지고 있어 원래 영향력보다 주성분에서 더 큰 역할을 할 수 있다.)

6.3.2. 편최소제곱법

앞의 PCR은 예측변수를 잘 대표하는 선형결합이나, 방향을 찾아내는 것이 필요하다.
(그리고 이는 비지도학습 방식으로 이루어진다.)

따라서 PCR은 예측변수를 가장 잘 설명하는 방향이 반응변수를 예측하기 가장 좋은 방향이라는 보장이 없다는 한계가 있다.

PCR의 대안 지도학습으로 편최소제곱법(PLS, partial least squares)가 있다.

이 역시 차원축소 방법으로 선형 결합 Z1,Z2,...,ZMZ_1, Z_2, ... , Z_M을 찾아내고, 선형모형을 적합하지만,

PCR과 달리 지도 방식으로 새로운 특징을 찾아내는데, 반응변수를 사용해 기존 특징을 잘 근사할 뿐만 아니라 반응변수와 연관시키도록 한다.
(PCR은 예측변수의 관계만을 이용하지만, PLS는 예측변수, 반응변수 모두 설명하는데 도움이 되는 방향을 찾는 방법)

첫 번째 PLS 방향은 어떻게 계산될까?

먼저 예측변수를 표준화 한 다음, 각각의 ϕj1\phi_{j1}을 설정한다. 이 계수가 반응변수와 예측변수의 상관관계에 비례함을 보일 수 있다.
그러므로 이를 계산할 때 반응변수와 가장 연관되어 있는 변수에 가장 높은 가중치를 부여한다.

[그림 6.21] 광고 데이터에서 첫 번째 PLS 방향(실선)과 첫 번째 PCR방향(점선)을 보여준다.

이 그림은 판매량을 반응변수로 하고, 두 개의 예측변수로 하는 합성 데이터 세트에 PLS, PCR을 적용한 예시이다.

실선은 PLS의 첫 번째 방향으로 PCA에 비해 기울기가 더 작다.(pop이 ad 보다 상관관계가 더 높다.)

PLS는 PCA만큼 예측변수에 밀착되지 않지만 반응변수를 설명할 때는 성능이 더 좋다.

  • 두 번째 PLS 방향을 찾으려면 먼저 각각의 변수를 Z1Z_1에 회귀하고 잔차를 취해 Z1Z_1에 대해 각 변수를 조정한다.

  • 여기서 잔차는 Z1Z_1에서 설명 못한 정보이다.

  • 따라서 이 잔차를 이용해서 새로운 변수로 만들어 직교화된 데이터를 사용해 Z2Z_2를 생성하고 이를 MM번 반복한다.

  • 마지막으로 PCR 처럼 선형모형을 최소제곱법으로 적합한다.

    PLS 또한 MM의 개수는 일반적으로 교차검증으로 선택되는 조율모수이다.

    PLS는 디지털 분광계 신호에서 많은 변수가 나오는 계량화학 분야에서 인기가 있다.
    다른 축소하는 접근법보다 성능이 낮을 수 있지만, PLS의 지도를 받는 차원축소는 편향을 줄일 수 있지만 분산을 증가시킬 잠재적인 가능성이 있다.
    그래서 PLS의 PCR 대비 전체 이득은 사라진다.

6.4. 고차원에서 생각할 점

6.4.1. 고차원 데이터

과거에는 전통적인 통계 기법은 저차원 상황을 위해 만들어졌다.

데이터 형태가 대부분 그런 형태이었기 때문이다. (예측변수는 적고, 관측값은 많은 형태)

하지만 최근 다양한 분야에서 새로운 기술들이 데이터 수집 방식의 변화가 있었기 때문에 관측값은 제한적이면서 예측변수가 매우 커지는 경우가 많아졌다.

  • 나이, 성별, BMI로 혈압 예측하는 것에서 오십만 개의 단일염기성형성 측정값을 수집해 예측모형에 포함(n=200,p=500,000)n=200, p=500,000)
  • 마케팅에서 사용자가 입력한 모든 검색어를 특징으로 취급할 때(단어 가방모형), 사용자에 대해 검색어가 존재함(1), 존재하지 않음(0)으로 점수를 매겨 이진 특징 벡터 제공 이러한 예측변수가 관측 수보다 매우 큰 상황을 고차원이라고 한다. 최소제곱은 고차원 상황에 적절하지 않다.(분산-편향 트레이드오프, 과적합의 위험)

    6.4.2. 고차원에서 무엇이 문제인가?

    p>np>n인 회귀와 분류 작업을 할때 문제점을 최소제곱 회귀를 예를 들어보자.
    (로지스틱 회귀, 선형판별분석 같은 정통적인 통계기법도 마찬가지이다.) 먼저 p>np>n인 경우에는 최소제곱은 실행하면 안 된다.
    왜냐하면 특징과 반응 사이의 실제 관계와 상관없이 최소제곱의 결과는 데이터에 완벽하게 적합된 계수 추정값이 되고 잔차가 0이 되기 때문이다.

    최소제곱법은 예측변수가 더 많으면 해가 유일하지 않게 되고, 주어진 데이터를 완벽하게 설명하는 계수 조합이 무한히 존재한다.
    따라서 잔차 값은 0이 되고, 모든 훈련 데이터 값을 따라가는 모형의 만들어저 과적합이 이루어진다.

    다음 그림 예제가 이러한 현상을 잘 설명해준다.
[그림 6.22] 왼쪽: 저차원의 최소제곱 회귀. / 오른쪽: 고차원의 최소제곱 회귀.

왼쪽처럼 관측값에 완벽하게 적합하지 않지만 관측을 가능한 한 잘 근사하려고 하는 것이 편향과 분산을 잘 조절한 모형이다.

하지만 오른쪽은 관측값에 완벽하게 맞추기 때문에 잔차는 0이 되고, 앞으로 테스트 데이터에서의 성능이 매우 낮을 것이다.

한마디로 정의하자면, p>n,pnp>n, p\approx n일 때 단순 최소제곱 회귀선은 너무 유연해서 데이터에 과적합된다.

[그림 6.23] 훈련 관측이 20개인 시뮬레이션 결과에서 관련 없는 특징들이 모형에 추가되었다.

다음 그림은 특징 pp가 클 때 최소제곱을 부주의하게 적용할 위험을 추가로 보여준다.

상관 없는 변수를 추가함에도 불구하고 R2R^2을 보면 변수가 많아질수록 1에 가까워지고, 훈련MSE 또한 0에 가까워진다.
하지만 테스트MSE는 극단적으로 커지는데, 계수 추정값이 분산이 크게 증가하기 때문이다.

따라서 변수가 많은 데이터를 분석할 때는 특별한 주의가 필요하며 항상 모형 성능은 독립적인 테스트 세트에서 평가하는 것이 중요하다.

6.1.3. 절에서 최소제곱모형을 적합하기 위해 사용되는 방법 중 간접적으로 오차를 추정하는 방법 4가지에 대해서 살펴보았다.
(Cp,AIC,BIC,수정된R2)C_p, AIC, BIC, 수정된 R^2)

이러한 접근법은 고차원에서는 적절하지 않는데 σ2^\hat{\sigma^2}을 추정하는 것이 문제가 많기 때문이다.
수정된 R2R^2 또한 문제가 있는데, 1인 모형이 나오기 쉽다.

6.4.3. 고차원 회귀분석

단계적 전진선택법, 능형회귀, 라쏘, 주성분회귀 같이 덜 유연한 최소제곱모형을 적합하는 방법들은 고차원 상황에서 회귀를 수행하는데 유용하다.
(분산을 줄여 과적합을 피한다.)

[그림 6.24] 라쏘 방식으로 100개의 관측과 세 가지 특징 수로 수행됐다.

다음 그림은 예측변수의 변화에 따른 라쏘의 성능을 나타낸 것이다.

세 가지 그림은 관측값의 개수가 100개이고, 각각 예측변수를 20, 50, 2000개로 했을 때이고, 실제 20개가 실제 결과와 연관되어 있다.
이를 훈련 데이터 세트에서 수행하였고, 독립 테스트 세트에서 평균제곱오차를 평가한 결과이다.
x축에는 자유도로 표시되어 있는데, 단순히 라쏘 해에서 영이 아닌 계수 추정값의 개수이며, 라쏘 적합의 유연성을 나타내는 척도이다.

여기서 세 가지 중요한 사항을 강조할 수 있는데,

  • 고차원 문제에서 규제 및 축소가 핵심적인 역할을 한다.
  • 좋은 예측 성능을 위해 적절한 조율모수 선택이 중요하다.
  • 추가 특징이 반응과 참 연관성이 없는 한, 문제의 차원이 증가함에 따라 테스트 오차는 증가하는 경향이 있다.

특히 3번을 차원의 저주로 알려져 있다.
모형을 적합하는 데 사용되는 특징 수가 증가함에 따라 적합 모형의 품질이 좋아질 것이라 생각하지만, 추가되는 특징이 반응 변수와 연관된 예측변수에 한해서 성능이 개선된다.

따라서 고차원의 데이터를 다룰 때에는
예측변수의 추가가 적합 모형을 개선시킬 수도 있지만, 더 나쁜 결과를 초래할 수 있다.
더군다나 관련이 있다고 계수를 적합할 때 발생하는 분산이 편향 감소를 상쇄시키는 지점이 있기 때문에 성능이 좋지 않을 수 있어 주의해야 한다.

6.4.4. 고차원에서의 결과 해석

고차원에서 라쏘, 능형회귀 같은 회귀 절차를 수행해 얻은 결과는 조심스럽게 보고해야한다.
다중공선성(multicollinearity), 변수 사이에 상관관계를 파악해야 한다.

특히 고차원에서 큰 문제가 되는데,
모형의 변수는 모두 모형에 있는 나머지 변수의 선형결합으로 표현할 수 있다.
다중공선성이 존재하면 어느 변수가 반응의 참 예측변수인지 알 수 없고, 회귀에서 사용할 수 있는 가장 좋은 계수도 찾아낼 수 없다는 의미이다.
결과를 실제로 예측하는 변수와 상관관계에 있는 변수에 큰 회귀계수를 부여할 뿐이다.

예를 들어 오십만 개의 SNP를 바탕으로 혈압을 예측한다고 했을 때,
단계적 전진석택법으로 17개의 변수를 사용한 모형의 제일 좋다는 결과가 나왔을 때,
이 모형이 포함되지 않은 다른 SNP보다 더 효과적으로 혈압을 예측한다고 할 수 없다.
선택된 모형만큼 혈압을 예측하는 다른 17개의 SNP세트가 많을 수 있기 때문이다.

  • 유사한 효과를 내는 SNP가 많을 수도 있다.(변수 간 상관관계가 커 가장 좋은 효과를 내는 SNP을 찾기 힘듦)
  • 단계적 선택법에서 초기 변수를 선택에 따른 변수의 집합이 바뀐다.

독립적인 데이터 세트를 얻어 그 데이터 세트에서 단계적 전진선택을 수행한다면 전혀 겹치지 않는 SNP 세트로 이루어진 모형을 얻게 될 수도 있다.
이 결과가 얻은 모형의 가치를 떨어뜨리지는 않는데, 독립적인 환자 집단에서 혈압을 예측하는데 매우 효과적이고 의사에게 임상적으로 유용할 수 있다.

그러나 이를 과대평가하지 않도록 주의하고, 독립적인 데이터 세트에서 추가적인 입증이 필요하다고 명확히 해야한다.
(단지 혈압을 예측하귀 위한 많은 가능한 모형 중 하나를 찾은 것이다.)

또한 고차원에서는 오차와 모형 적합도 측정값을 보고할 때도 주의해아하는데.
고차원일 때는 잔차가 0인 모형이 나오기 쉽다.
따라서 전통적인 모형 적합도 측정값인(오차제곱합, p-값, R2R^2 통계량)을 고차원인 상황에서 좋은 모형 적합의 증거로 절대 사용하면 안된다.

대신 독립적인 테스트 세트의 결과나, 교차검증 오차를 보고하는 것이 중요하다.

0개의 댓글