선형회귀모델 (Linear Regression Models)
회귀분석은 반응변수(response variable)와 하나 이상의 설명변수(regressor variable) 사이의 관계를 모델링하고 조사하는 통계 기법이다. 일반적으로 회귀분석의 목표는 특정 설명변수가 주어졌을 때 반응변수를 예측하는 모델을 만드는 것이다.
단순선형회귀모델(simple linear regression model)은 아래와 같이 표현된다.
$$ y = \beta_0 + \beta_1 x + \epsilon $$
$ y $ 는 반응변수, $ x $ 는 설명변수, $ \beta_0 $ 와 $ \beta_1 $ 은 미지의 매개변수(unknown parameters)로 회귀계수(regression coefficients)라 한다. $ \epsilon $ 은 오차항(error trem)이다. 여기서 중요한 가정은 각 $ x $ 값에서의 $ \epsilon $ 이 서로 독립이며 평균이 $ 0 $ 이고, 분산이 $ \sigma^2 $ 인 정규분포를 따른다는 것이다. 즉 $ \epsilon \overset{\mathrm{i.i.d.}}{\sim} N(0, \sigma^2) $ 이 가정된다.
설명변수가 한 개 이상이라면 다중선형회귀(multiple linear regression)라 한다. 단순선형회귀모델은 위와 같고, 다중선형회귀모델은 아래와 같다.
$$ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k + \epsilon $$
여기서 각 회귀계수는 다른 회귀계수가 일정하다고 가정할 때 $ y $ 에 미치는 영향을 설명하므로 부분 회귀계수(partial regression coefficients)라고도 한다.
이러한 모델들에서 선형성(linearity)을 가진다는 의미는 반응변수와 설명변수 사이 관계가 선형이라는 것이 아니라 모델이 미지의 매개변수에 대해 선형적이라는 의미이다. 예를 들어 아래와 같은 회귀식은 반응변수와 예측변수 사이 관계는 이차관계이지만, 미지의 매개변수에 대해서는 선형적이므로 선형회귀모델이다.
$$ y = \beta_0 + \beta_1 x + \beta_2 x^2 + \epsilon $$
왜냐하면 어차피 설명변수 $ x $ 는 주어진 값을 사용하기에 상수이기 때문이다.
회귀분석으로 예측하는 데이터로는 크게 구분하면 횡단면 데이터(cross-section data)와 시계열 데이터(time series data)가 있다. 횡단면 데이터는 단일 시간 단위(single time period)에서 데이터가 수집된 것이다. 예를 들어 2024년 자치구별 도서관 수라는 데이터가 있다면 2024년이라는 단일 시간 단위에서 데이터가 수집되었으므로 횡단면 데이터이다. 반면 시계열 데이터는 특정 개체에 대해 시간 경과에 따른 데이터를 수집한 것이다. 예를 들어 연도별 서울시 인구라 하면 서울시라는 특정 개체의 인구 데이터를 시간 경과에 따라 수집한 데이터이므로 시계열 데이터이다. 엄밀히는 개체가 여러개라면, 예를 들어서 연도별 시군구 인구 데이터라 하면 서울시처럼 단일 개체가 아니라 시군구라는 여러 개체이므로 시계열 데이터가 아니라 패널 데이터(panel data)라 한다. 그러나 패널 데이터를 시계열 데이터라 하는 경우도 있으니 유의하자.
횡단면 데이터의 경우 아래와 같이 선형회귀모델을 표현한다.
$$ y_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \cdots + \beta_k x_{ik} + \epsilon_i , \qquad (i = 1, 2, \cdots, n) $$
여기서 $ i $ 는 데이터셋 내 각 개별 관측값을 나타낸다.
반면 반응변수와 설명변수가 시계열 데이터라면 아래와 같이 선형회귀모델을 표현하여 시계열 데이터임을 강조한다.
$$ y_t = \beta_0 + \beta_1 x_{t1} + \beta_2 x_{t2} + \cdots + \beta_k x_{tk} + \epsilon_t , \qquad (t = 1, 2, \cdots, T)$$
최소제곱법 (Least Squares Method)
먼저 쉬운 횡단면 자료(cross-section data)를 사용하는 상황에서 보자. 반응변수에 대한 관측값 $ n $ 이 모형의 설명변수의 개수 $ k $ 보다 적어도 많고, 가능하면 $ k^2 $ 보다 많다고 하자. 이 값들을 $ y_1, y_2, \cdots, y_n $ 이라 하면 각 반응변수 관측값 $ y_i $ 에는 각 설명변수 $ x_j $ 의 관측값 또는 수준(level)이 대응된다. 이를 $ x_{ij} $ 라 표기하겠다. 즉 설명변수는 $ x_1, x_2, \cdots, x_k $ 이다.
앞선 가정인 $ \epsilon \overset{\mathrm{i.i.d.}}{\sim} N(0, \sigma^2) $ 을 여기서도 가정하자.
최소제곱법은 식의 모수 $ \beta $ 들을 선택할 때 오차항 $ \epsilon_i $ 의 제곱합을 최소화하도록 선택하는 방법으로 최소화할 함수는 다음과 같다.
$$ L = \sum_{i=1}^n \epsilon_i^2 = \sum_{i=1}^n \left( y_i - \beta_0 - \sum_{j=1}^k \beta_j x_{ij} \right) ^2 $$
즉 다음을 구하는 것이다.
$$ \underset{\beta_1, \beta_2, \cdots, \beta_k}{\min} L $$
이를 구하기 위해 $ L $ 을 각 $ \beta $ 에 대해 미분하고, 정규방정식(normal equations)을 만들어 풀면 된다. 즉 각 $ \beta $ 에 대해 $ \frac{\partial L}{\partial \beta} = 0 $ 을 만들어 푸는 것이다.
하나하나 일일히 푸는 것은 비효율적이기에 행렬로 만들어 풀 것이다. 앞선 회귀식을 행렬로 만들면 다음과 같이 쓸 수 있다.
$$ \mathbf{y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\epsilon} $$
여기서 $ \mathbf{y} $ 는 $ n \times 1 $ 벡터, $ \mathbf{X} $ 는 $ n \times p $ 행렬, $ \boldsymbol{\beta} $ 는 $ p \times 1 $ 의 회귀계수 벡터, $ \boldsymbol{\epsilon} $ 은 $ n \times 1 $ 의 오차항 벡터이다. $ p = k + 1 $ 로 $ \beta_0 $ 를 넣기 위해 이렇게 설정한다.
이때 최소제곱 추정량은 다음 행렬 방정식을 만족한다. 참고로 $ \mathbf{X}^\prime = \mathbf{X}^T $ 로 전치행렬을 의미한다.
$$ ( \mathbf{X}^\prime \mathbf{X} ) \hat{\boldsymbol{\beta}} = \mathbf{X}^\prime \mathbf{y} $$
$ ( \mathbf{X}^\prime \mathbf{X} ) $ 은 $ p \times p $ 대칭행렬, $ \mathbf{X}^\prime \mathbf{y} $ 는 $ p \times 1 $ 벡터이다. 정규방정식을 $ \hat{\boldsymbol{\beta}} $ 에 대해 풀면 다음과 같다.
$$ \hat{\boldsymbol{\beta}} = ( \mathbf{X}^\prime \mathbf{X} )^{-1} \mathbf{X}^\prime \mathbf{y} $$
활용하여 $ \mathbf{y} $ 를 추정하면 다음과 같다.
$$ \hat{\mathbf{y}} = \mathbf{X} \hat{\boldsymbol{\beta}} $$
그렇다면 잔차(residual) $e_i = y_i - \hat{y}_i $ 는 다음과 같이 벡터로 나타낼 수 있다.
$$ \mathbf{e} = \mathbf{y} - \hat{\mathbf{y}} = \mathbf{y} - \mathbf{X} \hat{\boldsymbol{\beta}} $$
이제 실제 회귀모형의 오차항이 따르는 정규분포의 분산, 즉 $ \sigma^2 $ 을 추정하면 다음과 같다.
$$ \hat{\sigma}^2 = \frac{SSE}{n - p} = \frac{(\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}})^\prime(\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}})}{n - p} $$
만약 모형이 올바르게 지정되었다면 이 추정량은 모수의 불편추정량(unbiased estimator)이고, 다음과 같은 특성을 가진다.
$$ E(\hat{\boldsymbol{\beta}}) = \boldsymbol{\beta} $$
$$ \mathrm{Var} ( \hat{\boldsymbol{\beta}}) = \sigma^2 ( \mathbf{X}^\prime \mathbf{X} )^{-1} $$
추세 조정 (Trend Adjustment)
추세를 포함한 시계열 데이터를 예측할 때, 추세를 회귀분석을 이용하여 예측하기도 한다. 추세를 예측했다면, 원 시계열 자료(original time series)에서 추세를 제거하고 남은 잔차(residual)를 구한다. 이제 잔차를 예측하고 다시 추세를 더하면 최종 예측값이 된다.
기본 모형은 다음과 같다.
$$ y_t = \beta_0 + \beta_1 t + \epsilon_t , \qquad (t = 1, 2, \cdots, T) $$
위 모형에 대한 최소제곱 정규방정식(normal equations)은 다음과 같다.
$$ T \hat{\beta}_0 + \frac{T(T+1)}{2} \hat{\beta}_1 = \sum_{t=1}^T y_t $$
$$ \frac{T(T+1)}{2} \hat{\beta}_0 + \frac{T(T+1)(2T+1)}{6} \hat{\beta}_1 = \sum_{t=1}^T ty_t $$
이 정규방정식은 두 개의 모수만 포함하므로 아래와 같이 최소제곱 추정량을 얻을 수 있다. 이때 $ \sum_{t=1}^T t = T(T+1)/2 $ 라는 것과 $ \sum_{t=1}^T t^2 = T(T+1)(2T+1) / 6 $ 이라는 것을 기억하면 쉽게 풀 수 있다.
$$ \hat{\beta}_0 = \frac{2(2T+1)}{T(T-1)} \sum_{t=1}^T y_t - \frac{6}{T(T-1)} \sum_{t=1}^T t y_t $$
$$ \hat{\beta}_1 = \frac{12}{T(T^2-1)} \sum_{t=1}^T ty_t - \frac{6}{T(T-1)} \sum_{t=1}^T y_t $$
이러한 추정값은 계산된 시점 $ T $ 에 따라 달라질 수 있으므로 $ \hat{\beta}_0 (T) $, $\hat{\beta}_1 (T) $ 로 표기하기도 한다. 이 추정값을 이용하여 다음 시점 $ T+1 $ 에 대한 예측값은 다음과 같이 얻을 수 있다.
$$ \hat{y}_{T+1}(T) = \hat{\beta}_0(T) + \hat{\beta}_1(T) (T+1) $$
'Statistics > Time Series Analysis' 카테고리의 다른 글
[Time Series Analysis] 선형회귀모델 예측(prediction) (0) | 2025.04.07 |
---|---|
[Time Series Analysis] 선형회귀모델 가설 검정(hypothesis test) (0) | 2025.04.07 |
[Time Series Analysis] 예측 모델(forecasting model) 모니터링(monitoring) (0) | 2025.03.26 |
[Time Series Analysis] 예측 모델(forecasting model) 선택(Choosing) (0) | 2025.03.26 |
[Time Series Analysis] 예측 모델(forecasting model) 평가(evaluation) (0) | 2025.03.23 |
선형회귀모델 (Linear Regression Models)
회귀분석은 반응변수(response variable)와 하나 이상의 설명변수(regressor variable) 사이의 관계를 모델링하고 조사하는 통계 기법이다. 일반적으로 회귀분석의 목표는 특정 설명변수가 주어졌을 때 반응변수를 예측하는 모델을 만드는 것이다.
단순선형회귀모델(simple linear regression model)은 아래와 같이 표현된다.
$$ y = \beta_0 + \beta_1 x + \epsilon $$
$ y $ 는 반응변수, $ x $ 는 설명변수, $ \beta_0 $ 와 $ \beta_1 $ 은 미지의 매개변수(unknown parameters)로 회귀계수(regression coefficients)라 한다. $ \epsilon $ 은 오차항(error trem)이다. 여기서 중요한 가정은 각 $ x $ 값에서의 $ \epsilon $ 이 서로 독립이며 평균이 $ 0 $ 이고, 분산이 $ \sigma^2 $ 인 정규분포를 따른다는 것이다. 즉 $ \epsilon \overset{\mathrm{i.i.d.}}{\sim} N(0, \sigma^2) $ 이 가정된다.
설명변수가 한 개 이상이라면 다중선형회귀(multiple linear regression)라 한다. 단순선형회귀모델은 위와 같고, 다중선형회귀모델은 아래와 같다.
$$ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k + \epsilon $$
여기서 각 회귀계수는 다른 회귀계수가 일정하다고 가정할 때 $ y $ 에 미치는 영향을 설명하므로 부분 회귀계수(partial regression coefficients)라고도 한다.
이러한 모델들에서 선형성(linearity)을 가진다는 의미는 반응변수와 설명변수 사이 관계가 선형이라는 것이 아니라 모델이 미지의 매개변수에 대해 선형적이라는 의미이다. 예를 들어 아래와 같은 회귀식은 반응변수와 예측변수 사이 관계는 이차관계이지만, 미지의 매개변수에 대해서는 선형적이므로 선형회귀모델이다.
$$ y = \beta_0 + \beta_1 x + \beta_2 x^2 + \epsilon $$
왜냐하면 어차피 설명변수 $ x $ 는 주어진 값을 사용하기에 상수이기 때문이다.
회귀분석으로 예측하는 데이터로는 크게 구분하면 횡단면 데이터(cross-section data)와 시계열 데이터(time series data)가 있다. 횡단면 데이터는 단일 시간 단위(single time period)에서 데이터가 수집된 것이다. 예를 들어 2024년 자치구별 도서관 수라는 데이터가 있다면 2024년이라는 단일 시간 단위에서 데이터가 수집되었으므로 횡단면 데이터이다. 반면 시계열 데이터는 특정 개체에 대해 시간 경과에 따른 데이터를 수집한 것이다. 예를 들어 연도별 서울시 인구라 하면 서울시라는 특정 개체의 인구 데이터를 시간 경과에 따라 수집한 데이터이므로 시계열 데이터이다. 엄밀히는 개체가 여러개라면, 예를 들어서 연도별 시군구 인구 데이터라 하면 서울시처럼 단일 개체가 아니라 시군구라는 여러 개체이므로 시계열 데이터가 아니라 패널 데이터(panel data)라 한다. 그러나 패널 데이터를 시계열 데이터라 하는 경우도 있으니 유의하자.
횡단면 데이터의 경우 아래와 같이 선형회귀모델을 표현한다.
$$ y_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \cdots + \beta_k x_{ik} + \epsilon_i , \qquad (i = 1, 2, \cdots, n) $$
여기서 $ i $ 는 데이터셋 내 각 개별 관측값을 나타낸다.
반면 반응변수와 설명변수가 시계열 데이터라면 아래와 같이 선형회귀모델을 표현하여 시계열 데이터임을 강조한다.
$$ y_t = \beta_0 + \beta_1 x_{t1} + \beta_2 x_{t2} + \cdots + \beta_k x_{tk} + \epsilon_t , \qquad (t = 1, 2, \cdots, T)$$
최소제곱법 (Least Squares Method)
먼저 쉬운 횡단면 자료(cross-section data)를 사용하는 상황에서 보자. 반응변수에 대한 관측값 $ n $ 이 모형의 설명변수의 개수 $ k $ 보다 적어도 많고, 가능하면 $ k^2 $ 보다 많다고 하자. 이 값들을 $ y_1, y_2, \cdots, y_n $ 이라 하면 각 반응변수 관측값 $ y_i $ 에는 각 설명변수 $ x_j $ 의 관측값 또는 수준(level)이 대응된다. 이를 $ x_{ij} $ 라 표기하겠다. 즉 설명변수는 $ x_1, x_2, \cdots, x_k $ 이다.
앞선 가정인 $ \epsilon \overset{\mathrm{i.i.d.}}{\sim} N(0, \sigma^2) $ 을 여기서도 가정하자.
최소제곱법은 식의 모수 $ \beta $ 들을 선택할 때 오차항 $ \epsilon_i $ 의 제곱합을 최소화하도록 선택하는 방법으로 최소화할 함수는 다음과 같다.
$$ L = \sum_{i=1}^n \epsilon_i^2 = \sum_{i=1}^n \left( y_i - \beta_0 - \sum_{j=1}^k \beta_j x_{ij} \right) ^2 $$
즉 다음을 구하는 것이다.
$$ \underset{\beta_1, \beta_2, \cdots, \beta_k}{\min} L $$
이를 구하기 위해 $ L $ 을 각 $ \beta $ 에 대해 미분하고, 정규방정식(normal equations)을 만들어 풀면 된다. 즉 각 $ \beta $ 에 대해 $ \frac{\partial L}{\partial \beta} = 0 $ 을 만들어 푸는 것이다.
하나하나 일일히 푸는 것은 비효율적이기에 행렬로 만들어 풀 것이다. 앞선 회귀식을 행렬로 만들면 다음과 같이 쓸 수 있다.
$$ \mathbf{y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\epsilon} $$
여기서 $ \mathbf{y} $ 는 $ n \times 1 $ 벡터, $ \mathbf{X} $ 는 $ n \times p $ 행렬, $ \boldsymbol{\beta} $ 는 $ p \times 1 $ 의 회귀계수 벡터, $ \boldsymbol{\epsilon} $ 은 $ n \times 1 $ 의 오차항 벡터이다. $ p = k + 1 $ 로 $ \beta_0 $ 를 넣기 위해 이렇게 설정한다.
이때 최소제곱 추정량은 다음 행렬 방정식을 만족한다. 참고로 $ \mathbf{X}^\prime = \mathbf{X}^T $ 로 전치행렬을 의미한다.
$$ ( \mathbf{X}^\prime \mathbf{X} ) \hat{\boldsymbol{\beta}} = \mathbf{X}^\prime \mathbf{y} $$
$ ( \mathbf{X}^\prime \mathbf{X} ) $ 은 $ p \times p $ 대칭행렬, $ \mathbf{X}^\prime \mathbf{y} $ 는 $ p \times 1 $ 벡터이다. 정규방정식을 $ \hat{\boldsymbol{\beta}} $ 에 대해 풀면 다음과 같다.
$$ \hat{\boldsymbol{\beta}} = ( \mathbf{X}^\prime \mathbf{X} )^{-1} \mathbf{X}^\prime \mathbf{y} $$
활용하여 $ \mathbf{y} $ 를 추정하면 다음과 같다.
$$ \hat{\mathbf{y}} = \mathbf{X} \hat{\boldsymbol{\beta}} $$
그렇다면 잔차(residual) $e_i = y_i - \hat{y}_i $ 는 다음과 같이 벡터로 나타낼 수 있다.
$$ \mathbf{e} = \mathbf{y} - \hat{\mathbf{y}} = \mathbf{y} - \mathbf{X} \hat{\boldsymbol{\beta}} $$
이제 실제 회귀모형의 오차항이 따르는 정규분포의 분산, 즉 $ \sigma^2 $ 을 추정하면 다음과 같다.
$$ \hat{\sigma}^2 = \frac{SSE}{n - p} = \frac{(\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}})^\prime(\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}})}{n - p} $$
만약 모형이 올바르게 지정되었다면 이 추정량은 모수의 불편추정량(unbiased estimator)이고, 다음과 같은 특성을 가진다.
$$ E(\hat{\boldsymbol{\beta}}) = \boldsymbol{\beta} $$
$$ \mathrm{Var} ( \hat{\boldsymbol{\beta}}) = \sigma^2 ( \mathbf{X}^\prime \mathbf{X} )^{-1} $$
추세 조정 (Trend Adjustment)
추세를 포함한 시계열 데이터를 예측할 때, 추세를 회귀분석을 이용하여 예측하기도 한다. 추세를 예측했다면, 원 시계열 자료(original time series)에서 추세를 제거하고 남은 잔차(residual)를 구한다. 이제 잔차를 예측하고 다시 추세를 더하면 최종 예측값이 된다.
기본 모형은 다음과 같다.
$$ y_t = \beta_0 + \beta_1 t + \epsilon_t , \qquad (t = 1, 2, \cdots, T) $$
위 모형에 대한 최소제곱 정규방정식(normal equations)은 다음과 같다.
$$ T \hat{\beta}_0 + \frac{T(T+1)}{2} \hat{\beta}_1 = \sum_{t=1}^T y_t $$
$$ \frac{T(T+1)}{2} \hat{\beta}_0 + \frac{T(T+1)(2T+1)}{6} \hat{\beta}_1 = \sum_{t=1}^T ty_t $$
이 정규방정식은 두 개의 모수만 포함하므로 아래와 같이 최소제곱 추정량을 얻을 수 있다. 이때 $ \sum_{t=1}^T t = T(T+1)/2 $ 라는 것과 $ \sum_{t=1}^T t^2 = T(T+1)(2T+1) / 6 $ 이라는 것을 기억하면 쉽게 풀 수 있다.
$$ \hat{\beta}_0 = \frac{2(2T+1)}{T(T-1)} \sum_{t=1}^T y_t - \frac{6}{T(T-1)} \sum_{t=1}^T t y_t $$
$$ \hat{\beta}_1 = \frac{12}{T(T^2-1)} \sum_{t=1}^T ty_t - \frac{6}{T(T-1)} \sum_{t=1}^T y_t $$
이러한 추정값은 계산된 시점 $ T $ 에 따라 달라질 수 있으므로 $ \hat{\beta}_0 (T) $, $\hat{\beta}_1 (T) $ 로 표기하기도 한다. 이 추정값을 이용하여 다음 시점 $ T+1 $ 에 대한 예측값은 다음과 같이 얻을 수 있다.
$$ \hat{y}_{T+1}(T) = \hat{\beta}_0(T) + \hat{\beta}_1(T) (T+1) $$
'Statistics > Time Series Analysis' 카테고리의 다른 글
[Time Series Analysis] 선형회귀모델 예측(prediction) (0) | 2025.04.07 |
---|---|
[Time Series Analysis] 선형회귀모델 가설 검정(hypothesis test) (0) | 2025.04.07 |
[Time Series Analysis] 예측 모델(forecasting model) 모니터링(monitoring) (0) | 2025.03.26 |
[Time Series Analysis] 예측 모델(forecasting model) 선택(Choosing) (0) | 2025.03.26 |
[Time Series Analysis] 예측 모델(forecasting model) 평가(evaluation) (0) | 2025.03.23 |