Partial Regression

김당찬·2022년 4월 9일
0
post-thumbnail

Partial Regression

Linear Regression model에서 예측변수가 여러개일 때, 즉 multiple linear regression인 경우 각각의 변수 고유의 영향력을 파악하는 방법으로 partial regression이 있다(Partial Least Square algorithm과 명백히 다르다!). 이에 대해 간단히 다루어보도록 하자. 우선 다음과 같은 회귀모형

Y=X1β1+X2β2+ϵ(Full Model)Y=X_1\beta_1+X_2\beta_2+\epsilon\tag{Full Model}

이 존재한다고 하자. 이때, 예측변수 X1,X2X_1,X_2X1X_1만을 사용하여 다음과 같이 새로운 모형을 만든다고 하자.

Y=X1β1+ϵ(Reduced Model)Y=X_1\beta_1^*+\epsilon\tag{Reduced Model}

그러면, 행렬 X1,X2X_1,X_2가 직교하지 않는 한 OLSOrdinary Least Square를 이용해 추정한 회귀계수에 대해서 β^1β^1\hat\beta_1\neq\hat\beta_1^* 이 성립한다(아래 참고).

Full Model에 대한 Least squares:

[β^1    β^2]=[X1TX1X1TX2X2TX1X2TX2]1[X1TYX2TY](1)[ \hat\beta_1 \;\; \hat\beta_2 ]^\top = \begin{bmatrix}X_1^TX_1 & X_1^TX_2\\X_2^TX_1&X_2^TX_2\end{bmatrix}^{-1}\begin{bmatrix}X_1^TY\\X_2^TY\end{bmatrix}\tag{1}

Reduced Model에 대한 Least squares:

β^1=(X1TX1)1X1TY\hat\beta_1^* = (X_1^TX_1)^{-1}X_1^TY

로 주어지므로, 식 (1)에서 X1TX2=0X_1^TX_2=0 인 조건이 주어지면 β^1=β^1\hat\beta_1=\hat\beta_1^*이 성립한다.

하지만 일반적으로 두 예측변수 행렬이 직교하는 경우는 거의 존재하지 않으므로, 예측변수 X1X_1에 대해 Full-Model에서의 회귀계수(벡터)와 Reduced-Model에서의 회귀계수는 편차가 존재하게 된다. 이와 관련하여 다음 정리가 성립한다.

Frisch-Waugh-Lovell프리슈-워-로벨 THM

FWL Theorem이라고도 하는 위 정리는 앞서 설명한 Full Model과 Reduced Model 간의 관계와 관련한 정리이다. 앞선 상황처럼 X1,X2X_1,X_2가 예측변수로 주어진다고 하자. 이제 다음 두 단계를 진행하자.

  1. 반응변수 YYX1X_1로만 Regression하여(Reduced Model) 이때의 잔차를 YY^*라고 두자.
  2. 나머지 예측변수 X2X_2X1X_1로 Regression하여 이때의 잔차를 X2X_2^*라고 하자.

이때 YY^*을 반응변수로, X2X_2^*를 예측변수로 하는 선형회귀모형의 회귀계수와 Full Model에서의 β^2\hat\beta_2 는 동일하다.

증명.

먼저 1단계에서의 잔차를 구하면 다음과 같다.

Y=YX1β^1=(IH1)YY^*=Y-X_1\hat\beta_1^*\\ =(I-H_1)Y

여기서 II는 identity matrix, H1=X1(X1TX1)1X1TH_1=X_1(X_1^TX_1)^{-1}X_1^THat Matrix이다. 마찬가지로, 이번에는 2단계에서의 잔차를 구해보도록 하자.

X2=X2X1(X1TX1)1X1TX2=(IH1)X2X_2^*=X_2-X_1(X_1^TX_1)^{-1}X_1^TX_2\\ =(I-H_1)X_2

이를 바탕으로 YY^*X2X_2^*를 이용한 회귀계수 β^2\hat\beta_2^* 를 구하면

β^2=(X2TX2)1X2TY=(X2T(IH1)2X2)1X2T(IH1)2Y\hat\beta_2^* = (X_2^{*T}X_2^*)^{-1}X_2^{*T}Y^* \\ = (X_2^T(I-H_1)^2X_2)^{-1}X_2^T(I-H_1)^2Y

이때 IH1I-H_1은 idempotent, symmetric 하므로

β^2=(X2T(IH1)X2)1X2T(IH1)Y\hat\beta_2^* = (X_2^T(I-H_1)X_2)^{-1}X_2^T(I-H_1)Y

으로 주어진다. 반면, Full Model에서 X2X_2의 계수를 구하면 위 식 (1)의 Block Matrix의 역행렬을 구하는 것으로부터 β^2\hat\beta_2β^2\hat\beta_2^* 와 동일하게 주어짐을 확인할 수 있다. (Block Matrix의 역행렬을 구하는 것은 어렵진 않으나 작성의 어려움으로 인해 생략)

Partial Regression Plot

데이터 분석에서는 선형모형의 변수 유의성을 확인하기 위해 Partial Regression Plot을 확인하는 경우가 종종 있다. 앞선 FWL 정리의 두 잔차 X2,YX_2^*, Y^*의 scatter plot과 Regression plot(Line)을 함께 나타낸 것이 Partial Regression Plot으로, 두 잔차는 모두 해당 변수(X2,YX_2, Y)로부터 다른 변수들(각각 X1X_1, XX 전체)의 영향을 제거했다는 점에서 의미가 있는 벡터이다.

![스크린샷 2022-04-09 오후 7.36.48](Partial Regression.assets/스크린샷 2022-04-09 오후 7.36.48.png)

위와 같은 형태를 가지는데(python statsmodels패키지를 이용한 그래프이다), 여기서 e(MEDV|X) 는 반응변수 MEDV를 예측변수 전체(X)로 회귀분석하여 나온 잔차(e)를 의미하고, e(AGE|X)는 변수 AGE를 남은 반응변수(X, AGE 제외)로 회귀분석하여 나온 잔차(e)를 의미한다. 위 plot의 경우는 AGE와 종속변수 MEDV가 상관관계가 없음을 보여주고 있고, 이러한 방식으로 선형모형의 각 변수들에 대한 partial regression을 진행하여 각각의 유의성을 파악할 수 있다.

References

profile
블로그 이사했습니다 https://ddangchani.github.io

0개의 댓글