독서/An Introduction to Statistical Learning

[ISL] chapter 3 : Linear Regression ①

도리언 옐로우 2024. 6. 21. 01:23

1. 선형 회귀 기본

선형 회귀는 여기저기서 많이 들어본 용어라 그런지, 제대로 공부하기 전까지는 굉장히 기초적이면서 클래식한 접근 방식이라는 선입견이 있었던 것 같다. 선형 회귀 자체가 여전히 널리 쓰이는 유용한 통계 학습 방법임을 차치하더라도, 선형회귀는 여러 발전된 통계적 접근방법의 기반이 되는 개념이라는 점에서 제대로 이해할 필요가 있다.

 

가장 간단한 선형 회귀로부터 시작해보자. 단일 예측 변수 $X$를 기반으로 정략적 반응 변수 $Y$를 예측하는데, $X$와 $Y$사이에 대략적인 선형관계가 있다고 가정하자. 이를 수식으로 나타내면 아래와 같다.

$$ Y\approx \beta _0+\beta_1X$$

$\beta _0$,$\beta_1$은 선형 회귀 모델의 절편(intercept)와 기울기(slope)를 나타내는데, 모델의 계수 또는 파라미터라고 한다. 이제 훈련 데이터를 통해 $\beta _0$,$\beta_1$의 추정값인 $\hat{\beta _0}$, $\hat{\beta _1}$을 산출하면 이를 통해 예측값$\hat{y}$을 얻을 수 있다.

$$\hat{y}=\hat{\beta _0}+\hat{\beta _1}x$$

개인적으로 대문자와 소문자사이에서 왔다갔다하는 것이 초반에 진도의 발목을 잡는 부분이었다. 대문자 $X$와 $Y$는 보통 확률 변수 또는 데이터셋 전체를 나타내고 소문자 $x$와 $y$는 특정 데이터 포인트를 나타냄을 명확히 인지하도록 하자.

2. 계수의 추정과 평가

이제 데이터들을 활용하여 계수의 추정값 $\hat{\beta _0}$와 $\hat{\beta _1}$을 얻어야 한다. 다음과 같은 n개의 관측 쌍이 존재한다고 하자.

$$(x_1,y_1), (x_2, y_2), ... , (x_n, y_n)$$

각 관측치 쌍은 $X$의 측정값과 $Y$의 측정값으로 구성되어 있다. 이 데이터 집합을 $x$축과 $y$축을 갖는 2차원 공간에 찍으면 한 무리의 점들이 나타날 것이다. 이 점들을 가장 잘 설명하는 직선을 찾으면 자연스럽게 계수의 추정값을 알 수 있다. 가장 잘 설명한다는 것은 데이터에 가장 근접하다는 뜻인데, 이 근접성을 측정할 수 있어야 원하는 직선을 찾을 수 있을 것이다. 그 방법에는 여러가지가 있으나 가장 많이 쓰이는 방식은 잔차의 제곱합(RSS)을 최소화 시키는 최소제곱법이다. 아래 그림을 통해 직관적으로 이해할 수 있다.


교재에 나온 수식을 한땀한땀 유도해보았다.

$$RSS = e_1^2+e_2^2+...+e_n^2= (y_1-\hat{\beta _0}-\hat{\beta _1}x_1)^2 + (y_2-\hat{\beta _0}-\hat{\beta _1}x_2)^2 + ... + (y_n-\hat{\beta _0}-\hat{\beta _1}x_n)^2$$

$$\frac{dRSS}{d\hat{\beta _0}} =-2( (y_1-\hat{\beta _0}-\hat{\beta _1}x_1) + (y_2-\hat{\beta _0}-\hat{\beta _1}x_2) + ... + (y_n-\hat{\beta _0}-\hat{\beta _1}x_n))$$

$$\therefore \hat{\beta _0}=\frac{y_1+y_2+...y_n}{n}-\hat{\beta _1}\frac{x_1+x_2+...+x_n}{n}=\bar{y} - \hat{\beta _1}\bar{x}$$

 

$$\frac{dRSS}{d\hat{\beta _1}} = -2((y_1-\hat{\beta _0}-\hat{\beta _1}x_1)x_1+ (y_2-\hat{\beta _0}-\hat{\beta _1}x_2)x_2+ ...+ (y_n-\hat{\beta _0}-\hat{\beta _1}x_n)x_n)$$

$$ = -2((y_1-\bar{y}+\hat{\beta _1}(\bar{x}-x_1))x_1+ (y_2-\bar{y}+\hat{\beta _1}(\bar{x}-x_2))x_n+...+ (y_n-\bar{y}+\hat{\beta _1}(\bar{x}-x_n))x_n)$$

$$((x_1^2-\bar{x}x_1)+ (x_2^2-\bar{x}x_2)+...+ (x_n^2-\bar{x}x_n)) \hat{\beta _1}=(y_1-\bar{y})x_1 + (y_2-\bar{y})x_2 + ... +(y_n-\bar{y})x_n$$

$$LHS = ((x_1^2-2\bar{x}x_1+ \bar{x} ^2)+ (x_2^2-2\bar{x}x_2+ \bar{x} ^2)+...+ (x_n^2-2\bar{x}x_n+ \bar{x} ^2)) \hat{\beta _1}$$

$$= ((x_1-\bar{x})^2+ (x_2-\bar{x})^2 +...+ (x_n-\bar{x})^2 ) \hat{\beta _1}=(\sum_{i=1}^{n}(x_i-\bar{x})^2) \hat{\beta _1} $$

$$RHS = (y_1x_1-\bar{y}x_1) + (y_2x_2-\bar{y}x_2) + ... +(y_nx_n-\bar{y}x_n)$$

$$= y_1x_1 + y_2x_2 + ... +y_nx_n-\bar{y}(x_1+x_2+...+x_n) $$

$$=y_1x_1+y_2x_2+...+y_nx_n-\bar{y}(x_1+x_2+...x_n)-\bar{x}(y_1+y_2+...+y_n)+n\bar{x}\bar{y}$$

$$=\sum_{i=1}^{n}(x_iy_i-x_i\bar{y}-y_i\bar{x}+\bar{x}\bar{y}) =\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y}) $$

$$\therefore \hat{\beta _1}=\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sum_{i=1}^{n}(x_i-\bar{x})^2}$$


이제 추정된 계수의 정확성을 어떻게 평가할 수 있을지 살펴보자. 특정 데이터셋을 기반으로 $\beta_0, \beta_1$을 추정한 추정치는 정확히 $\beta_0, \beta_1$과 일치하지 않을 수 있으나, 많은 데이터셋을 기반으로 한 추정치의 평균은 정확히 일치할 것으로 기대된다. 반대로, 단일 추정치는 원래 값에서 크게 벗어나 있을 수 있다. 이 단일 추정치 $ \hat{\beta _{0}},  \hat{\beta _{1}}$가 $\beta_0, \beta_1$에 얼마나 가까운지에 대한 측정은 아래 표준오차 수식에 기반한다.

$$Var(\hat{\mu })=SE(\hat{\mu}^2)=\frac{\sigma ^2}{n}$$

각 관측값에 대한 오차가 공통 분산을 갖고 서로 상관되지 않는다고 가정하면 아래의 식을 얻을 수 있다.

$$SE(\hat{\beta _0})^2=\sigma ^2\left [ \frac{1}{n}+\frac{\bar{x}^2}{\sum_{i=1}^{n}(x_i-\bar{x})^2} \right ]$$

$$SE(\hat{\beta _1})^2=\frac{\sigma^2}{ \sum_{i=1}^{n}(x_i-\bar{x})^2 } $$

$$(\sigma^2=Var(\epsilon))$$

표준오차 SE는 주어진 추정치의 불확실성을 나타내는 척도로 표준 오차가 작을수록 추정치가 참값에 더 가깝게 추정될 가능성이 높음을 의미한다. 위 식에서 $x_i$가 넓게 퍼져있을 수록 $SE(\hat{\beta _0})$가 작아짐을 알 수 있는데, 이는 $x_i$가 넓게 퍼져 있을 때 $x$와 $y$의 관계인 기울기를 추정하기 위한 다양한 데이터 포인트가 있음을 상기하면 직관적으로 이해할 수 있다. 즉, $x_i$가 평균에 밀집되어 있을 수록 모델이 $x$와 $y$ 사이의 관계를 추정하는데 사용할 수 있는 정보가 적어져 추정치의 불확실성이 커지게 되는 것이다.

 

표준 오차는 신뢰 구간을 계산하는데 사용할 수 있다. 선형 회귀에서 $\beta_1$에 대한 95% 신뢰 구간은 다음과 같다. ($\beta_0$도 같은 형태를 갖는다)

$$[\hat{\beta _1}-2\cdot SE(\hat{\beta_1}), \hat{\beta _1}+2\cdot SE(\hat{\beta_1}) ]$$

 

또한 표준 오차는 가설 검정 수행에 사용될 수 있다. 귀무가설 $H_0$를 "X와 Y사이에 관계가 없다"라 하고 대립 가설 $H_a$를 "X와 Y사이에 관계가 있다"고 할 때, $H_0$는 $\beta_1=0$을 검정하는 것이고 $H_a$는 $\beta_1\neq0$를 검정하는 것이 된다. 귀무 가설을 검정하려면 추정치 $\hat{\beta_1}$이 0에서 충분히 떨어져 있는지를 확인해야 할 것이다. '충분히 떨어짐'은 $\hat{\beta_1}$의 정확도인 $SE(\hat{\beta_1})$에 달려 있다. 이 말은, SE가 작은 경우에는 비교적 작은 $\hat{\beta_1}$ 값도 $\beta_1\neq0$의 강력한 증거가 된다는 뜻이다. 이제 다음의 t 통계량의 수식을 이해할 수 있다. 여기서 t 통계량은 $\hat{\beta_1}$이 0에서 얼마나 떨어져 있는지를 나타내는 값이다.

$$t = \frac{ \hat{\beta_1} -0}{SE( \hat{\beta_1} )}$$

3. 모델의 정확도 평가

'모델이 데이터에 적합된다'는 것은 모델이 주어진 데이터를 잘 예측한다는 의미로, 구체적으로는 모델이 데이터에 내재된 패턴을 파악하여 파라미터가 설정되는 과정을 말한다. 당연히 모델이 데이터를 얼마나 잘 적합했는지를 평가하는 것이 중요한데, 선형 회귀에서는 residual standard error (RSE)나 결정계수 $R^2$같은 지표를 사용한다.

 

먼저 RSE를 살펴보자. RSE는 $\epsilon$의 표준 편차에 대한 추정치이다. 수식은 다음과 같은데, $n-2$로 나누는 이유는 두 개의 파라미터를 추정하는데 데이터를 사용하기 때문에 모델의 자유도가 전체 데이터 포인트의 수 n에서 2를 뺀 값이 되기 때문이다.

$$RSE = \sqrt{\frac{1}{n-2}RSS}=\sqrt{\frac{1}{n-2}\sum_{i=1}^{n}(y_i-\hat{y_i})^2}$$

잠시 처음으로 돌아가면, $X$와 $Y$의 관계를 $Y = f(X) + \epsilon$으로 표현하였고, 이는 선형 회귀에서 $ Y= \beta _0+\beta_1X+\epsilon$의 형태를 취하게 된다. 여기서 오차항 $\epsilon$의 존재로 인해 $\beta _0, \beta_1$의 값을 알고 있더라도 X로부터 Y를 완벽하게 에측할 수 없게 된다. 따라서 이 오차항의 표준 편차에 대한 추정치 RSE는 선형 회귀 모델의 정확도를 평가하는(적합되지 않은 정도를 나타내는) 중요한 지표로 사용된다.

 

다음으로 $R^2$ 통계량이다. RSE를 통해 모델의 정확도에 관한 절대적인 척도를 알 수 있으나, Y의 단위로 측정되기 때문에 '좋은 RSE'가 무엇인지 명확하지 않을 수 있다는 단점이 있다. $R^2$ 통계량은 Y의 단위와 무관하고 항상 0과 1 사이의 값을 갖기 때문에 RSE에 비해 해석상의 이점을 갖는다. 수식은 다음과 같다.

$$R^2=\frac {TSS-RSS}{RSS} = 1 - \frac{RSS}{TSS}$$

$$TSS = \sum(y_i-\bar{y_i})^2$$

TSS는 회귀 수행 전의 $Y$의 고유한 변동성의 양으로, RSS는 회귀를 수행한 후 남아 있는 설명되지 않은 변동성의 양으로 생각할 수 있다. 결국 $R^2$은 회귀를 수행하여 설명된 변동성의 양을 $Y$의 변동성으로 나눈 값이라는 점에서, X를 사용하여 설명될 수 있는 Y의 변동성의 비율을 측정하는 값이 된다. 따라서 $R^2$통계량이 1에 가까울수록 회귀를 통해 반응의 변동성이 잘 설명되었음을 의미하게 된다.

 

$R^2$ 통계량은 X와 Y의 선형관계를 측정하는 척도인데, 상관계수 r = Cor(X,Y) 또한 X와 Y의 선형 관계를 측정하는 척도가 되기에 $R^2$ 대신 사용할 수 있다. 다중 선형 회귀가 아닌 간단한 선형 회귀에서는 $R^2=r^2$이 됨을 기억하자.