Chapter 5.

회귀 모델은 시계열 y 를 예측할 때 이것이 다른 시계열 x와 선형 관계가 있다고 가정하는 것이 기본 개념이다. 목표 예상변수(forecast variable) y 는 회귀선, 종속변수, 피설명 변수라고 부르기도 한다. 예측변수(predictor variable) x는 회귀자, 독립변수, 설명 변수라고 부르기도 한다.

 

5.1 선형 모델

단순 선형 회귀

회귀 모델이 목표 예상 변수 y 와 하나의 예측 변수 x 사이의 선형 관계를 다루는 경우가 가장 간단하다.

와 는 각각 직선의 절편과 기울기를 나타내며, 은 x가 0일 때 예측되는 y의 값을 나타낸다. 는 x가 1만큼 증가했을 때 예측되는 y의 변화를 의미한다. 여기서 주목해야 할 것은 관측값이 직선 위에 있는 것이 아니라 주위에 퍼져있다는 점이다. 또한 “오차(error)” 를 생각해볼 수 있다. “오차(error)”라는 단어는 실수를 의미하는 것이 아니라, 관측값이 기본 직선 모델로부터 얼마나 떨어져 있는지를 의미한다.

 

다중 선형 회귀

두 개 이상의 예측변수가 있을 때, 다중 회귀 모델(multiple linear regression)이라 부른다. 수식은 k개의 예측변수가 있어야 하고 각각은 숫자 형태여야 한다. 계수들은 다른 모든 예측변수의 효과를 고려한 뒤의 각 예측변수의 효과를 나타낸다. 다중 선형 회귀 모델은 잠재적으로 더 정확한 예측값을 낼 수 있다. 

선형 회귀 모델에서 중요한 가정 몇가지가 있는데, 목표 예상변수와 예측변수의 관계는 선형 관계식을 만족한다는 점, 오차의 평균이 0이란 점이 있다. 또한 오차는 자기상관관계, 예측변수, 상관관계가 없다는 점과 예측 변수는 확률 변수가 아니라는 점이다. 

 

5.2 최소 제곱 추정

적합값

실제 관측값을 가지고 있다고 하여도 계수 값을 모르기 때문에 데이터로부터 추정해야 한다. 최소 제곱 원리(least square principle)는 제곱 오차의 합을 최소화하여 계수를 효과적으로 선택할 수 있는 방법이다.

오차의 제곱을 더한 값의 최소값을 나타내기 때문에 '최소 제곱 추정' 이라 부른다. 가장 좋은 계수를 추정하는 것을 보통 'fitting' 한다고 하거나 학습, 훈련(training) 시킨다고 부른다. tslm() 메서드는 선형 회귀 모델을 시계열 데이터에 맞춘다. lm() 함수와 비슷하지만 tslm() 은 시계열을 위한 추가 기능을 제공한다.

다중 회귀식에서 얻은 계수를 사용하고 오차항을 0으로 두어 y의 예측값을 얻을 수 있다. 각 값에 숫자를 대입하면 얻는 예측값을 적합값(fitted value)이라 부르는데, 이는 모델을 추정하기 위해 사용한 데이터의 예측값이다.

 

적합도

선형 회귀 모델이 데이터에 얼마나 잘 맞는지 요약하는 방법은 결정 계수(coefficient of determination) 혹은 R²(알스퀘어)를 사용하는 것이다. 머신러닝 게시글에도 자세히 설명해놨는데, 타깃에 가까워 질수록 1에 가까워진다고 생각하면 된다. 만약 실제 값과 관련이 없다면 0에 가까울 것이고, 모든 출력 값은 0과 1사이의 값을 가진다.

결정계수를 수식으로 표현하면 위와 같이 계산할 수 있는데, 관측한 값과 예측한 값 사이의 상관관계의 제곱으로 계산할 수 있다. 예측 변수(predictor variable)를 추가한다면 R²값이 줄어들지 않고 이는 오히려 과대적합(over-fitting)으로 이어질 수 있다. 어떨 때는 R²값을 측정하는 것보다 모델의 예측 성능을 확인하는 것이 더 나을수도 있다.

 

회귀 분석의 표준 오차

잔차 표준 편차인 "잔차 표준 오차(redisual standard error)"를 통해 모델이 데이터에 얼마나 잘 들어맞는지에 대해 알 수 있다.

표준 오차는 모델이 내는 평균 오차의 크기와 관련이 있다. 이 오차를 y의 표본 평균이나 표준 편차와 비교함으로써 모델의 정확도에 대해 파악할 수 있다. 주의해야 할 점은 스케일(scale)에 따라 평가하는 것도 달라질 수 있다는 점이다.

 

5.3 회귀 모델 평가

관측값과 예측값의 차이를 잔차(residual)로 정의할 수 있는데, 각 잔차는 관련된 관측값의 예측할 수 없는 성분이다. 이를 통해 모델을 평가하기 전에 잔차의 성질부터 먼저 알아야한다. 잔차는 평균이 0이고, 잔차와 관측값 사이의 상관관계도 0이다. 회귀 변수를 고르고 모델을 맞춘 다음 모델의 적합성을 평가하기 위해서는 그래프를 그려봐야 한다.

 

잔차의 ACF 그래프

시계열 데이터에서 현재 시점에 관측한 변수의 값은 대부분 이전, 혹은 그 이전의 값과 비슷하다. 보통 회귀 모델을 사용해서 시계열 데이터를 예측할 때 잔차의 자기상관관계(autocorrelation)를 찾는 작업을 하는데, 만약 자기 상관관계가 있을 경우에는 예측이 비효율적일 수 있다. 이러한 경우에는 더 나은 예측을 하기 위해서는 다른 정보들을 추가적으로 고려해야 한다. 자기상관이 있는 모델로 낸 예측치가 잘못된 것은 아니지만 보통 더 큰 예측구간(prediction interval)을 가지기 때문에 잔차의 ACF(Auto-Correlation Function) 그래프를 살펴봐야 한다.

브로이쉬-갓프레이(Breusch-GodFrey) 방법도 있는데, 자기상관(autocorrelation)이 없다는 결합 가설(joint hypothesis)을 검증하는 데 사용한다. 

 

잔차의 히스토그램

잔차가 정규분포를 따르는지 확인하는 단계를 통해 예측 구간을 훨씬 쉽게 계산할 수 있게 된다.

 

예측 변수에 대한 잔차 그래프

잔차가 체계적이기 않고 무작위로 뿌려진 형태로 나타났을 때 가장 빠르게 확인하는 방법은 예측 변수에 대한 잔차의 산점도(scatterplot)를 살펴보는 것이다. 산점도 패턴이 나타난다면 관계가 비선형적일 수 있어서 모델을 수정해야 한다.

 

적합값에 대한 잔차 그래프

적합값에 대한 잔차를 그렸을 때 패턴이 나타난다면 잘못된 것이다. 즉, 이분산성(heteroscedasticity)이 있을 수 있다는 것인데, 잔차의 분산이 일정하지 않을 수 있다는 것을 의미한다. 만약 패턴이 나타난다면 로그나 제곱근 등의 변환을 취해서 확인해야 할 수도 있다.

 

이상값과 영향력 있는 관측값

대다수의 데이터에 비해 극단적인 관측값을 이상값(outliers)이라 부르는데, 만약 회귀 모형의 계수에 주는 영향이 크다면 영향력있는 관측값이라고 부르기도 한다. 이를 찾아내는 방법은 산점도를 그리는 것이다. 보통은 데이터 입력 실수로 인해 이상값이 나타나는 경우 혹은 관측값이 단순히 이상한 경우가 많다.

 

허위회귀(Spurious Regression)

대부분의 시계열 데이터는 정상성(stationarity)이 나타나지 않고, 시계열의 값이 일정한 평균이나 분산으로 변하지 않는다.

 

+ Recent posts