이번 장에서는 지도 학습의 가장 간단한 방법인 선형 회귀에 대하여 학습한다. 가장 단순한 모델이기 때문에 실제로 머신러닝에서 활용될 일은 많지 않지만 다른 방법들을 배우기 위한 기초가 되기 때문에 꼼꼼히 학습할 필요가 있다.

먼저 예측변인이 하나인 경우에서 사용되는 단순 선형 회귀를 학습한다. 회귀 계수를 추정하기 위한 최소자승법, 계수 추정값의 표준오차 및 신뢰 구간을 구하고 가설 검정을 수행하는 방법을 살펴보고, RSE와 \(R^2\)를 구해 모델의 정확도를 평가하는 방법을 배울 것이다.

다음으로 예측변인이 두 개 이상인 경우에서 사용하는 다중 선형 회귀를 학습한다. 동일하게 최소자승법을 사용하여 계수를 추정할 수 있으며, F-통계량을 구하여 가설 검정을 할 수 있다. 모델에 예측변인 중 일부만 포함하고 싶을 때는 변수 선택을 수행한다. 최종 모델을 적합하여 예측할 때 발생하는 불확실성에 대해서도 살펴볼 것이다.

또한 회귀 분석에 질적 변인, 상호작용, 비선형성을 추가하는 방법과, 회귀의 기본적인 가정이 지켜졌는지 확인하는 방법에 대하여 학습한다.

마지막으로 모수적 방법인 선형 회귀와 비모수적 방법인 KNN 회귀를 비교하며 이번 장을 마친다.

1 단순 선형 회귀(Simple Linear Regression)

단순 선형 회귀에서는 하나의 예측변인 \(X\)에 따라 정량적(quantitative)인 반응변인 \(Y\)를 예측하고자 하며 두 변인 간의 선형 관계를 가정한다. 이는 아래의 식으로 표현될 수 있다.

\[Y≈\beta_0+\beta_1X\]

위의 식에서 \(β_0\)와 \(β_1\)은 각각 절편(intercept)기울기(slope)를 나타낸다. 이들은 모델의 계수(coefficients) 혹은 파라미터로 불린다.

\[\hat{y}=\hat{\beta}_0+\hat{\beta}_1x\]

위의 식을 푼다면 우리는 \(x\)에 기반하여 \(Y\)를 예측할 수 있다.

1.1 회귀 계수 추정하기

\(X\)와 \(Y\)를 측정하여 \((x_1, y_1), (x_2, y_2), . . . , (x_n, y_n)\)이라는 \(n\)개의 관측치 짝을 가지고 있다고 할 때, 개별 데이터 포인트들에 가장 가까운 직선을 찾아 그것의 절편 \(\hat{β}_0\)과 기울기 \(\hat{β}_1\)을 찾는 것이 단순 선형 회귀이다. 가장 흔하게 사용되는 방법은 최소자승법(least squares method)이다.

\(X\)의 \(i\)번째 값에 기반하여 \(Y\)를 예측한 것을 \(\hat{y}_i = \hat{β}_0 + \hat{β}_1x_i\)로 표현할 수 있다. 이때 실제로 관찰된 \(i\)번째 반응값과 모델이 예측한 반응값의 차이, \(e_i = y_i−\hat{y}_i\)을 \(i\)번째 잔차(residual)라고 한다. 이때 잔차 제곱합(residual sum of squares; RSS)은 아래와 같이 정의할 수 있다.

\[RSS = e^2_1+e^2_2+...+e^2_n\]

혹은

\[RSS = (y_1−\hat{β}_0−\hat{β}_1x_1)^2+(y_2−\hat{β}_0−\hat{β}_1x_2)^2+...+(y_n−\hat{β}_0−\hat{β}_1x_n)^2\]

최소자승법은 이러한 RSS를 최소화하는 \(\hat{β}_0\)과 \(\hat{β}_1\)을 찾는 것이다. 단순 회귀에서의 최소 자승 계수 추정값(least squares coefficient estimates)은 아래와 같이 구할 수 있다.

\[\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}\]

위의 식에서 \(\bar{y} ≡ \frac{1}{n} \sum_{i=1}^ny_i\)와 \(\bar{x} ≡ \frac{1}{n} \sum_{i=1}^nx_i\)는 표본 평균이다.

1.2 계수 추정값의 정확도 평가하기

이전 챕터에서 \(X\)와 \(Y\) 사이의 관계를 \(Y=f(X)+\epsilon\)으로 표현할 수 있다고 했다. 이때 만일 \(f\)가 선형 함수라면 두 변인 간의 관계를 다시 아래와 같이 표현할 수 있다.

\[Y=\beta_0+\beta_1X+\epsilon\]

위의 식에서 \(β_0\)는 \(X = 0\)일 때 \(Y\)의 기댓값을 나타내는 절편, \(β_1\)은 \(X\)의 한 단위 증가에 따른 평균적인 \(Y\)의 증가량을 나타내는 기울기, 마지막으로 \(\epsilon\)은 모델이 놓치고 있는 것들을 모두 포함하는 오차항으로 평균이 0이고 분산이 \(\sigma^2\)인 정규분포를 따르며, \(X\)와 독립이다.

\(X\)와 \(Y\) 사이의 참 회귀선을 모회귀선(population regression line)이라 한다. 모회귀선은 두 계수 \(β_0\)와 \(β_1\)에 의해 결정되지만 우리는 사실상 이에 접근할 수 없기 때문에 우리가 가진 표본에서 최소자승 회귀선을 결정하는 \(\hat{β}_0\)과 \(\hat{β}_1\)을 구해 이를 추정해야 한다.

모평균을 추정하기 위하여 표본평균을 사용하는 경우 이것이 비편향(unbiased)이라는 말을 한다. 즉, 무한히 많은 데이터셋에서 얻어진 추정값들을 평균 낸다면 이 평균은 정확한 모수와 같아진다. 이와 같이 비편향 추정량(unbiased estimator)은 실제 파라미터를 체계적으로(systematically) 과대추정하거나 과소추정하지 않는다. \(\hat{β}_0​\)과 \(\hat{β}_1​\)은 \(β_0​\)와 \(β_1​\)에 대한 비편향 추정량이다.

그렇다면 \(\hat{β}_0\)과 \(\hat{β}_1\)이 \(β_0\)와 \(β_1\)을 얼마나 정확하게 추정하는지 어떻게 알 수 있을까? 표준오차(standard error)는 추정값이 실제값에서 평균적으로 얼마나 다른지를 표현하며 \(n\)이 커짐에 따라 감소한다.

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

이때 \(\sigma^2=\mathrm{Var}(\epsilon)\)이며, 위의 식이 타당하기 위해서는 각각의 관측치에 대한 오차 \(\epsilon_i\)가 공통 분산 \(σ^2\)과 상관이 없다는 것을 가정해야 한다. \(x_i\)가 더 퍼져 있을 때 \(\mathrm{SE}(\hat{β}_1)\)가 작아진다. 직관적으로 생각해보면 이 경우에 기울기를 추정하기 더 수월하다는 것을 알 수 있다. \(\bar{x}\)가 0이면 \(\hat{β}_0\)은 \(\bar{y}\)와 같아지기 때문에 이때 \(\mathrm{SE}(\hat{β}_0)\)과 \(\mathrm{SE}(\hat{μ})\)은 같아진다. \(σ^2\)을 알 수 없기 때문에 데이터로부터 추정해야 한다. 이것을 잔차표준오차(residual standard error; RSE)라고 한다.

\[\mathrm{RSE} = \sqrt{\mathrm{RSS/(n-2)}}\]

표준오차를 사용하여 신뢰 구간(confidence intervals)을 구할 수 있다. 95% 신뢰 구간이란 95%의 확률로 실제 모수의 값이 존재하는 값의 범위를 일컫는다. 이 구간은 표본으로부터 계산된 상한과 하한으로 이루어진다. 선형 회귀에서 \(β_1\)의 95% 신뢰 구간은 아래와 같은 식으로 근사할 수 있다.

\[\hat{\beta}_1 \pm2\cdot\mathrm{SE}(\hat{\beta}_1)\]

즉, 약 95%의 확률로 \(β_1\)이 \([\hat{\beta}_1 - 2\cdot\mathrm{SE}(\hat{\beta}_1),\ \hat{\beta}_1 + 2\cdot\mathrm{SE}(\hat{\beta}_1)]\)의 구간에 존재하게 된다. \(β_0\)의 95% 신뢰 구간 역시 비슷하게 근사할 수 있다.

\[\hat{\beta}_0 \pm2\cdot\mathrm{SE}(\hat{\beta}_0)\]

표준오차를 사용하여 계수에 대한 가설 검정(hypothesis testing)을 수행할 수 있다. 영가설 유의도 검정(null hypothesis significance testing; NHST)을 수행한다고 할 때, 영가설(null hypothesis)과 대립가설(alternative hypothesis)은 아래와 같이 정의될 수 있다.

\[H_0: X와\ Y\ 간의\ 관계가\ 없다 \quad 혹은 \quad \beta_1=0 \\ H_a: X와\ Y\ 간의\ 어떠한\ 관계가\ 있다 \quad 혹은 \quad \beta_1\ne0\]

영가설을 기각하기 위해서는 \(β_1​\)에 대한 추정값 \(\hat{β}_1​\)이 0으로부터 충분히 멀다는 것을 보여야 한다. 그렇다면 얼마나 멀어야 충분히 멀다고 할 수 있을까? 이는 \(\mathrm{SE}(\hat{β}_1)​\)에 달려 있다. 표준오차가 작다면 \(\hat{β}_1​\)이 0으로부터 약간만 멀어도 \(\beta_1 \ne 0​\)이라는 강한 증거가 될 수 있지만, 표준오차가 크다면 영가설을 기각하기 위하여 \(\hat{β}_1​\)의 절댓값이 커야 한다. 아래와 같은 t-통계량(t-statistic)을 계산하여 이를 알아볼 수 있다.

\[t=\frac{\hat{\beta}_1-0}{\mathrm{SE}(\hat{\beta}_1)}\]

영가설이 참일 때 t-통계량은 자유도 \(n-2\)의 t-분포를 따른다. 이로부터 영가설이 참일 때 표본 통계치를 관찰할 확률, 즉 p값(p-value)을 계산할 수 있다. p값이 유의 수준보다 작으면 영가설을 기각하고 대립가설을 채택한다. 보통 유의 수준은 .05나 .01로 정한다. 가설 검정과 p값에 대해서는 내가 공부하는 심리학에서 중요하게 활용되기 때문에 ISL 시리즈가 끝나고 기회가 되면 좀 더 자세히 다뤄보려고 한다.

1.3 모델의 정확도 평가하기

잔차표준오차(RSE)

RSE란 오차항 \(\epsilon\)의 표준편차에 대한 추정값을 말하며, 평균적으로 예측한 반응변인의 값이 참회귀선에서 벗어난 정도를 표현한다. 만일 \(β_0\)와 \(β_1\)이 알려져 참회귀선을 알고 있다 하더라도 우리는 오차항으로 인해 \(X\)로부터 \(Y\)를 완벽하게 예측할 수 없다. 따라서 RSE는 데이터에 대한 모델의 적합 결여도(lack of fit)의 척도이다.

\[\mathrm{RSE}=\sqrt{\frac{1}{n-2}\mathrm{RSS}}=\sqrt{\frac{1}{n-2}\sum_{i=1}^n(y_i-\hat{y}_i)^2}\]

결정계수(\(R^2\))

RSE가 \(Y\)의 단위로 측정되는 절대적인 값인 반면, \(R^2\)는 전체 변동 중 예측변인에 의해 설명된 변동의 비율이기 때문에 \(Y\)의 단위와 상관없이 항상 0과 1 사이에 존재하는 상대적인 값이다.

\[R^2 = \frac{\mathrm{TSS-RSS}}{\mathrm{TSS}}=1-\frac{\mathrm{RSS}}{\mathrm{TSS}}\]

이때, \(\mathrm{TSS} =\sum(y_i − \bar{y})^2\)는 총 제곱합(total sum of squares)으로 반응변인 \(Y\)의 총 변동량, 즉 회귀가 시행되기 이전에 반응변인에 내재되어 있던 변동의 양을 나타낸다. RSS는 회귀를 시행한 이후 설명되지 못하는 변동의 양을 나타낸다. 따라서 \(\mathrm{TSS-RSS}\)는 회귀를 시행함으로써 설명된(혹은 제거된) 변동의 양을 나타내기 때문에 \(R^2\)는 \(X\)를 통해 설명할 수 있는 \(Y\)에서의 변동의 비율을 나타낸다. \(R^2\)가 어느 정도 커야 좋은지는 활용 분야에 따라 달라진다.

참고로 상관(correlation) 역시 \(X\)와 \(Y\) 간의 선형 관계를 측정하는 척도이다.

\[Cor(X, Y ) = \frac {\sum^n_{i=1} (x_i − \bar{x})(y_i − \bar{y})} {\sqrt{\sum^n_{i=1} (x_i − \bar{x})^2} \sqrt{\sum^n_{i=1}(y_i − \bar{y})^2}}\]

그렇다면 선형 모형의 적합도를 평가하기 위하여 \(R^2\) 대신 \(r = Cor(X, Y )\)을 사용할 수도 있지 않을까? 예측변인이 하나인 단순 선형 회귀에서는 \(R^2 = r^2\)이다. 그러나 상관은 한 쌍의 변인 간 관계를 측정하기 때문에 예측변인이 2개 이상인 다중 선형 회귀부터는 상관의 개념이 \(R^2​\)로 확장되지 않는다.

2 다중 선형 회귀(Multiple Linear Regression)

다중 선형 회귀는 복수의 예측변인이 동시에 반응변인을 예측하는 경우 사용된다. 각 예측변인은 단일한 모형에서 각각 다른 기울기 계수를 가진다. \(p\)개의 예측변인이 존재하는 경우 다중 선형 회귀 모형은 아래와 같이 정의된다.

\[Y=\beta_0+\beta_1X_1+\beta_2X_2+...+\beta_pX_p+\epsilon\]

이때 \(X_j\)는 \(j\)번째 예측변인을 의미하며, \(β_j\)는 각 변인의 기울기 계수로, 다른 모든 예측변인이 고정된 상태에서 \(X_j\)에서의 한 단위 증가가 \(Y\)에 미치는 평균적인 영향으로 해석할 수 있다.

2.1 회귀 계수 추정하기

회귀 계수 \(β_0, β_1, . . . , β_p\)는 미지의 모수이기 때문에 추정되어야 한다. 추정치 \(\hat{β}_0, \hat{β}_1, . . . , \hat{β}_p\)으로부터 아래와 같은 예측을 할 수 있다.

\[\hat{y}=\hat{\beta}_0+\hat{\beta}_1x_1+\hat{\beta}_2x_2+...+\hat{\beta}_px_p\]

모수들은 단순 선형 회귀와 동일하게 최소자승법을 사용하여 추정된다. 이때 최소화되어야 할 잔차 제곱합 RSS는 아래와 같다.

\[\mathrm{RSS} = \sum_{i=1}^n (y_i-\hat{y}_i)^2 \qquad \qquad \qquad \qquad \qquad \qquad \qquad \quad \\= \sum_{i=1}^n(y_1−\hat{β}_0−\hat{β}_1x_{i1}-\hat{β}_2x_{i2}-...-\hat{β}_px_{ip})^2\]

이때 잔차 제곱합을 최소화하는 \(\hat{β}_0, \hat{β}_1, . . . , \hat{β}_p\)의 값을 다중 최소자승 회귀 계수 추정치(multiple least squares regression coefficient estimates)라고 한다. 선형대수를 이용해 계산할 수 있으며 자세한 식은 생략한다.

동일한 변인이더라도 단순 회귀 계수와 다중 회귀 계수는 다르게 추정될 수 있다. 단순 회귀에서는 다른 예측변인의 존재를 무시하고 하나의 예측변인의 변화에 따른 반응변인의 변화를 고려한다면, 다중 회귀에서는 다른 예측변인을 고정한 상태에서 하나의 예측변인의 변화에 따른 반응변인의 변화를 고려하기 때문이다.

2.2 가설 검정

다중 회귀 상황에서 \(p\)개의 예측변인이 존재할 때 예측변인들과 반응변인 간 관계가 있는지 알아보기 위하여 가설 검정을 수행한다면 영가설과 대립가설은 아래와 같다.

\[H_0: \beta_1=\beta_2=...=\beta_p=0 \\ H_a: 적어도\ 하나의\ \beta_j가\ 0이\ 아니다.\]

F-통계량(F-statistic)을 계산하여 가설 검정을 한다.

\[F=\frac {\mathrm{(TSS-RSS)}/p} {\mathrm{RSS}/(n-p-1)}\]

이때 \(\mathrm{TSS}=\sum(y_i-\bar{y})^2\)이며, \(\mathrm{RSS}=\sum(y_i-\hat{y}_i)^2\)이다.

선형 모델 가정이 옳다면 \(E\left\{\mathrm{RSS}/(n-p-1)\right\}=\sigma^2\)이다. 영가설이 참이라면 \(E\left\{\mathrm{(TSS-RSS)}/p\right\}=\sigma^2\)이기 때문에 F-통계량은 1에 가까울 것이다. 영가설이 참이 아니라면 \(E\left\{\mathrm{(TSS-RSS)}/p\right\}>\sigma^2\)이기 때문에 F-통계량은 1보다 클 것이다.

그렇다면 영가설을 기각하기 위해서 F-통계량이 얼마나 커야 할까? 이는 \(n\)과 \(p\)의 값에 달려 있다. \(n\)이 크다면 F-통계량이 1보다 조금만 커도 영가설을 기각하기에 충분하지만, \(n\)이 작다면 더 큰 F-통계량이 필요할 것이다. 영가설이 참이고 오차 \(\epsilon_i\)가 정규분포를 따른다면, F-통계량은 자유도 \(p,\ n-p-1\)인 F-분포를 따른다. 이 분포에서 계산된 p값에 따라 영가설의 기각 여부가 결정된다.

만일 예측변인 전체가 아니라 특정 서브셋에서 \(q\)개의 예측변인들이 반응변인과 관계가 있는지 알아보고 싶다면, 영가설은 아래와 같다.

\[H_0: \beta_{p-q+1}=\beta_{p-q+2}=...=\beta_p=0\]

편의상 전체 예측변인 중 뒤에 있는 \(q\)개의 변인들을 서브셋으로 가정하였다. 이 경우 마지막 \(q\)개를 제외한 모든 변인들을 사용한 모델에 대한 잔차 제곱합 \(\mathrm{RSS}_0\)를 \(\mathrm{TSS}\) 대신 사용하여 F-통계량을 계산한다.

\[F=\frac {\mathrm{(RSS_0-RSS)}/q} {\mathrm{RSS}/(n-p-1)}\]

그런데 왜 단순 회귀에서와 같이 각 변인에 대한 t-통계량을 계산하여 p값을 구하지 않고 전체적인(overall) F-통계량을 사용하는 것일까? t-통계량을 사용하게 되면 각 변인에 대한 p값을 따로 계산하기 때문에 실제로 영가설이 참임에도 실수로 기각하게 되는 1종 오류의 가능성이 증가하기 때문이다. F-통계량은 변인의 개수를 보정해주기 때문에 이러한 문제가 발생하지 않는다. 즉, 예측변인이나 관측치의 개수에 상관없이 항상 하나의 p값을 얻게 된다.

이러한 F-통계량을 사용한 가설 검정은 \(p\)가 작은 상황에서만 사용할 수 있다. 만일 \(p > n\)이면 추정해야 할 계수 \(β_j​\)가 추정에 사용되는 관측치의 개수보다 많기 때문에 최소자승법을 사용할 수 없고 F-통계량도 계산할 수 없다. 이런 고차원(high-dimensional)의 상황에서는 전진선택법과 같은 변수 선택 방법을 사용할 수 있다.

2.3 변수 선택(Variable Selection)

변수 선택은 반응변인에 연관된 예측변인들만을 단일한 모델에 포함시키기 위한 방법이다. 서로 다른 서브셋의 예측변인들을 포함하는 여러 모델에서 Mallow’s \(C_p\), Akaike information criterion (AIC), Bayesian information criterion (BIC), adjusted \(R^2\) 등을 계산하여 모델 간 비교를 수행할 수 있다. 그러나 \(p\)개의 변인이 있을 때 가능한 모든 모델의 개수는 \(2^p​\)이 되기 때문에 실질적으로 이 모델들을 모두 비교한다는 것은 불가능하다. 따라서 다음의 세 가지 방법이 변수 선택법으로 사용된다.

첫째, 전진선택법(forward selection)은 빈 모델에서 시작하여 단순 선형 회귀를 \(p\)번 시행하여 RSS를 가장 낮게 하는 변인을 모델에 추가하는 과정을 반복한다.

둘째, 후진제거법(backward selection)은 모든 변인을 포함하는 모델에서 시작하여 p값이 가장 큰 변인을 모델에서 제거하는 과정을 반복한다.

셋째, 혼합선택법(mixed selection)은 전진선택법과 같이 빈 모델에서 시작하여 적합도를 높이는 변인을 추가하지만, 후진제거법에서와 같이 모델에서 어떤 변인에 대한 p값이 역치 이상이 되면 해당 변인을 모델에서 제거한다.

\(p>n​\)인 경우에는 후진제거법은 사용할 수 없고 전진선택법을 사용할 수 있다. 전진선택법은 greedy approach라고 할 수 있으며 불필요한 변인들을 포함할 수 있다. 혼합선택법을 사용하면 이러한 단점을 보완할 수 있다.

2.4 모델의 적합도

단순 선형 회귀에서와 같이 RSE와 \(R^2\)가 모델 핏에 대한 척도로 사용된다.

\[\mathrm{RSE} = \sqrt{\frac{1}{n-p-1}\mathrm{RSS}}\]

단순 선형 회귀에서는 \(R^2\)가 반응과 예측변인 간 상관의 제곱인 \(Cor(X,Y)^2\)이었던 반면, 다중 선형 회귀에서 \(R^2\)는 반응과 적합된 선형 모델 간의 상관의 제곱인 \(Cor(Y, \hat{Y} )^2\)과 같다. 이때 모델에 변인이 새로 추가될 때마다 해당 변인이 반응변인과 별로 연관되어 있지 않을지라도 \(R^2\)는 항상 증가한다는 점에 유의해야 한다.

2.5 예측

최종적인 모델을 적합했다면 구해진 회귀식을 통해 \(X​\)를 기반으로 \(Y​\)를 예측할 수 있다. 이 예측에는 세 가지 불확실성이 존재한다.

첫째, 최소 자승 평면 \(\hat{Y}=\hat{\beta}_0+\hat{\beta}_1X_1+...+\hat{\beta}_pX_p\)는 실제 모회귀 평면 \(f(X)=\beta_0+\beta_1X_1+...+\beta_pX_p\)에 대한 추정치이기 때문에 reducible error가 발생한다. \(\hat{Y}\)이 \(f(X)​\)와 얼마나 근접한지 확인하기 위해서는 신뢰 구간을 구해볼 수 있다.

둘째, 모델의 편향으로 인해서도 reducible error가 발생할 수 있다. 즉, 선형 관계를 가정하는 것에 따라 오차가 발생할 수 있다.

셋째, 오차항에 의한 irreducible error가 발생할 수 있다. 예측 구간(prediction intervals)을 구하여 \(\hat{Y}\)이 실제 \(Y\)와 얼마나 다른지 살펴볼 수 있다. 이때 reducible error뿐 아니라 개별 포인트들이 모회귀 평면으로부터 얼마나 떨어져 있는지에 대한 불확실성인 irreducible error가 함께 고려되기 때문에 예측 구간의 범위는 항상 신뢰 구간보다 넓다.

3 회귀 모델에서의 고려사항

3.1 질적 변인

두 개의 수준을 가지는 경우

만약 질적인 예측변인이 2가지 수준(level)을 가진다면 2개의 수치를 가지는 indicator 혹은 더미변수(dummy variable)를 만들어줄 수 있다. 예를 들어, 성별 변인에 대하여 아래와 같은 새로운 변인을 만들 수 있다.

\[x_i = \begin{cases} 1 & \mathrm{if}\ i번째\ 사람이\ 여자 \\ 0 & \mathrm{if}\ i번째\ 사람이\ 남자 \end{cases}\]

이 변인을 회귀식에서 예측변인으로 사용한다면 다음과 같은 모델이 만들어질 것이다.

\[y_i = \beta_0+\beta_1x_i+\epsilon_i = \begin{cases} \beta_0+\beta_1+\epsilon_i & \mathrm{if}\ i번째\ 사람이\ 여자 \\ \beta_0+\epsilon_i & \mathrm{if}\ i번째\ 사람이\ 남자 \end{cases}\]

그렇다면 \(β_0\)는 남자에 대한 평균적인 반응값, \(β_0 + β_1\)은 여자에 대한 평균적인 반응값, \(β_1\)은 반응값에서 남자와 여자의 평균적인 차이라고 할 수 있을 것이다.

이때 여자를 1, 남자를 0으로 코딩한 것은 임의적인 것이고, 코딩이 바뀐다고 하더라도 계수에 대한 해석만 달라질 뿐 예측 결과는 동일하다.

세 개 이상의 수준을 가지는 경우

이 경우에는 더미변수를 추가적으로 만들어주어야 한다. 예를 들어, 아시안, 코카시안, 아프리칸이라는 세 개의 수준이 존재하는 인종 변인에 대하여 2개의 더미변수를 만들어줄 수 있다.

\[x_{i1} = \begin{cases} 1 & \mathrm{if}\ i번째\ 사람이\ 아시안 \\ 0 & \mathrm{if}\ i번째\ 사람이\ 아시안\ 아님 \quad \end{cases} \\ x_{i2} = \begin{cases} 1 & \mathrm{if}\ i번째\ 사람이\ 코카시안\\ 0 & \mathrm{if}\ i번째\ 사람이\ 코카시안\ 아님 \end{cases}\]

이 두 변인이 회귀식에 쓰인다면 아래와 같은 모델을 얻을 수 있다.

\[y_i = \beta_0+\beta_1x_{i1}+\beta_2x_{i2}+\epsilon_i = \begin{cases} \beta_0+\beta_1+\epsilon_i & \mathrm{if}\ i번째\ 사람이\ 아시안 \\ \beta_0+\beta_2+\epsilon_i & \mathrm{if}\ i번째\ 사람이\ 코카시안 \\ \beta_0+\epsilon_i & \mathrm{if}\ i번째\ 사람이\ 아프리칸 \end{cases}\]

그렇다면 \(β_0\)는 아프리칸에 대한 평균적인 반응값, \(β_1\)은 반응값에서의 아프리칸과 아시안의 평균적인 차이, \(β_2\)는 반응값에서의 아프리칸과 코카시안의 평균적인 차이라고 할 수 있을 것이다.

정리하자면, 더미변수의 개수는 항상 수준의 개수보다 하나 적다. 더미변수가 없는 수준(위 예시에서 아프리칸)이 베이스라인이 된다. 역시나 어떤 수준을 베이스라인으로 할지는 임의적이고 각 수준에 대한 최종적인 예측은 달라지지 않는다. 개별 계수와 p값은 코딩에 따라 달라질 수 있지만 F-test를 통해 \(H_0 : β_1 = β_2 = 0\)를 검정한 결과는 항상 동일하다.

3.2 선형 모델의 확장

선형 회귀 모델은 사실상 지켜지기 어려운 두 가지 가정을 하고 있다.

첫째는 가법(additive) 가정으로, 예측변인 \(X_j​\)에 따른 반응변인 \(Y​\)의 변화가 다른 예측변인의 값과는 독립이라는 것이다.

둘째는 선형(linear) 가정으로, \(X_j\)가 한 단위 변화함에 따른 반응변인 \(Y\)의 변화가 \(X_j\)의 값에 상관없이 항상 일정하다는 것이다.

가법 가정 제거하기

2가지 예측변인을 가지는 선형 회귀 모델의 식은 다음과 같다.

\[Y=\beta_0+\beta_1X_1+\beta_2X_2+\epsilon\]

이 모델에 따르면 \(X_1\)을 한 단위 증가시키는 것은 \(Y\)를 평균적으로 \(β_1\) 단위만큼 증가시킬 것이다. \(X_2\)의 존재는 이에 대하여 아무런 영향도 미치지 않는다.

만일 두 변수 간 상호작용 효과가 있을 것이라고 예상한다면, \(X_1\)과 \(X_2\)의 곱인 상호작용 항을 모델에 세 번째 예측변인으로 추가해줄 수 있다.

\[Y = β_0 + β_1X_1 + β_2X_2 + β_3X_1X_2 + \epsilon\]

이는 다시 아래와 같이 정리해볼 수 있다.

\[Y = β_0 + (β_1+ β_3X_2)X_1 + β_2X_2 + \epsilon \\ = β_0 + \tilde{β}_1X_1 + β_2X_2+ \epsilon \quad \qquad\]

이때 \(X_1\)에 대한 계수 \(\tilde{β}_1 = β_1 + β_3X_2\)이 \(X_2\)에 따라 변하기 때문에 \(X_2\)가 \(Y\)에 대한 \(X_1\)의 영향을 변화시킬 수 있게 되었다.

계층적 원칙(hierarchical principle)에 따라 모델에 상호작용을 포함시키기 위해서는 관련된 변인의 계수의 p값이 통계적으로 유의하지 않다고 하더라도 주효과(main effects)를 반드시 함께 포함시켜야 한다. 만일 \(X_1 × X_2\)가 반응변인에 관련되어 있다면 \(X_1\)이나 \(X_2\)의 계수가 0인지 아닌지는 크게 중요하지 않다. 또한 \(X_1 × X_2\)는 대개 \(X_1\) 및 \(X_2​\)와 상관을 가지고 있기 때문에 이들을 모델에 포함시키지 않으면 상호작용의 의미가 변질될 수 있다.

상호작용의 개념은 질적 변인 간, 혹은 질적 변인과 양적 변인 간에도 적용될 수 있다. 예를 들어, 수입(양적 변인)과 학생 여부(질적 변인)를 가지고 카드 대금을 예측한다고 할 때, 상호작용을 가정하지 않는 모델은 아래와 같다.

\[카드\ 대금_i \approx \beta_0 + \beta_1 × 수입_i + \begin{cases} \beta_2 & \mathrm{if}\ i번째\ 사람이\ 학생 \\ 0 & \mathrm{if}\ i번째\ 사람이\ 학생\ 아님 \end{cases} \\ \qquad \qquad =\beta_1 × 수입_i + \begin{cases} \beta_0 + \beta_2 & \mathrm{if}\ i번째\ 사람이\ 학생 \\ \beta_0 & \mathrm{if}\ i번째\ 사람이\ 학생\ 아님 \end{cases}\]

이때 학생과 비학생을 나타내기 위한 두 회귀선은 기울기가 \(β_1\)으로 동일하고 절편이 각각 \(β_0 + β_2\)와 \(β_0\)로 다르다.

한편, 상호작용 항을 추가한 모델은 아래와 같다.

\[카드\ 대금_i \approx \beta_0 + \beta_1 × 수입_i + \begin{cases} \beta_2 +\beta_3 × 수입_i & \mathrm{if}\ i번째\ 사람이\ 학생 \\ 0 & \mathrm{if}\ i번째\ 사람이\ 학생\ 아님 \end{cases} \\ \qquad \ =\begin{cases} (\beta_0 + \beta_2)+(\beta_1 + \beta_3)× 수입_i & \mathrm{if}\ i번째\ 사람이\ 학생 \\ \beta_0+\beta_1 × 수입_i & \mathrm{if}\ i번째\ 사람이\ 학생\ 아님 \end{cases}\]

이번에는 두 회귀선이 서로 다른 절편 \(β_0+β_2\)와 \(β_0\), 서로 다른 기울기 \(β_1+β_3\)와 \(β_1\)을 가진다는 것을 알 수 있다.

선형 가정 제거하기

다항회귀(polynomial regression)를 사용하면 선형 모델을 매우 간단히 비선형으로 확장시킬 수 있다. 모델에 변환된(transformed) 예측변인들을 포함시키는 것이다. 예를 들어, 차의 horsepower로 mpg(miles per gallon)를 예측하고자 할 때, 이차항을 모델에 포함시킬 수 있다.

\[mpg = β_0 + β_1 × horsepower + β_2 × horsepower^2 + \epsilon\]

위의 식은 \(X_1 = horsepower\)와 \(X_2 = horsepower^2\)을 가지는 다중 선형 회귀로 이해할 수 있다. 비선형 적합을 구하기 위하여 일반적인 선형 회귀와 똑같이 \(β_0\), \(β_1\), \(β_2\)를 추정하면 되는 것이다.

그러나 무조건 고차항을 모델에 추가하는 것이 적합도를 높이지는 않는다.

3.3 잠재적인 문제들

(1) 데이터의 비선형성

잔차도(residual plots)를 그려 비선형성을 확인할 수 있다. 단순 선형 회귀 모델에서는 x축에 예측변인 \(x_i\)를, y축에 잔차 \(e_i =y_i − \hat{y}_i\)를, 다중 선형 회귀 모델에서는 x축에 예측된(적합된) 값인 \(\hat{y}_i\)를, y축에 잔차를 그리면 된다. 잔차도에서 특별한 패턴이 보이지 않아야 바람직하다.

데이터의 비선형성이 의심되는 경우에는 \(\log X\), \(\sqrt X\), \(X^2​\)과 같이 비선형적으로 변환된 예측변인을 회귀 모델에 사용할 수 있다.

(2) 오차항의 상관

회귀의 주된 가정 중 하나는 오차의 독립성이다. 만일 오차항 간의 상관이 존재한다면 회귀 모델을 신뢰할 수 없게 된다.

이러한 상황은 시계열 데이터에서 자주 나타난다. 확인할 수 있는 방법은 x축을 시간으로 하고 y축에 잔차를 그려보는 것이다. 만일 오차항끼리 정적인 상관이 있다면 잔차에서 tracking, 즉 인접한 잔차끼리 비슷한 값을 가지는 현상을 관찰할 수 있다.

선형 회귀에서 오차의 독립성 가정은 매우 중요하기 때문에 이러한 위험을 방지하기 위해서는 사전에 좋은 실험 설계가 필수적이다.

(3) 오차항의 이분산성

선형 회귀 모델의 또 다른 중요한 가정은 오차항의 동분산성 \(Var(\epsilon_i) = σ^2\)이다. 만일 잔차도에서 깔때기 모양이 보인다면 오차항의 이분산성을 진단할 수 있다.

한 가지 해결방안은 반응변인 \(Y\)를 \(\log Y\)나 \(\sqrt{Y}\) 등과 같이 오목함수(concave function)를 사용해 변환하는 것이다. 반응이 클수록 더 많이 줄어들기 때문에 이분산성을 완화할 수 있다.

(4) 극단치

극단치(outlier)는 모델에 의해 예상된 값에서 \(y_i\)가 멀리 떨어진 경우를 말한다. 모델의 적합도에 문제를 일으킬 수 있다.

잔차도를 그려 눈으로 확인해볼 수도 있고, 잔차 \(e_i\)를 각각의 추정된 표준오차로 나눈 스튜던트화 잔차(studentized residuals)를 구하여 그 절댓값이 3보다 큰지 확인해볼 수도 있다.

만일 극단치가 데이터 수집이나 기록에서의 오류 때문에 발생한 것이라면 단순히 해당 관측치를 삭제할 수 있다. 그러나 예측변인이 제대로 추가되지 않은 경우와 같이 모델 자체에 결함이 있다는 것을 뜻할 수도 있으므로 주의를 기울여야 한다.

(5) 높은 레버리지 포인트(Leverage Points)

\(x_i\)가 특이한 값을 가지는 경우에 해당한다. 변인이 하나만 존재할 때는 레버리지 포인트를 쉽게 찾아낼 수 있다. 그러나 변인의 수가 많아지면 개별 변인의 범위에서는 특이하지 않더라도 전체 예측변인을 종합해볼 때 특이한 값이 존재할 수 있기 때문에 다중 선형 회귀에서 레버리지 포인트를 찾아내는 것은 쉬운 일이 아니다.

레버리지 통계량(leverage statistic)을 계산하여 각 관측치의 레버리지를 수치화할 수 있다. 값이 클수록 레버리지의 정도가 높다. 단순 선형 회귀에 대해서는 아래와 같은 수식을 사용한다.

\[h_i = \frac {1} {n} +\frac {(x_i-\bar{x})^2} {\sum_{i'=1}^n (x_{i'}-\bar{x})^2}\]

이때 \(h_i\)가 \(x_i\)와 \(\bar{x}\)의 거리가 멀수록 커진다는 것을 알 수 있다. 레버리지 통계량 \(h_i\)는 항상 \(1/n\)과 \(1\) 사이에 존재하며 모든 관측치에 대한 레버리지의 평균은 항상 \((p+1)/n\)이다. 만일 어떤 관측치의 레버리지 통계량이 \((p+1)/n\)에 비해 매우 크다면 이 관측치가 높은 레버리지 포인트를 가진다는 것을 의심해볼 수 있다.

(6) 공선성(Collinearity)

두 개 이상의 예측변인들이 서로 밀접하게 연관된 경우를 말한다. 회귀에서 공선성이 존재하면 각각의 변인이 반응변인에 미치는 개별 효과를 분리하기가 어려워진다. 이 경우 회귀 계수 추정의 정확도가 낮아지고 \(\hat{β}_j​\)에 대한 표준오차가 증가한다. 이에 따라 t-통계량이 감소하기 때문에 영가설을 기각하기 어려워진다.

공선성을 확인하는 가장 간단한 방법은 변수들의 상관행렬을 살펴보는 것이다. 그러나 세 개 이상의 변인에 대하여 다중공선성(multicollinearity)이 존재하는 경우에는 이 방법을 사용할 수 없다. 분산팽창인수(variance inflation factor; VIF)는 전체 모델에 적합했을 때 \(\hat{β}_j\)의 분산을 해당 변인만을 가지고 적합했을 때 \(\hat{β}_j\)의 분산으로 나눈 비율이다. VIF가 취할 수 있는 가장 작은 값은 1로 공선성이 전혀 존재하지 않음을 나타낸다. 대개 VIF 값이 5나 10을 넘는 경우 공선성이 문제가 될 수 있다고 판단한다.

\[VIF(\hat{\beta}_j) = \frac {1} {1-R^2_{X_j|X_{-j}}}\]

위의 식에서 \(R^2_{X_j \vert X_{-j}}\)는 \(X_j\)를 반응변인으로 두고 다른 모든 예측변인들로 회귀 분석을 시행했을 때 얻어진 \(R^2\)를 의미한다. 만일 이 값이 1에 가깝다면 공선성이 존재한다고 할 수 있고 VIF는 커진다.

공선성이 존재하는 변인을 없애더라도 보통 회귀의 적합도는 크게 떨어지지 않는다. 혹은 공선성이 있는 변인들을 하나의 변인으로 결합할 수도 있다.

4 선형 회귀와 K-최근접 이웃의 비교

선형 회귀는 \(f(X)\)의 선형적 함수 형태를 가정하기 때문에 모수적 방법이라고 할 수 있다. 한편 비모수적 방법에서 가장 간단하고 잘 알려진 방법은 K-최근접 이웃 회귀(K-nearest neighbors regression; KNN 회귀)이다. \(K\)와 예측 포인트 \(x_0\)가 주어진 상태에서 KNN 회귀는 먼저 \(x_0\)로부터 가장 근접한 \(K\)개의 트레이닝 관측치를 찾아 \(\mathcal{N}_0\)으로 표시한다. 그런 다음 \(\mathcal{N}_0\)의 모든 트레이닝 반응의 평균을 사용하여 \(f(x_0)\)를 추정한다.

\[\hat{f}(x_0)=\frac{1}{K}\sum_{x_i\in \mathcal{N}_0}y_i\]

\(K\)의 적정 개수는 편향-분산 트레이드오프에 달려 있다. \(K\)가 작으면 편향이 작아지고 분산이 커지는 반면, \(K\)가 크면 편향이 커지고 분산이 작아진다. 테스트 오류율을 추정하는 방법을 통해 \(K\)의 최적값을 탐색할 수 있다.

모수적 방법은 선택된 모델의 형태가 실제 \(f\)의 형태에 근접한 경우 비모수적 방법에 비해 성능이 좋을 것이다. 즉, 실제의 관계가 선형적이라면 KNN에 비해 선형 회귀의 성능이 좋을 것이고, 비선형적이라면 선형 회귀의 성능이 떨어질 것이다.

또 한 가지 알아둘 점은 차원이 높아질수록(변인의 개수가 많아질수록) KNN의 성능이 떨어진다는 것이다. \(p\)가 커짐에 따라 \(p\)-차원의 공간에서 \(x_0\)로부터 \(K\)개의 관측치들까지의 거리는 점차 멀어지게 된다. 이런 상황을 차원의 저주(curse of dimensionality)라고 한다. 이로 인해 KNN은 멀리 떨어져 있는 관측치들로 \(f(x_0)\)를 예측하게 되고 결과적으로 모델의 적합도가 떨어지게 되는 것이다. 그러나 차원이 작은 상황에서도 해석상의 이유로 KNN보다 선형 회귀를 선호할 수 있다.