본문 바로가기
SOA/SRM(Statistics for Risk Modeling)

SRM 정리 - Chapter 5. Linear Regression: Validation

by sunnyduck 2024. 7. 24.

Chapter 5.1 validating model assumptions

 

Chapter 2.2에서 $\hat{\beta} = (X^T X)^{-1} X^T y$인 것을 살펴보았었다. 이를 이용해 y를 예측하면 다음과 같다. 

$$\hat{y} = X \hat{\beta} = X (X^T X)^{-1} X^T y=Hy$$

이때 $H = X (X^T X)^{-1} X^T$를 hat matrix라고 하며, $n$번 곱해도 $H$ 자기 자신이 되고, transfrom해도 $H$ 그대로 나오는 성질이 있다. 잔차는 $\hat{\varepsilon}=y-\hat{y}=(I-H)y$를 이용해서 구할 수 있다. 따라서 $h_{ii}$이 $H$행렬의 $i$번째 대각원소일때, $ \hat{\varepsilon} $의 분산은 다음과 같다.

 

$$\text{Var}(\hat{\varepsilon}_i) = (1 - h_{ii}) \sigma^2$$

오류 $ \varepsilon $의 분산은 $y$의 분산과 같지만, 위의 식을 통해 잔차 $ \hat{\varepsilon} $의 분산은 $y$의 분산보다 작은 것을 알 수 있다. 또한 $H$ 행렬은 symmetric하기 때문에 $I-H$행렬도 symmetric하여 transform해도 자기 자신과 같은 행렬이 나온다. 

 

잔차를 검사할 때는 표준화하면 비정상적인 점을 쉽게 알아챌 수 있으므로 표준화하여 검사하는 것이 더 쉽다. 잔차의 평균은 이미 0이기 때문에, 표준편차만 표준화가 필요하다. 표준편차를 표준화하는 3가지 방법이 있다.

1. $\frac{\hat{\varepsilon}_i}{s}$: $s$는 잔차의 표준편차가 아닌, error의 추정 표준편차이기 때문에 정확하지 않다.

2. $r_i = \frac{\hat{\varepsilon}_i}{s\sqrt{1-h_{ii}}}$: 잔차를 추정 표준편차로 나눈 값으로 standardized residual(표준화 잔차)이다.

3. $r_i^* = \frac{\hat{\varepsilon}_i}{s_{(i)}\sqrt{1-h_{ii}}}$: $ s_{(i)}$는 i번째 observation을 제외한 표준편차이다. 이 잔차는 $n-(k+1)$자유도를 가진 student-t 분포를 따른다. 이는 비정상적으로 큰 잔차가 있을 경우 2번 방법은 분자와 분모를 모두 증가시키기 때문에 비정상적인 값을 판별하기 어려우나, 3번 방법은 $ s_{(i)}$를 계산할 때 비정상적 방법을 제거하여 분자만 증가하기 때문에 비정상적임을 판별하기 쉽다는 장점이 있다.

 

이 표준화된 잔차를 사용하여 회귀 가정이 충족되는지 확인할 것이다. 선형회귀의 가정과 가정의 충족성을 확인하는 방법은 다음과 같다. 

1. Response는 explanatory variable의 선형함수이다. 즉, 잔차는 무작위 오차와 가깝게 근사해야 한다. 잔차와 response variable과의 관계는 correlation statistics으로 확인할 수 있지만, 커브형 패턴 등은 알아차리기 어렵기 때문에 산점도를 이용하는 것이 좋다. 잔차를 response variable과 plot을 그렸을 때 패턴이 나타나면 선형함수가 아니다. (패턴이 있다면 선형함수만으로는 설명하지 못하는 것이기 때문이다.) 잔차와 추가적인 설명변수 간의 관계가 있더라도, 추가적인 설명변수를 regression에 추가하는 것이 꼭 좋다 할 수 없다. 추가변수가 이미 모델에 포함된 변수와 관련있을 수도 있기 때문이다.

eg. 아래 그래프는 ISLR 교재에 있는 mpg데이터에 대한 residual plot 그래프이다. Residual에 대해 커브형의 패턴이 보이므로 이 경우 linear regression을 적용하는 것이 적절하지 않다. 

 

2. Response는 일정한 분산을 가진다(Homoscedastic). - 표준화된 잔차를 fitted value와 plot을 그렸을 때, 무작위 패턴은 등분산성을 나타낸다. 잔차의 절댓값이 증가하거나 감소하면 분산이 일정하지 않음을 나타낸다.

 

eg. 이는 RMAF 교재에서 이분산성(heteroscedasticity)를 가지는 데이터를 그래프로 나타낸 것이다. 왼쪽 그래프보다 오른쪽 그래프를 사용하는 것이 잔차의 특징을 더 쉽게 보여준다. 이는 잔차의 변동성이 fitted response variable이 증가함에 따라 증가하기 때문에 일정한 분산을 가진다고 할 수 없다. 

 

등분산성을 만족하지 않는 경우 관측값에 가중치를 부여하여 least squre estimate의 변형을 사용할 수 있다. 직관적으로 변동성이 작을수록 더 신뢰할 수 있고 더 큰 가중치를 가져야 한다.  Chapter 2.2에서 $\hat{\beta}$를  $\hat{\beta} = (\mathbf{X'X})^{-1}\mathbf{X'y} = \sum_{i=1}^{n} \mathbf{w}_i y_i$로 표현할 수 있는 것을 보였다. 따라서 observation마다 다른 $w_i$를 이용해서 $\text{Var}(\varepsilon_i) = \frac{\sigma^2}{w_i}$로 변동성이 가중치 $w_i$에 비례하도록 한다. 예를 들어 분석 단위가 주의 지리적 단위라면, 주 내 인구 수를 가중치로 사용할 수 있다. $w_i$값이 클수록 변동성이 더 작아 더 정확한 response variable이 된다.

이 모델은 observation에 $\sqrt[]{w_{i}}$를 곱해서 분산을  $\text{Var}(\varepsilon_i) = \sigma^2$로 일정하게 만들어 일반 least squre estimate model로 변환할 수 있다. 이때 $w_i$를 원소로 갖는 matrix를 $W$라 하면 수정된 $ {\beta}^* $의 추정치를 $\hat{\beta}^* = (X^T W X)^{-1} X^T W y$로 구할 수 있다. 

 

3. Response는 normal 분포를 따른다. - 잔차도 normal분포를 따라야 하므로 잔차를 normal분포와 qq-plot을 그려 확인할 수 있다.

 

4. Observation은 독립적이다.- 발생순서에 따라 잔차를 그렸을 때 연속적인 잔차 값이 가까우면 독립적이지 않다. Error terms 사이에 correlation이 존재하면 실제 standard error보다 SE가 더 낮게 측정된다. 이는 confidence interval을 좁게 만들어 parameter가 관련있다는 오류를 만들 수 있다. 이는 특히 time series data에서 많이 보인다. 

 

Chapter 5.2 Outliers and influential points

 

모든 observation이 전체 회귀 적합에 균형적인 영향을 미치는 것은 아니다. 일부 관측값은 다른 관측값보다 더 큰 가중치를 가지기 때문에 회귀계수 추정치에 더 큰 영향을 끼친다. 이러한 점을 influential 점이라고 부른다. 표본에서 더 큰 모집단으로 일반화하기 위해 모델이 이러한 점에 얼마나 민감한 지를 측정한다. 이러한 influential한 점을 vertically(response variable)의 경우에는 outlier, horizontally(explanatory variable)의 경우에는 high leverage라고 한다. 

 

Response의 경우에는 standardized residual의 절댓값이 3 넘는 이상치를 outlier라고 한다. 이 outlier는 계수를 fitting할 때는 큰 영향을 끼치지 않지만 RSE나 $R^2$의 값에 영향을 미친다.

 

이 outlier를 다루는 방법은 다음과 같다.

1. 모델에 포함시키지만, outlier의 존재에 대해 언급하기. 이상치가 크더라도 전체 분석 결과를 왜곡할 정도는 아닐 수 있다. 이는 단순히 데이터의 변동성을 반영한다.

2. 데이터에서 삭제하기

3. outlier를 위한 indicator variable 만들기. 이상치를 설명하기 위한 원인이 확인된 경우 이 원인을 나타내는 변수를 도입할 수 있다. 이 동일한 원인에 의한 추가적인 관측값이 생기면 자동적으로 처리할 수 있다.

 

Explanatory variable의 경우에 outlier는 다른 observation들의 일반적인 범위를 벗어난 것으로 influential points 또는 high-leverage points라고 한다. 이 high leverage points는 $\hat{y}$를 계산할 때 높은 가중치를 갖게 된다. Simple linear regression에서는 leverage를 파악하기 쉽지만 multi-regression에서는 파악하기 어렵다. 예를 들어 개별 변수로 보았을 때는 비정상적이지 않지만, 설명 변수 공간에서는 비정상적일 수 있다. 따라서 leverage를 평가하기 위한 수치 공식이 필요하다.

 

앞서 $\hat{y}=Hy$임을 보였고, 이때 $H$행렬의 $i$번째 행, $j$번째 열의 원소를 $h_{ij}$라고 할 때, $ \hat{y_i} = h_{i1}y_1 + h_{i2}y_2 + \cdots + h_{ii}y_i + \cdots + h_{in}y_n$이다. 이때 $h_{ii}$가 클수록 $y_i$가 $\hat{y_i}$에 미치는 영향이 큰 것을 알 수 있다. 따라서 대각원소 $h_{ii}$를 $i$번째 관측값에 대한 leverage라고 한다. $\mathbf{x_i} = (x_{i0}, x_{i1}, \ldots, x_{ik})'$일 때, $h_{ii}$에 대한 수식을 나타내면 다음과 같다.

$$ h_{ii} = \mathbf{x_i}^{T}(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{x_i} .$$

이 leverage는 explanatory variable만 이용해서 계산되기 때문에 response variable은 영향을 leverage를 계산하는데 영향을 미치지 않는다. Simple linear regression에서의 leverage statistics 식은 다음과 같다. 

$$h_{ii} = \frac{1}{n} + \frac{(x_i - \bar{x})^2}{\sum_{i'=1}^{n} (x_{i'} - \bar{x})^2}.$$

 

Leverage는 $\frac{1}{n}$과 1사이의 값이어야 하고, 합이 $k+1$이어야 한다. 따라서 평균적으로 이 값은$\frac{k+1}{n}$인데 leverage가 이 값의 2배, 3배 이상인 경우 해당 observation은 높은 가중치를 가지고 있으므로 influential point로 데이터를 검토하여 비정상적인 점을 초래할 수 있는 원인을 찾아야 한다.

 

이 influential points를 다루는 방법은 다음과 같다.

1. 모델에 포함시키지만 이것에 대해 언급하기

2. 데이터에서 삭제하기. 이 관측값이 더 큰 모집단을 대표하지 않을 수 있다. 

3. 높은 leverage를 가지는 변수를 다른 변수로 바꾸기. 예를 들어 아파트 가격에 대한 예제에서 평방미터에 대해 높은 leverage 값이 존재한다면, 침실의 수를 대체해서 이용할 수 있다. 

4. explanatory variable에 nonlinear 변환 사용하기

 

Cook's distance는 outlier와 leverage를 합친 측정법이다. $i$번째 관측값에 대한 cook's distance 공식은 다음과 같다.

$$D_{i}=\frac{\sum_{j=1}^{n}(y_{j}-\hat{y}_{j(i)})^{2}}{(k+1)s^{2}}=r_{i}^{2}\frac{h_{ii}}{(k+1)(1-h_{ii})}$$

이때 $ \hat{y}_{j(i)}$는 $i$번째 관측값을 데이터 세트에서 제거했을 때 $y_j$의 예측값이다. 따라서 $i$번째 관측값의 영향을 측정하기 위해 $i$번째 관측값을 포함한 것과 포함하지 않은 것의 적합값을 측정한다. 두번째 식에서 $r_i$는 $i$번째 표준화 잔차로 outlier를 측정하고, $\frac{h_{ii}}{(k+1)(1-h_{ii})}$는 leverage 값인 $h_{ii}$에 영향을 받는다. 따라서 cook's distance는 outlier와 leverage를 모두 고려한다. 

비정상적인 점을 파악하기 위해 $r_i$는 대략적으로 1, $h_{ii}$은 대략적으로 $\frac{k+1}{n}$의 값을 갖는 것을 고려하면, $D_{i}$는 대략적으로 $\frac{1}{n}$의 값을 가진다. 이 값보다 많이 큰 값은 주의가 필요하다. 

 

Chapter 5.3 Collinearity of explanatory variables; VIF

 

하나의 설명변수가 다른 설명변수의 선형 조합일 경우 두 변수는 collinear(공선형)관계라고 한다. 이때 $X^{T}X$ 행렬은 역행렬을 가지지 않는다. 심지어 완전히 collinear하지 않아도 거의 collinear이라면 행렬식이 0에 가까워 해가 불안정해진다. 따라서 설명변수들이 공선형관계를 가지지 않는 것이 중요하다. $X$ 변수들 사이에 collinearity가 존재한다면 두 변수가 같이 증가하거나 감소하게 되고, 이는 변수 각각이 response variable에 어떤 영향을 끼치는지 판단하기 어렵게 한다. 

위의 그래프는 ISLR 교재에서 Credit 데이터를 이용해 만든 그래프이다. 그래프의 검정점은 error SS가 가장 작은 best estimate를 나타내고 파란색 선은 error SS를 같게 만드는 $\beta$값들을 의미한다. 왼쪽 그래프는 두 변수 사이에 collinearity가 약하지만 오른쪽 그래프는 두 변수 사이에는 collinearity가 강하다. 오른쪽 그래프를 보면 같은 error SS를 만드는 $\beta$가 광범위하다. 이는 계수를 불확실하게 만들고 standard error를 크게 만들기 때문에 $t$ 통계량이 작아 $\beta_j=0$인 귀무가설을 기각하는데 실패한다. 

 

변수들 간의 collinearity는 correlation matrix나 variance inflation factor(VIF)를 이용해서 측정할 수 있다. Correlation matrix는 변수쌍 간의 관계만 포착하므로 더 복잡한 관계를 포착하기 위해 VIF를 사용한다. 설명변수 집합이 $x_1, x_2, \cdot, x_k$일 때, $x_j$를 반응변수로 사용하고, 나머지 $x$를 설명변수로 사용하여 regression을 한다. 이 회귀의 결정계수를 $ R^2_{(j)} $라 할 때 변수 $j$의 VIF는 다음과 같다.

$$\text{VIF}_j = \frac{1}{(1 - R^2_{(j)})}$$

이 VIF값은 설명변수만 이용하여 계산되며 값이 1이상이고, VIF 값이 클수록 공선형성이 심한 것을 의미한다. 경험적으로 VIF 값이 10을 초과하면 심각한 collinearity가 있다고 한다. 공선성은 변수 간의 선형 관계만 측정하는데 관심이 있으므로, 변수 간의 비선형적 관계는 문제되지 않는다. 

 

변수 $j$의 coefficient standard error와 VIF사이에는 다음과 같은 관계가 있다.

$$s_{\hat{\beta}_{j}}=s\frac{\sqrt{\text{VIF}_{j}}}{s_{x_{j}}\sqrt{n-1}}$$

이때 $ s_{x_{j}} $는 $j$번째 변수의 sample standard deviation이다. 따라서 VIF가 클수록, coefficient 추정치의 standard error가 커지기 때문에 변수가 중요하더라도 작은 t 통계량을 가지게 된다. 

위 그래프는 RMAF 교재의 그래프로, 높은 leverage 점이 VIF와 계수의 표준오차에 영향을 끼치는 것을 보여준다. 왼쪽의 그래프는 두 변수 사이에 높은 선형 관계가 있지만, leverage 점으로 인해 선형관계가 약해지고, 오른쪽 그래프는 leverage 점으로 인해 선형관계가 생기는 것을 볼 수 있다. 

이러한 collinearity는 정보가 중복되는 것을 의미하므로 문제가 되는 변수 중 하나를 제외하거나 그 변수들로 새로운 변수를 만들어 문제를 해결할 수 있다.

 

Collinearity가 높으면 회귀계수의 표준오차를 증가시켜 모델의 신뢰도를 떨어트릴 수 있지만, 어떤 설명변수는 약간의 collinear 관계가 있어도 model을 향상시킬 수 있다. 이처럼 모델에 포함되었을 때 다른 변수의 중요도를 올려주는 변수를 suppressor variable이라고 한다. 따라서 선형관계가 꼭 동일한 정보를 제공하는 것을 의미하진 않는다. 이 경우에는 변수가 서로 보완해준다.

 

또한 설명 변수 집합 간에 아무런 관계가 없는 경우도 있다. 수학적으로 $\mathbf{X}_1' \mathbf{X}_2 = 0$일 때, orthogonal variable이라고 한다. $x_2$가 $\mathbf{X}_1$에 직교하는 벡터일 때, $x_2$를 regression에 추가하여도 $\mathbf{X}_1$의 계수는 바뀌지 않는다. 또한 $x_2$에 대한 VIF는 1로, 표준오차가 다른 설명 변수에 영향을 받지 않는다.