1. Simple Linear Regression
1. Model
\[ 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
A2. Exogeneity (외생성 가정)
참고) Law of Iterated Expectations

A3. Spherical disturbances
\( \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
\[ \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추정량 유도
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)의 분산에 대해서도 어떻게 추정하는지 알아보아야겠죠?
우리는 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추정 방법에 대해서는 아래 포스팅을 참고하시기 바랍니다.
[Statistics] 선형 회귀분석 (Simple Linear regression)
1. 선형 회귀 분석이란? 원하는 변수(연속형 변수)를 예측(모델링)하기 위한 목적으로 해당 변수와 상관관계가 높은 다른 변수를 가지고 빗대어 설명하는 것 예) 스펀지송이 이번주에 햄버거 가
trillionver2.tistory.com
그리고 이 추정량은 BLUE 인데요. Linear라는 것은 trivial이므로 Best와 Unbiased를 증명하면 되겠죠? 이를 증명하는 이론을 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 입니다
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는 종속 변수 \( 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^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)에 대해서도 알아보아야 할 것 같은데, 포스팅이 길어져서 다음번으로 넘기겠습니다.
'Data & Research' 카테고리의 다른 글
[Machine Learning] Random Forest (1) | 2024.11.12 |
---|---|
[Time series] 차분방정식 (Difference Equation) (0) | 2024.11.11 |
[Graph Neural Networks] Graph in Traditional ML scheme (0) | 2024.10.23 |
[Graph Neural Networks] Basics of Graph (2) | 2024.10.20 |
[Anomaly Detection] 1-SVM / SVDD (0) | 2022.02.13 |