ISLR 읽고 이해하기 Chap.3

ThovYoon·2022년 8월 11일
0
post-thumbnail

Image Source


선형회귀

선형회귀는 양적인 반응변수를 예측하기에 좋은 기법이다.
선형회귀에서 발생하는 질문들의 예시는 다음과 같다.( A,B,C는 독립변수, P는 반응변수라 하자 )
1. A와 B사이에는 상관관계가 있는가?
2. 상관관계가 있다면 그 정도는(상관성의 세기) 어느정도인가?
3. A와 B, C중에 P에 기여하는 것은 무엇인가?
4. 기여의 정도는 얼만큼 정확한 추정이 가능한가?
5. 미래의 P에 대한 예측은 얼마나 정확한가?
6. 상관관계는 선형을 나타내는가?
7. A, B, C 사이에는 상호작용이 있는가?


단순선형회귀

 단순 선형회귀는 말그대로 단순한 선형회귀이다. 이유는 예측변수 YY에 대해서 설명하는 인자는 XX 하나뿐이기 때문이다. 이는 XXYY에 대해 상호간에 상관성이 있다는 가정을 미리 해둔다.

Y β0 + β1XY\ \approx \beta_0\ + \ \beta_1X

 위 식은 XX에 대한 YY의 회귀를 나타내는 식으로 β0\beta_0는 절편(Intercept)을 의미하고, β1\beta_1XX의 기울기를 의미하게 된다. 이 두개의 β\beta 값들은 계수 혹은 파라미터라고도 불린다.

 앞서 다뤘었던 훈련데이터를 이용해서 yy에 대해 추정하게되면 다음과 같은 식이 만들어 진다.

y^=β^0 + β^1x\hat y = \hat \beta_0 \ + \ \hat \beta_1x

y^\hat y는 결국 YY에 대한 예측값을 나타내고, ^은 추정치를 나타내는 의미니 다시한번 잘 알아두자.


계수추정

 Real World인 우리는 실제로 β0, β1\beta_0,\ \beta_1값을 모르고 있다. 그렇기에 추정을 사용하게 되는 것이며, 추정을 하기 위해선 알고있는 데이터를 활용해서, Y β0 + β1XY\ \approx \beta_0\ + \ \beta_1X 식에 대입한 후 대략적인 값들을 추정하게 된다. XXYY에 대한 관측값을 (x1,y1),(x2,y2),,(xn,yn)(x_1, y_1), (x_2, y_2), \ldots , (x_n, y_n) 이라 할 때, 우리는 β0, β1\beta_0,\ \beta_1에 대한 추정을 다음과 같이 할 수 있다.

yβ^0+β^1xiy \approx \hat \beta_0 + \hat \beta_1 x_i

 이런식으로 β^0\hat \beta_0β^1\hat \beta_1을 추정하게 되면, 실제 관측값과 최대한 오차가 적게끔 조정하고 싶을 것이다. 이때 가장 흔하게, 많이 사용되는 기법은 최소제곱( Least Square )을 기준으로 최소화 하는 것이다.

 관측값은 총 nn개의 데이터를 다루고있는데, XXii번째 예측값은 y^i=β^0+β^1xi\hat y_i = \hat \beta_0 + \hat \beta_1 x_i가 되며, 이 때 ei=yi  y^ie_i = y_i\ -\ \hat y_iii번째 값의 잔차를 나타내게 된다. 즉, ii번째 관측된 반응변수에서 ii번째 관측값에 의해 추정된 반응변수의 차이를, 제곱하여 합한 값을 RSS( Residual Sum of Squares )라 하고, 다음과 같이 정의할 수 있다.

RSS=e12 + e22 ++ en2RSS = e_1^2\ + \ e_2^2\ + \cdots + \ e_n^2
RSS=(y1β^0β^1x1)2+(y2β^0β^1x2)2++(ynβ^0β^1xn)2RSS = (y_1 - \hat \beta_0 - \hat \beta_1x_1)^2 + (y_2 - \hat \beta_0 - \hat \beta_1x_2)^2 + \cdots + (y_n - \hat \beta_0 - \hat \beta_1x_n)^2

최소제곱법에 의해 RSSRSS를 최소화 하는 β^0\hat \beta_0β^1\hat \beta_1을 선택하게 되는데 이 둘을 다시 정리하면 다음과 같다.

β^1=i=1n(xixˉ)(yiyˉ)i=1n(xixˉ)2 β^0=yˉ  β^1xˉ\begin{aligned} \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} \\ \ \\ \hat \beta_0&= \bar y \ - \ \hat \beta_1 \bar x \end{aligned}

 이때 xˉ\bar xyˉ\bar yxix_iyiy_i의 표본의 평균( Sample Mean )값을 의미한다. 따라서, 위 β^0\hat \beta_0β^1\hat \beta_1에 대한 식은 단순선형회귀에서의 최소제곱 계수 추정치( Least Squares Coefficient Estimates )를 정의하게 된다.

Sales = 7.03 + 0.0475 * TV


계수 추정을 했으니, 정확도 평가를 해보자

 앞선 내용에서 XXYY의 관계에서 실제 상관관계를 나타내는 미지의 ff 함수에 대해서 Y=f(X) + ϵY = f(X)\ + \ \epsilon이라고 정의를 했었다. 선형회귀에서의 ff는 결국 다음과 같이 근사될 수 있다.

Y=β0+β1X+ϵY = \beta_0 + \beta_1X + \epsilon

 위 모델은 모회귀선( 모집단의 회귀선 : Population Regression Line )을 정의하고, 실제 XXYY 간 상관관계에서 꽤 잘맞는 근사값을 나타낸다. β0\beta_0X=0X = 0일때의 YY값을 나타내는 절편이고, β1\beta_1XX의 한 단위 ( 보통은 1 unit 이라고도 표현 ) 증가할 때 YY의 변화량이며, ϵ\epsilon 은 평균( mean value )이 0인 랜덤한 오차항이 었음을 기억하자.

오차항의 존재이유는 단순하다.
1. 실제 XXYY의 관계는 선형이 아닐 수 있다.
2. 실제 XX로만 YY를 표현하지 못할 수도 있다.( 다른 요인이 있을 수 있음 | ex - 통제 불가능 요인 )
3. 측정에서 발생한 오차가 있을 수 있다.

단! 오차항은 XX와 독립이라는 것이 전제조건으로 깔려있다.

다음 자료를 예시로 보자

 왼쪽의 그림에서 동그라미로 표기된 점들은 관측 데이터의 분포를 나타내고 있다. 빨간선은 실제 모회귀선을 나타내고 있으며, 파란선은 최소제곱으로 추정된 회귀선을 나타내고 있다.

 오른쪽 그림에서 빨간선파란선은 왼쪽그림과 동일하지만, 하늘색선은 우리가 실제 모회귀선을 모른다는 가정하에, 10개의 랜덤한 관측치 값들로 추청한 선을 나타내고 있다. 그림에서 알 수 있듯, 추정하는 최소제곱 회귀선은 실제 모 회귀선을 꽤나 잘 추정하고 있음을 확인할 수 있다.

 위의 하늘색 선들은 결국 모집단과 표본집단들이 주어졌을때, 표본집단으로 모집단을 추정해 가는 과정과 동일한 개념선상에 있다. 우리는 모집단 YY의 평균인 모평균 μ\mu를 추정하고자 하지만, 실제로 μ\mu값은 알 수가 없고, 대신 YYnn개의 관측치( 표본을 의미함 )를 알고있으며 이를 가지고 추정하는 것이다. μ^=yˉ\hat \mu = \bar y라는 것을 알 수 있고, yˉ=1ni=1nyi\bar y = \frac{1}{n}\sum_{i = 1}^ny_i , 표본의 평균임을 알 수 있다.


자, 그러면 표본의 평균은 결국 모평균을 추정하는데 꽤 괜찮은 추정값이 됨을 알 수 있는데 그 이유는 무엇이냐?

표본은 모집단을 알 수 없기 때문에 일부를 추출한 것이다. ( 안다고 하더라도 실질적으로 계산하기 힘드니까... ) 따라서 표본의 평균인 μ^\hat \mu 한개만 본다면 당연히도 실제 μ\mu와의 차이가 꽤 있을 것이다( Bias 가 분명 존재한다는 말이다 ). 즉, 실제 μ\mu는 우리가 알 수 없는 값이니까 μ^\hat \mu과소추정 혹은 과대추정된 값일 가능성이 높다는 것이다. 그러나 무수히 많은 표본을 추출해서 평균을 내고, 그 평균들을 가지고 평균을 구해( μ^\hat \mu들의 평균을 구한다는 말임 ) μ\mu를 추정해 간다면, 이는 실제 μ\mu를 모르더라도 꽤 그럴싸하게 근사값으로 추정해 가는 것을 알 수 있다.

 표본평균 μ^\hat \muμ\mu를 잘 예측하고 있는가?에 대한 질문은 다음 내용으로 확인할 수 있다. 다음에 기술할 식은 μ^\hat \mu의 표준오차를 계산하는 것을 의미한다.

Var(μ^)=SE(μ^)2=σ2nVar(\hat \mu) = SE(\hat \mu)^2 = \frac{\sigma^2}{n}

표준오차는 μ^\hat \mu가 실제값인 μ\mu와의 차이를 평균을 내서 나타낸 것이다. 여기서 σ\sigmayiy_i의 표준편차를 의미한다. 당연한 얘기겠지만, 관측치 수는 많으면 많을수록 표준오차가 줄어든다.

 표준오차를 사용하는 경우는 몇가지가 있는데 그중에 하나는 신뢰구간을 계산할 때 사용한다. 예를들어 95% 신뢰구간은 95%의 확률로 신뢰구간 안에 알지못하는 파라미터값을 포함하고 있다는 의미이다. 신뢰구간은 하한값과 상한값을 정의하고 있다.

  • β0,  β1\beta_0,\; \beta_1 신뢰구간

    β^1 ± 2SE(β^1),β^0 ± 2SE(β^0)\hat \beta_1\ \pm \ 2·SE(\hat \beta_1),\quad \hat \beta_0\ \pm \ 2·SE(\hat \beta_0)
  • 범위표시시

    [  β^1  2SE(β^1),β^1 + 2SE(β^1)  ][\;\hat \beta_1\ - \ 2·SE(\hat \beta_1),\quad\hat \beta_1\ + \ 2·SE(\hat \beta_1)\;]

 또다른 사용처는 계수들( β0,  β1\beta_0,\; \beta_1 와 같은 )에 대한 가설검정을 할 때 사용한다.

  • H0H_0 : XXYY 사이에는 상관관계가 없다. ( β1=0 )\Rightarrow (\ \beta_1 = 0 \ )
  • H1H_1 : XXYY 사이에는 상관관계가 있다. ( β10 )\Rightarrow (\ \beta_1 \neq 0 \ )

β1=0\beta_1 = 0 이라는 것은 XXYY를 설명할 방법이 없다는 것이다. 왜냐구? Y=β0+ϵY = \beta_0 + \epsilon 이 되는 거니까!!
그렇기 때문에 귀무가설을 검정할때 β1\beta_1을 가지고 0이 아니라는 충분한 근거가 존재해야 한다. 그러면 추정치 β^1\hat \beta_1이 0과는 충분히 떨어진 값을 가져야 하는데, 앞서 얘기한 정확도가 여기에 적용이 된다.

profile
매일 성장할 나를 위하여

0개의 댓글