본문 바로가기
Data & Research

[Statistics] 선형 회귀 분석 (Simple Linear Regression: 심화)

by 물박사의 저장공간 2024. 11. 7.

1. Simple Linear Regression

1. Model

OLS Estimator Derivation in Matrix Form \( Y_i = \alpha + \beta X_i + \varepsilon_i \), \( i = 1, \ldots, n \) 여기서, \( \varepsilon \) 는 오차항(error term) 혹은 교란항(disturbance term) 이라고 합니다. 다시 정리해보면 아래와 같습니다. 행렬(matrix)꼴로 나타내는 아래와 같습니다.

\[ Y = X\beta + \varepsilon \]

where:

  • \( Y \) is an \( n \times 1 \) vector of the dependent variable
  • \( X \) is an \( n \times k \) matrix of the independent variables (including a column of ones for the intercept)
  • \( \beta \) is a \( k \times 1 \) vector of coefficients
  • \( \varepsilon \) is an \( n \times 1 \) vector of errors

 

2. Assumptions

A1. Linearity

OLS Estimator Derivation in Matrix Form \( Y_i = \alpha + \beta X_i + \varepsilon_i \). (좀 더 정확하게 말해 model은 parameter에 대해서 linear합니다)

 

A2. Exogeneity (외생성 가정)

OLS Estimator Derivation in Matrix Form \( E(\varepsilon_i | X_i) = 0 \) , 이 가정을 통해 몇 가지를 유도할 수 있는데요.

참고) Law of Iterated Expectations

더보기
Law of iterated expectations

 

 

A3. Spherical disturbances

OLS Estimator Derivation in Matrix Form \( \operatorname{Var}(\varepsilon_i | X_i) = E(\varepsilon_i^2 | X_i) = \sigma^2 \), for all \( i \) : homoscedasticity (동분산성 가정)
\( \operatorname{Cov}(\varepsilon_i, \varepsilon_j | X) = E(\varepsilon_i \varepsilon_j | X) = 0 \), for \( i \neq j \) : non-autocorrelation (비자기상관)
역시 law of iterated expectations 에 의해서 \( \operatorname{Var}(\varepsilon_i | X_i) = \sigma^2 \) , \( \operatorname{Cov}(\varepsilon_i, \varepsilon_j | X) = 0 \) 가 됩니다.

 

참고) Variance Decomposition Formula for 2 random variable

더보기
OLS Estimator Derivation in Matrix Form

\[ \operatorname{Var}(Y) = E[\operatorname{Var}(Y | X)] + \operatorname{Var}(E[Y | X]) \]

A4. The regressor \( X \) may be fixed (nonstochastic) or random

 "Nonstochastic regressors" 가정은 수학적 편의성을 위해서 추가되었습니다.

A5. Normality of \( \varepsilon_i \)

이 가정은 test statistics( \( t \), \( \chi^2 \), \( F \) 분포 )을 유도하기 위해 필요한 가정입니다.

 

3. 선형 회귀분석의 추정량

1) OLS추정량 유도

OLS Estimator Derivation in Matrix Form

The OLS estimator minimizes the sum of squared errors (SSE), which can be written as:

\[ \text{SSE} = (Y - X\beta)^T (Y - X\beta) \]

To find the minimum, we take the derivative of SSE with respect to \( \beta \) and set it to zero:

\[ \frac{\partial \text{SSE}}{\partial \beta} = -2X^T(Y - X\beta) = 0 \]

Solving for \( \beta \), we get the OLS estimator:

\[ \hat{\beta} = (X^T X)^{-1} X^T Y \]

 

선형 회귀분석의 계수에 대해 추정을 마쳤으니, 

오차항(Error term)의 분산에 대해서도 어떻게 추정하는지 알아보아야겠죠? 

Proof of Variance Estimation in Linear Regression

우리는 OLS estimator \( \hat{\beta} \)를 잔차식에 대입할 수 있습니다

\[ \hat{\varepsilon} = Y - X(X^T X)^{-1} X^T Y \]

정리하면

\[ \hat{\varepsilon} = (I - H)Y \]

where \( H = X(X^T X)^{-1} X^T \) is known as the Hat Matrix.

Hat Matrix \( H \)는 관측된 값 \( Y \)의 fitted value \( \hat{Y} \)로의 사영(projects) 이기 때문에

\[ \hat{Y} = HY \]

따라서 잔차는 아래와 같이 나타낼 수 있는데요

\[ \hat{\varepsilon} = (I - H)Y \]

이를 대입하면

\[ E(\hat{\varepsilon}^T \hat{\varepsilon}) = E\left((I - H)Y)^T (I - H)Y\right) \]

symmetric이고 idempotent (\( (I - H)^2 = I - H \)) 이라는 Hat Matrix의 성질을 이용하면

\[ E(\hat{\varepsilon}^T \hat{\varepsilon}) = E\left(\varepsilon^T (I - H) \varepsilon\right) \]

우리가 추정하고자 하는 분산은 아래와 같이 정리됩니다.

\[ E(\hat{\varepsilon}^T \hat{\varepsilon}) = \sigma^2 \cdot \operatorname{trace}(I - H) \]

\( I - H \)의 trace값이 \( n - k \)이기 때문에 where \( n \) : 관측치 개수(number of observations), \( k \) : 추정계수의 개수(the number of estimated coefficients)

\[ E(\hat{\varepsilon}^T \hat{\varepsilon}) = \sigma^2 (n - k) \]

 

 

2) BLUE (Best Linear Unbiased Estimator)

앞 선 포스팅에서 살펴보았지만 특히 선형회귀분석에서는 OLS추정량과 MLE추정량이 동일합니다. 선형회귀분석의 MLE추정 방법에 대해서는 아래 포스팅을 참고하시기 바랍니다. 

https://trillionver2.tistory.com/entry/%EC%84%A0%ED%98%95-%ED%9A%8C%EA%B7%80%EB%B6%84%EC%84%9D-Simple-Linear-regression

 

[Statistics] 선형 회귀분석 (Simple Linear regression)

1. 선형 회귀 분석이란? 원하는 변수(연속형 변수)를 예측(모델링)하기 위한 목적으로 해당 변수와 상관관계가 높은 다른 변수를 가지고 빗대어 설명하는 것 예) 스펀지송이 이번주에 햄버거 가

trillionver2.tistory.com

 

그리고 이 추정량은 BLUE 인데요. Linear라는 것은 trivial이므로 Best와 Unbiased를 증명하면 되겠죠? 이를 증명하는 이론을 Gauss-Markov Theorem이라고 합니다. 앞 서 살펴보았던 선형회귀모형의 가정들을 활용해서 증명합니다.

 

Proof of Unbiasedness in Gauss-Markov Theorem

우리는 OLS estimator \( \hat{\beta} \) 가 \( \beta \)에 대한 unbiased 임을 보이고 싶습니다

\[ E(\hat{\beta}) = \beta \]

The OLS estimator는 아래와 같이 정의되었죠?

\[ \hat{\beta} = (X^T X)^{-1} X^T Y \]

위 식에 \( Y = X\beta + \varepsilon \)를 대입해봅시다

\[ \hat{\beta} = (X^T X)^{-1} X^T (X\beta + \varepsilon) \]

정리하면

\[ \hat{\beta} = (X^T X)^{-1} X^T X \beta + (X^T X)^{-1} X^T \varepsilon \]

양쪽에 Expectation을 취해볼까요?

\[ E(\hat{\beta}) = (X^T X)^{-1} X^T X \beta + (X^T X)^{-1} X^T E(\varepsilon) \]

\( E(\varepsilon) = 0 \)이기 때문에

\[ E(\hat{\beta}) = \beta \]

따라서 OLS estimator \( \hat{\beta} \)는 \( \beta \)의 unbiased estimator 입니다

 

Proof of Gauss-Markov Theorem

best estimator : 우리는 OLS estimator \( \hat{\beta} \) 가 모든 linear unbiased estimators 중에 최소 분산을 갖는다는 것을 보이려고 합니다.

우선임의의 linear unbiased estimator를 생각해봅시다:

\[ \tilde{\beta} = (X^T X)^{-1} X^T Y + d^T Y \]

여기서, \( d \) 는 추가적인 linear combination을 나타냅니다.

\( \tilde{\beta} \)가 unbiased가 되려면 아래 조건을 만족해야합니다:

\[ E(\tilde{\beta}) = E((X^T X)^{-1} X^T Y) + E(d^T Y) = \beta \]

이것을 만족시키기 위해서는:

\[ E(d^T Y) = 0 \Rightarrow d^T X = 0 \]

이제 분산을 비교해볼까요?

\[ \operatorname{Var}(\tilde{\beta}) = \operatorname{Var}((X^T X)^{-1} X^T Y) + \operatorname{Var}(d^T Y) \]

OLS estimator의 분산은 아래와 같습니다

\[ \operatorname{Var}(\hat{\beta}) = \sigma^2 (X^T X)^{-1} \]

\( d^T Y \neq 0 \)가 추가적인 분산을 주기때문에:

\[ \operatorname{Var}(\tilde{\beta}) \geq \operatorname{Var}(\hat{\beta}) \]

따라서 OLS 추정량(Estimator)는 Best Unbiased Estimator입니다.

 

4. Total Sum of Squares(TSS) Explained Sum of Squares(ESS), Residual Sum of Squares(RSS or USS)

이 개념은 회귀분석 모델을 통해 설명되는 변동과 그렇지못한 변동으로 나누는 작업입니다. 

TSS, RSS, and ESS Explanation

TSS는 종속 변수 \( y \)의 총 변동을 나타내며, 모든 데이터 포인트가 평균 값 \( \bar{y} \)를 기준으로 얼마나 퍼져 있는지 측정합니다.

\[ TSS = \sum (y_i - \bar{y})^2 \]

RSS는 데이터 포인트가 회귀선에 얼마나 가까운지 측정하며, 모델이 설명하지 못한 변동을 나타냅니다.

\[ RSS = \sum (y_i - \hat{y}_i)^2 \]

ESS는 회귀 모델을 통해 설명된 변동을 나타내며, 각 예측값 \( \hat{y}_i \)와 평균 \( \bar{y} \) 간의 차이를 나타냅니다.

\[ ESS = \sum (\hat{y}_i - \bar{y})^2 \]

위의 개념들을 조합하여 다음과 같은 관계를 얻을 수 있습니다:

\[ TSS = ESS + RSS \]

 

그림으로 한 번 알아볼까요?

더보기
import matplotlib.pyplot as plt
import numpy as np

# 샘플 데이터 생성
np.random.seed(0)
x = np.linspace(1, 10, 10)
y = 2.5 * x + np.random.normal(0, 5, len(x))
y_bar = np.mean(y)
y_pred = 2.5 * x  # 단순 회귀 예측 값

# TSS, RSS, ESS 계산
TSS = np.sum((y - y_bar) ** 2)
RSS = np.sum((y - y_pred) ** 2)
ESS = TSS - RSS

# 시각화
plt.figure(figsize=(10, 6))
plt.scatter(x, y, color='blue', label='Actual Data (y)')
plt.plot(x, y_pred, color='red', label=r'Predicted Line $\hat{y}$')
plt.axhline(y=y_bar, color='green', linestyle='--', label=r'Mean $y$ ($\bar{y}$)')

# 데이터 포인트와 평균선 사이의 TSS, RSS
for i in range(len(x)):
    plt.plot([x[i], x[i]], [y[i], y_bar], color='purple', linestyle='--')
    plt.plot([x[i], x[i]], [y[i], y_pred[i]], color='orange', linestyle='--')

# 설명 추가
plt.title(r"Relationship between TSS, RSS, and $\bar{y}$ in Linear Regression")
plt.xlabel("X")
plt.ylabel("Y")
plt.legend()
plt.show()

당연히 TSS중 모델이 설명하는 ESS의 비중이 크면 좋겠죠? 우리는 이것(The coeficient of determination)을 선형회귀모델의 설명력을 평가하는 지표로 사용합니다. 

R-Squared and Adjusted R-Squared

\( R^2 \)는 회귀 모델이 데이터의 총 변동 중 얼마나 설명하는지를 나타냅니다. 이는 TSS와 ESS로 정의됩니다.

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

여기서:

  • \( TSS \): Total Sum of Squares (총 변동)
  • \( ESS \): Explained Sum of Squares (설명된 변동)
  • \( RSS \): Residual Sum of Squares (잔차 변동)

Adjusted \( R^2 \)는 모델의 설명력을 조정한 지표로, 변수의 개수를 고려하여 계산됩니다.

\[ \text{Adjusted } R^2 = 1 - \left( \frac{RSS / (n - k)}{TSS / (n - 1)} \right) \]

여기서:

  • \( n \): 관측치의 수
  • \( k \): 추정된 변수의 수 (독립 변수 개수 + 절편)

 

결정계수값은 정의 상 변수의 개수가 많아지면 많아질수록 같이 증가할 수밖에 없습니다. 변수가 1개인거보다 2개인 것이 손톱만큼이라도 더 설명하는 부분이 있겠죠. 때문에 이 지표를 올린답시고 그냥 모든 변수를 다 끌어모아서 때려박는 우를 범할 수도 있기에 이를 보완하는 조정된 결정계수를 쓰는겁니다. 마지막으로 선형 회귀 분석의 가설검정(Hypothesis Testing)에 대해서도 알아보아야 할 것 같은데, 포스팅이 길어져서 다음번으로 넘기겠습니다.