본문 바로가기

통계/ISLR

Chapter 3. 선형회귀 (Linear Regression) - 1) 단순선형회귀

** 단순선형회귀 파트에서는 ISLR 교재 내용을 기반으로 아래 블로그 참고하여 내용을 정리했습니다.

개념, 이론  https://m.blog.naver.com/jhkang8420/221291682151

수학적 증명 https://rpubs.com/Jay2548/519965

3.1  단순선형회귀

단순선형회귀: 하나의 설명변수 X에 기초하여 양적 반응변수 Y를 예측하는 것

가장 단순한 지도학습법으로, 최초에 X, Y가 선형관계에 있다고 가정하여 모회귀식을 세운다. (1단계. 이론의 가정)

 

   $Y = {\beta}_0 + {\beta}_1X_i$

 

그러나 실제로 ${\beta}_0$와 ${\beta}_1$은 알려져있지 않다.

따라서 우리는, 주어진 데이터(관측치, 표본)를 이용해 계수를 추정하여 회귀식을 도출해내야 한다. (2단계. 회귀직선 도출: 최소제곱법)

 

  $\hat{y} = \hat{\beta}_0 + \hat{\beta}_1x_i$

 

도출한 모형이 실제로 유의미한 선형관계에 있는지 가설 검정을 진행한 뒤 (3단계. 모형의 통계적 유의성: 계수의 가설검정)

 

이후 회귀 모델의 정확도를 평가하여 모형의 설명력을 확인하고 (4단계. 모델의 정확도 평가)

이를 활용하여 예측을 진행할 수 있다. (5단계. 예측)

 

이와 같이 단순회귀분석은 크게 다섯 가지 단계를 거쳐 진행된다.

 

  1단계. 이론의 가정 (CLRM 이론의 7가지 가정)

  2단계. 회귀직선 도출: 최소제곱법

  3단계. 모형의 통계적 유의성: 계수의 가설검정

  4단계. 모델의 정확도 평가

  5단계. 예측

 

 

 

1단계. CLRM 이론의 7가지 가정

Classic Linear Regression Model은 총 7가지 가정을 전제로 한다.

 

A1. 두 변수 간 선형관계가 있어야 한다.

  이론적으로 어느정도 선형관계가 있다는 전제 하에서 분석을 시작할 수 있다.

A2. 표본 추출이 무작위하게 이루어져야한다.

A3. X의 값이 두 개 이상이어야 한다.

 - 직관적 접근: 직선은 최소 2개 이상의 점이 있어야 그려질 수 있으므로

 - 수학적 접근: 계수 $\hat{\beta}$의 값은 (x,y의 공분산) ÷ (x의 분산) *$S_{xy}$/$S_x^2$ 이다.

                       즉, x의 값이 1개이면 x의 분산은 0이 되므로 계수 $\hat{\beta}$ 값을 정의할 수 없다.

 

A4. Zero-conditional Mean: $E(\varepsilon_i | X_i) = 0$

- 주어진 X 값에서 오차도를 그리면 그 오차들의 평균은 0이 된다.

A5. 등분산성 (Homoskedasticity)

- 모든 $X_i$에 있어서 오차들이 같은 정도로 퍼져있어야한다.

A6. 독립성 (Independence)

- 오차항끼리는 독립이다. 어떤 패턴을 나타내면 안된다.

A7. 정규성 (Normalty)

- 각 $X_i$에서 오차들은 평균 0을 중심으로 정규분포를 이룬다.

 

- A4~A7은 오차항($\varepsilon$)에 대한 가정이다.

- 오차항 $\varepsilon$은 모수이므로 우리는 그 값을 알 수 없다.

- 때문에 잔차항 e로 가설을 검정하여, A4~A7의 가설이 성립하면 회귀 분석을 시행한다.

 

- 가설 A1~A4가 성립된다면, 최소제곱법을 통한 회귀분석은 일관되고 편향되지 않은 결과를 도출한다.

- 가설 A5, A6이 성립된다면 최소제곱법을 통한 회귀 분석이 최선의 방법이다.

- 가설 A7이 만족되지 않으면 표본의 관찰값을 늘려 정규성을 근사적으로 만족시킬 수 있다.

 

 

 

2단계. 회귀직선 도출: 최소제곱법, $\hat{\beta}_0$, $\hat{\beta}_1$

결과 직선이 n개의 데이터 포인트에 최대한 가깝게 되도록 하는 $\hat{\beta}_0$, $\hat{\beta}_1$를 찾으려면 ⇒ 최소제곱법을 사용한다!

* 최소제곱법: 각 데이터 점들로부터 직선에 이르는 수직방향 거리를 제곱하여 합한값(잔차제곱합, RSS)을 가장 작게 만들도록 절편과 기울기를 결정하는 것

 

- 잔차 (residual) : $e_i = y_i - \hat{y_i}$

  i번째 관측된 반응변수 값($\hat{y_i}$)과 선형모델에 의해 예측된 i번 째 반응변수($y_i$) 사이의 차이

  y가 회귀식에 의해 얼마나 설명되지 않았는가를 나타내는 값

 

- 잔차제곱합 (Residual Sum of Squares. RSS | Sum of Squared regression Error. SSE

  $RSS = e_1^2 + e_2^2 +  ...  + e_n^2$

               $= (y_1-\hat{y_1})^2 + (y_2-\hat{y_2})^2 + ... + (y_n-\hat{y_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$

               $= \sum_{i=1}^{n}(y_i-\hat{\beta_0}-\hat{\beta_1}x_i)^2$

 

 잔차제곱합의 최솟값을 만드는 $\hat{\beta_0}$, $\hat{\beta_1}$를 구하려면 편미분으로 풀이한다.

 편미분 풀이식은 아래와 같다 (*아래 식에서 $m_1$은 $\hat{\beta_1}$, $m_2$는 $\hat{\beta_0}$임에 유의하자)

 

  정리

- $\hat\beta_1 = \frac{S_{xy}}{(S_x)^2}$ ,  $\hat\beta_0 = \hat{y} - \beta_1\hat{x}$

- $\hat\beta_1$은 x,y의 공분산에서 x의 분산을 나눈 값과 같으며, $\hat\beta_0$은 본래 회귀식에 $\hat\beta_1$값을 대입해서 구한다.

 

* 잔차제곱합, 전체변화량, 잔차의 분산 등의 용어는 통계학과 수학에서 각자 다른 약어를 사용한다.

  (잔차제곱합의 경우, 통계학에서는 RSS, 수학에서는 SSE의 용어로 사용하는 등)

  표기법이 다를 뿐이지 두 약어 모두 동일한 의미로 사용하는 것으로.. 공부하면서 참고 자료등을 확인할 때 문맥을 잘 확인하면서 내용을 파악할 필요가 있다.

 

* 이 정리본에서는 두 약어를 모두 사용할 것이다.

  기본적으로 ISLR을 정리하는 것이므로 통계학 용어를 사용해서 정리하고 싶었는데,

  참고 이미지로 올리는 증명식에서는 대체로 수학에서 사용하는 약어를 사용해서.. 어쩔 수 없었다. ㅠㅠ흑흑

 

 

 

3단계. 계수의 가설검정 (모수추정. 실제 선형관계 추정)

최소제곱선으로 모회귀선을 추정하는 것은 표본의 정보모집단의 특징을 추정하는 표준통계적 방법(+확률통계)의 확장이라고 볼 수 있다.

우리는 표준통계 개념을 바탕으로, 회귀계수의 신뢰 구간을 구하여 실제 두 변수 X, Y가 선형 관계에 있는지 확인할 수 있다.

 

계수의 가설검정은 아래와 같은 순서로 확인할 것이다.

 

(1) 잔차의 분산: 오차항의 분산(모분산)에 대한 추정

(2) 회귀계수 추정값의 분산: 회귀계수의 표준오차

(3) 회귀계수의 신뢰 구간: 모평균의 신뢰구간

(4) 회귀계수 가설 검정: t통계량

 

 

(1) 잔차의 분산: 오차항의 분산(모분산)에 대한 추정

 

회귀계수의 분산을 구하려면 우선 모회귀선 오차항의 분산을 알아야하는데, 우리는 모수에 대한 정보가 없으므로 오차항의 분산을 구할 수 없다.

따라서 오차의 표본인 잔차를 이용하여, 잔차의 분산(표본분산)으로 오차항의 분산(모분산)을 추정할 것이다.

 

잔차의 분산 : 표본분산으로서 잔차의 분산은 잔차제곱합에 n-2를 나누는 방법으로 구할 수 있다.

 

 

- 일반적으로 표본분산은 편차제곱합에 (n-1)을 나누어 주며 모분산을 추정한다.

 * 표본분산에서 분모를 n-1로 계산하는 이유

    i) 수학적 접근: 확률통계에서의 증명. 표본분산의 기댓값은 모분산의 $\frac{n-1}{n}$배에 수렴하므로,

                          표본분산을 그대로 모분산 추정에 이용하면 확률적으로 $\frac{n-1}{n}$배 편향된 값을 얻을 가능성이 높다.

                          이를 막기 위해 표본분산에 $\frac{n}{n-1}$배를 한 값으로 모분산을 추정해야 편향되지 않는 값을 얻어낸다.

    ii) 자유도 개념: 모평균이 정해져 있을 때, 분산의 자유도는 n-1이 되므로

 

- 하지만 잔차의 분산으로 오차의 분산을 추정할 때는 (n-2)를 나누어주는 것에 유의하자.

 * 잔차의 분산에서 분모를 n-2로 계산하는 이유

    잔차에서는 자유도가 n-2가 되므로 (*자유도 관련 글 https://blog.naver.com/jhkang8420/221565825889)

 

 

(2) 회귀계수 추정값($\hat{\beta}_0 + \hat{\beta}_1$)의 분산: 회귀계수의 표준오차

 

1단계에서 서술한 7가지 가정이 모두 만족된다면

$ \hat{\beta}_0 \sim N(\beta_0, Var(\hat{\beta}_0))$

$ \hat{\beta}_1 \sim N(\beta_1, Var(\hat{\beta}_1))$ 가 성립한다.

 

$\hat{\beta}_1$ 회귀계수 추정값의 분산은 오차항의 분산을 x 편차 제곱합으로 나눠준 값으로 구할 수 있다. (*참고 게시글: https://igija.tistory.com/337)

- 계수 추정값의 분산이 작을수록, 회귀계수가 유의미할 확률이 커진다.

- 분자를 확인해보면, 오차항의 분산과 회귀계수 추정값의 분산은 비례한다. 즉, 잔차가 작을수록 계수 추정값의 분산은 작아진다.

   직관적으로 보면 잔차가 작을수록 회귀직선에 실제값들이 근접해 있다는 것이므로 높은 선형관계를 가지고 있다고 볼 수 있다.

- 분모를 확인해보면, x의 편차제곱합(SST)는 1)x가 퍼져있고, 2)관측치가 많을수록 계수 추정값의 분산은 작아진다.

 

 

위 식을 정리하면 아래와 같이 계수 추정값의 분산, 즉 모회귀계수의 표준오차를 구할 수 있다. (증명은 생략)

 

 

(3) 회귀계수(${\beta}_0 + {\beta}_1$)의 신뢰구간: 모평균의 신뢰구간

 

$\beta_1$의 신뢰구간(95%) : $\hat{\beta}_1$ $±$ $2SE(\hat{\beta}_1)$

$\beta_0$의 신뢰구간(95%) : $\hat{\beta}_0$ $±$ $2SE(\hat{\beta}_0)$

 

- 여기서 표준오차에 곱하는 2는 95% 신뢰구간을 추정하기 위해 대략적으로 설정한 값임을 참고해두자.

 

 

(4) 회귀계수(${\beta}_0 + {\beta}_1$)의 가설검정: t통계량

 

단순회귀분석에서 회귀계수의 가설검정은 t통계량을 이용해 검정*한다.

 

* t검정: 모집단의 분산이나 표준편차를 알지 못해 모집단의 평균을 구하지 못할 때,

             t통계량을 이용하면, 표본평균과 표본분산으로 모평균을 구간추정할 수 있다 (두 집단 간의 평균 비교 검정에 활용)

 

- $H_0$ (귀무가설): X와 Y 사이에 상관관계가 없다 $\beta_1 = 0$

- $H_1$ (대립가설): X와 Y 사이에 상관관계가 있다 $\beta_1 ≠ 0$

 

일반 정규분포에서 t통계량: (표본평균 - 모평균)/(표준오차)

t통계량 계산 : $t = \frac{\overline{X} - \mu}{S/root n} = \frac{\hat{\beta}_1 - 0}{SE(\hat{\beta}_1)} = \frac{\hat{\beta}_1}{SE(\hat{\beta}_1)}$ $\sim t(n-2)$ *자유도 (n-2)의 t분포를 따름

 

p-value*가 충분히 작으면 귀무가설을 기각하고 대립가설을 채택한다!

  *t검정에서 p-value: |t|가 t분포에서 관측될 확률

즉, X와 Y 사이에 상관관계가 있다고 결론 내릴 수 있다.

 

Q. 가설이 기각되려면 ${\beta}_1$의 추정값이 0과 얼마나 달라야하는가?

A. $SE(\hat{\beta}_1)$에 따라 다르다.

  - 표준오차가 작으면 $\hat{\beta}_1$이 작아도 $\beta_1 ≠ 0$이 되므로 X와 Y가 서로 상관이 있다는 강한 증거가 된다.

  - 표준오차가 크면 귀무가설을 기각하기 위해 $\hat{\beta}_0$의 절댓값이 커야 한다.

 

 

 

4단계. 모델의 정확도 평가: 회귀직선의 설명력. $R^2$

 

완성한 회귀직선이 얼마나 모수를 잘 설명하는 지는 $R^2$를 구하여 평가할 수 있다.

 

* $y_i$가 평균에서 떨어진 정도는 $y_i - \overline{y}$

* $y_i - \overline{y}$ 값은 회귀직선으로 설명되는 부분과 아닌 부분으로 나눌 수 있다.

* 즉 , 이를 식으로 표현하면 

   $y_i - \hat{y} = (\hat{y}_i - \overline{y}) + (y_i - \hat{y}_i)$

                $= (\hat{y}_i - \overline{y}) + e_i$

                $=$ (회귀식으로 설명되는 부분) + (잔차)

 

 

 

- $y_i - \hat{y}$를 한 점이 아니라 모든 점에 적용후 합산하여 전체 변화량을 구해보자

- 그냥 변화량을 합했다가는 0이 되므로, 제곱을 해서 더해주도록 한다.

 

 

 

전체 변화량(반응변수 y의 총 분산, SSR)은 회귀직선으로 설명되는 부분(SSR)과 잔차제곱합(SSE)으로 나눠진다.

회귀직선의 설명력이 높다는 것은 SSR(Sum Squared Regression)이 높다는 뜻이된다.

(Y변수의 변화가 회귀 직선이 도출하는 추정치와 유사할수록 설명력이 높다!)

 

$R^2$의 식을 정리하면 아래와 같다.

 

 

 

* ISLR 교재에서는 TSS, RSS와 같은 약어를 사용한다. 통계학에서는 아래 약어를 더 많이 사용하니 익혀두자.

 

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

 

정리

$R^2$은, X를 사용하여 설명될 수 있는 Y의 변동비율(proportion of variability)을 측정한다.

- $R^2$이 1에 가까우면 반응변수 변동 중 많은 부분이 회귀식에 의해 설명되었다는 것을 의미하며,

               0에 가까우면 1)선형모델이 틀렸거나, 2)내재된 오차가 크다고 유추할 수 있다.

 

 

 

5단계. 예측

1) 평균값에 대한 예측: 회귀직선의 신뢰구간

$y$ 평균값의 신뢰구간을 계산하면 $\hat{y}$가 실제 $f$에 얼마나 가까울 지 알 수 있다.

 

$y$의 신뢰구간(95%) : $\hat{y}$ $±$ $t_{\alpha/2, n-2} × SE(\hat{y})$

 

표준오차($SE(\hat{y})$)의 식

- 일반적으로 예측을 할 때 95% 신뢰수준, 5%의 유의수준으로 놓고 구한다.

 

 

2) 개별값에 대한 예측: 잔차항을 포함한 예측구간

$\hat{y}$의 표준오차를 잔차항까지 포함된 값으로 두고 계산 하면,

축소불가능한 오차가 포함된 신뢰구간을 구하는 것이므로, 개별값에 대한 예측구간을 구할 수 있다.

 

개별값 $\hat{y}$에 대한 표준오차는 아래와 같다.

 

 

- 개별값에 대한 예측은 일반적으로 회귀선의 신뢰구간보다 범위가 넓다.

- 이는 직관적으로 생각해도 당연한 것이, 평균값이 개별값보다 표준편차가 더 클 것이기 때문이다.

- 개별값은 변동성이 더 크다. 따라서 표준오차도 더 크다.

- 개별값이든 평균값이든, 평균은 회귀직선상의 값이 된다.

- 아래 회귀선의 신뢰구간과 예측구간에 대한 그래프를 참고하자.

 

 

 

 

 

** 응용 **

 

지금까지 배운 내용을 바탕으로 아래 단순선형회귀식의 결과표를 해석해보자.

 

1. Regression Statistics

- R Square: 0.7400  모델의 설명력. 회귀직선이 전체 데이터를 약 74% 설명함

 

2. Intercept ($\beta_0$)

- Coefficient: 68.358  회귀선의 y절편 예측값. ($\hat{\beta}_0$)

- Standard Error: 2.084 y절편의 표준오차. $SE[\hat{\beta}_0]$

- t Stat: 32.797. $\beta_0 = 0$ 귀무가설에 대한 t통계량. 

- P-value: >0.0000 계산된 t통계량이 $\beta_0 = 0$의 t분포에서 관측될 확률. 

                  p-value가 몹시 작으므로 귀무가설 기각, 대립가설 채택

                  회귀계수$\hat{\beta}_0$는 유의미하다고 볼 수 있음

- [Lower 95%, Upper 95%]: [64.089, 72.628]. $\beta_0$의 신뢰구간.

                                               time변수가 없다면 y값은 95%의 확률로 64.089보다 크고 72.628보다 작은 값일 것이다.

 

3. Time ($\beta_1$)

- Coefficient: 1.048  회귀선의 $x_i$의 회귀계수 예측값 ($\hat{\beta}_1$)

- Standard Error: 0.117 회귀계수의 표준오차. $SE[\hat{\beta}_1]$

- t Stat: 8.927  $\beta_1 = 0$ 귀무가설에 대한 t통계량. 

- P-value0.0000  계산된 t통계량이 $\beta_1 = 0$의 t분포에서 관측될 확률. 

                  p-value가 몹시 작으므로 귀무가설 기각, 대립가설 채택

                  회귀계수$\hat{\beta}_1$는 유의미하다고 볼 수 있음 (회귀 직선은 유의미하다고 말할 수 있음)

- [Lower 95%, Upper 95%]: [0.080, 1.289]. $\beta_1$의 신뢰구간.

                                                변수 $x_1$가 1씩 증가할 때마다 y는 0.089~1.289 사이의 어떤 값 만큼 증가할 것이다.