선형 회귀, Linear Regression
선형 회귀란
X와 Y 사이에 선형적 상관관계가 있다고 가정하고 \(f\)를 추정하는 것. 선형적 상관관계가 있다고 가정하기 때문에, 함수 전체를 추정하는 문제를 계수 \(\beta\)를 추정하는 쉬운 문제로 단순화 시킬 수 있다. \[\hat{y} = \hat{\beta}_0 + \hat{\beta}_1 x\]
주어진 데이터를 통해 직선 y를 추정하는 척도로 가장 흔하게 사용되는 기법은 최소제곱.
잔차제곱합(RSS: residual sum of squares)
\[RSS = \sum (y_i - \hat{y_i})^2\] RSS를 최소화하는 \(\beta\) 추정량을 최소제곱추정량(LSE)라 한다.
장단점?
모델이 간단하여 해석은 쉽지만, 모델이 간단하므로 X, Y가 단순 선형 관계가 아니라 복잡한 관계인 경우 모델의 성능이 좋지 않을 수 있다.
모델의 정확도 평가
잔차표준오차(RSE)
각 관측치에는 \(\epsilon\)이 관련되어 있다. 따라서 실제 \(\beta\)를 모두 알고 있다고 하더라도 X로부터 Y를 정확하게 예측할 수는 없다. RSE는 실제 값이 추정한 회귀선으로부터 얼마나 벗어날지에 대한 평균값을 의미한다. \[RSE = \sqrt{\frac{RSS}{n-2}}\]
RSE는 모델의 적합성결여(lack of fit)를 나타내는 척도로 사용할 수 있다. 즉, RSE가 너무 크면 추정값과 실제값이 크게 다를 수 있다는 것을 의미하므로, 모델이 데이터를 잘 적합하지 않는다는 것을 의미한다.
R^2 통계량
\[R^2 = \frac{TSS-RSS}{TSS}\] \[TSS = \sum(y_i - \bar{y})^2\] TSS는 반응변수 Y의 총분산을 측정하며 회귀가 수행되기 전에 반응변수에 내재하는 변동량으로 생각할 수 있다. 이에 반해 RSS는 회귀가 수행된 후에 설명되지 않고 남아있는 변동량을 측정한다. 따라서 TSS - RSS는 회귀를 수행함으로써 설명된 반응변수의 변동량을 측정한다. 즉, \(R^2\) 통계량이 1에 가까울 수록 반응변수의 변동 중 대부분이 회귀에 의해 설명되었다는 것을 나타낸다. 값은 항상 0~1이므로, RSE 대비 해석이 쉽다는 장점이 있다.
\(R^2\)는 training data가 실제 모델 예측에 얼마나 적합한지를 나타내지만 이게 곧 모델의 실제 성능을 나타낸다고 볼 수는 없다.
실제 상관관계와 상관없이, training set에 대한 RSS는 모델이 복잡하면 복잡할 수록 줄어들기 때문이다.
예를 들어 아예 엄청나게 복잡한 모델을 써서 training set에 완전히 fitting시켜버리면 training RSS가 0이다.
모델의 실제 성능을 나타내기 위해서는 수정된 \(R^2\) 또는 AIC, BIC를 사용한다.
다중선형회귀 (Multiple Linear Regression)
\[RSS = \sum(y_i - \hat{\beta}_0 - \hat{\beta}_1 x_{i1} - \hat{\beta}_2 x_{i2} - … - \hat{\beta}_p x_{ip})^2\]
이상치(Outlier)와 레버리지(leverage)
이상치는 \(y_i\)가 모델이 예측한 값과 크게 다른 점이다. 관측치를 잘못 기록하는 것과 같은 다양한 이유로 생길 수 있다. 레버리지는 \(x_i\)가 다른 관측치와 얼마나 떨어져 있느냐 이다. 즉, 높은 레버리지를 갖는 관측치는 \(x_i\)값이 혼자 멀리 떨어져 있다. 내가 가진 X값의 집합이 [1, 2, 3, 100]이면 100은 높은 레버리지를 갖는 관측치라고 볼 수 있다. 단순히 값만 놓고 보는게 아니라, 해당 차원에서 점을 찍었을 때 아무튼 다른 관측치들과 멀리 떨어져 있으면 레버리지가 높다고 보면 된다.
단순선형회귀의 경우에 레버리지 통계량. 이 통계량이 크면 관측치의 레버리지가 높다는 것을 의미한다. \[h_i = \frac{1}{n} + \frac{(x_i - \bar{x})^2}{\Sigma_{i’=1}^n (x_{i’} - \bar{x})^2} \qquad (3.37)\]
반응변수와 설명변수 사이의 상관관계
반응변수와 설명변수 사이에 상관관계가 있는지는 \(\beta=0\)인지 검사하면 된다. 단, 이 때 p-value도 고려해야 한다.
p-값은 귀무 가설(null hypothesis)이 맞다는 전제 하에, 데이터를 새로 샘플링 했을 때 표본에서 이전에 실제로 관측된 통계치와 ‘같거나 더 극단적인’ 통계치가 관측될 확률이다.
여기서 귀무가설은, “반응변수와 설명변수가 관련이 없다.” ((\(\beta=0\)이다.) p-value가 작으면(< 0.01 | 0.05) 귀무 가설을 기각할 수 있다.
p-value에 대한 자세한 내용은https://adnoctum.tistory.com/332참고.
선형회귀에 대해 개괄적으로 잘 정리되어 있는 블로그http://blog.naver.com/PostView.nhn?blogId=istech7&logNo=50152984368&parentCategoryNo=&categoryNo=22&viewDate=&isShowPopularPosts=true&from=search
p-value가 변수 1개의 연관성을 측정하는거라면, \(H_0 : B_1 = B_2 = 0\)라는 가설을 검증하는 경우 둘 다 0임을 검증해야 하므로 각각의 p-value값이 크다고 하더라도 이를 신뢰할 수 없다. 이런 경우 실제로 가설을 만족하는 경우의 변동량과 원래의 변동량을 비교하는 F-통계량을 사용해 검증해야 한다.