오늘 할 일: 끝내주게 숨쉬기
article thumbnail

통계학의 핵심은 단연 회귀분석이라고 할 수 있습니다. 회귀분석(Regression Analysis)이란 독립변수와 종속변수 사이의 관련성을 수학적 모형을 이용하여 추정하고 분석하는 통계적 방법을 말합니다. 독립변수(Independent variable) 또는 설명변수(Explanatory variable) 또는 예측변수(Predictor variable)는 서로 관련이 있는 변수들 중 다른 변수에 영향을 주는 변수를 뜻하며, 종속변수(Dependent variable) 또는 반응변수(Response variable)는 독립변수에 의해 영향을 받는 변수를 뜻합니다. 예를 들어, 영화 상영관의 수를 독립변수, 관람객 수를 종속변수라고 한다면, 상영관의 수가 증가하면 관람객의 수가 증가한다는 두 변수 사이의 관련성을 추정할 수 있겠습니다. 독립변수의 수가 하나이면 단순회귀분석(Simple Regression), 둘 이상이면 다중회귀분석(Multiple Regression or Multivariate Regression)이라고 합니다. 회귀분석으로 구한 회귀모형으로 독립변수의 값이 주어졌을 때 종속변수를 예측할 수 있으며, 독립변수가 종속변수에 미치는 영향의 정도를 이해할 수 있고, 또한 데이터 구조에 대한 이해 역시 가능합니다.



단순회귀모형(Simple Linear Regression Model)



독립변수가 하나인 단순회귀모형에 대해 알아보겠습니다. 단순회귀모형의 구조는 다음과 같습니다.


여기서 n은 관찰값(observed value)의 수입니다. 회귀분석을 위해서, n개의 오차는 서로 독립이며(독립성), 동일한 분포 를 따른다(정규성, 등분산성)고 가정합니다. 따라서 회귀계수를 추정한 후에는 이 가정을 확인하는 과정이 반드시 필요합니다. 회귀식에 쓰일 회귀계수는 최소제곱법(The Method of Least Square) 또는 최대가능도추정법(The Method of Maximum Likelihood Estimation) 등을 통해 추정할 수 있습니다. 



최소제곱법(The Method of Least Square)


모든 표본점 에서의 오차(error) 의 제곱합(sum of squares) 을 최소로 만드는 모수 의 추정값 을 찾는 방법을 말합니다. 이 때 추정값을 최소제곱추정량(Least Square Estimator)라고 하며, 추정된(또는 적합된) 최소제곱회귀직선은 다음과 같습니다.


 


 

오차제곱합을 각 모수로 편미분하고, 그 방정식을 0으로 만드는 을 라 하고 정리하면 다음과 같은 연립방정식을 얻을 수 있으며, 이를 정규방정식(Normal Equation)이라고 합니다.



정규방정식을 풀어 얻은 최소제곱추정량은 다음과 같습니다.




최대가능도추정법(The Method of Maximum Likelihood Estimation)


최소제곱법과는 다르게, 오차항의 분포를 아는 경우에 사용합니다. 여기서 을 가정합니다. 

의 확률밀도함수(probability density function)는



이고, 은 서로 독립이므로 결합확률밀도함수(joint probability density function)는 다음과 같습니다.




오차항이 주어졌을 때, 결합확률밀도함수는 모수 의 함수로 생각할 수 있으며 이를 가능도함수(Likelihood function)라고 일컫고 다음과 같이 표현합니다.




결합확률밀도함수와 가능도함수는 동일한 식이지만, 전자는 관찰값의 함수이며, 후자는 모수의 함수라는 점이 차이입니다.


이 가능도함수를 최대로 하는 모수 의 추정값을 최대가능도추정값(Maximum Likelihood Estimator)이라고 합니다. 계산편의상 양변에 로그를 취하고, 각 모수로 편미분해 얻은 식을 0이 되게 하는 값을 구하면 최대가능도추정값은 최소제곱추정량과 동일하다는 것을 알 수 있습니다.

여기서, 는 잔차(residual)로 관측값과 예측값의 차이라고 정의합니다. 오차(error)와 잔차(residual)을 다시 정리하자면, 오차는 관측값(the observed value)과 참값(the true value)의 차이이며, 잔차는 관측값과 회귀식에 의해 추정된 예측값(the predicted value)의 차이입니다. 이론상 참값은 미지의 수이기 때문에 알 수 없으므로 잔차로 추정하게 됩니다. 즉, 잔차는 오차의 추정값이라고 할 수 있겠습니다



R을 이용한 단순회귀분석


> data(cars)

> head(cars)

  speed dist

1     4    2

2     4   10

3     7    4

4     7   22

5     8   16

6     9   10 



단순회귀분석을 위해 cars 데이터를 불러들였습니다. head( ) 함수로 데이터의 초반 관측값들을 살펴볼 수 있습니다. 이 데이터는 차의 속도인 speed 변수와 멈출 때까지의 거리인 dist 변수로 이루어져 있습니다. speed 변수를 예측변수, dist를 반응변수로 하는 회귀모형 추정에 앞서, 두 변수간의 산점도(scatter plot)를 통해 선형성과 관련성이 존재하는지를 살펴보겠습니다.


> scatter.smooth(x=cars$speed, y=cars$dist, main="Dist ~ Speed") 



scatter.smooth() 함수로 산점도와 평활곡선(smoothing curve)를 그려 speed 값이 커지면 dist 값 역시 커지는 경향이 존재한다는 것을 확인하였습니다. 관련없는 변수들 간의 모형은 부적절한 해석을 야기할 수 있으므로 모형을 적합하기 전에는 항상 이러한 시각화를 통해 변수들 간 관련성(상관성)이 존재하는지를 확인해야 합니다. 



> lm.cars<-lm(dist ~ speed, data=cars)

> summary(lm.cars)


Call:

lm(formula = dist ~ speed, data = cars)


Residuals:

    Min      1Q  Median      3Q     Max 

-29.069  -9.525  -2.272   9.215  43.201 


Coefficients:

            Estimate Std. Error t value Pr(>|t|)    

(Intercept) -17.5791     6.7584  -2.601   0.0123 *  

speed         3.9324     0.4155   9.464 1.49e-12 ***

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Residual standard error: 15.38 on 48 degrees of freedom

Multiple R-squared:  0.6511, Adjusted R-squared:  0.6438 

F-statistic: 89.57 on 1 and 48 DF,  p-value: 1.49e-12



단순회귀모형을 적합한 결과, 예측변수 speed의 회귀계수가 p값이 거의 0으로 매우 유의한 것으로 나타났습니다. 단순회귀에서 다중상관계수(Multiple R-squared)는 두 변수의 상관계수의 제곱과 동일하며, 적합된 회귀직선의 설명력이라고 해석합니다. 여기서는 추정된 회귀식이 총변동의 65.11%를 설명한다고 할 수 있습니다. 설명력이 클수록 추정된 회귀식이 데이터를 잘 반영하는 것입니다. F 검정의 귀무가설은 '모든 모수가 0이다'인데요, p값이 매우 작아 귀무가설이 기각되므로 모든 모수가 0은 아니라고 해석합니다. 추정된 회귀계수를 사용해 회귀식을 적으면 다음과 같습니다.





이제 회귀분석에서 가정되는 오차의 독립성, 정규성, 등분산성을 확인해보겠습니다.



> par(mfrow=c(2,2))

> plot(lm.cars) 



왼쪽 위 잔차그림에서 잔차들이 특별한 패턴을 보이지 않고, 적합값에 따른 잔차의 분산이 균일한 편이므로 독립성과 등분산성 가정을 만족한다고 할 수 있습니다. 또한 오른쪽 위 정규확률그림을 통해 점들이 직선을 잘 따르므로 정규성 가정도 만족한다고 할 수 있겠습니다.


 

참고

· 염준근, 김대경, 장인홍(2017), SAS와 R을 활용한 선형회귀분석, 자유아카데미

· "Complete Introduction to Linear Regression in R", Machine Learning Plus, https://www.machinelearningplus.com/machine-learning/complete-introduction-linear-regression-r/