1 개요
단순 선형 회귀(Simple Linear Regression, SLR)는 한 개의 수치형 설명변수 \(X\) 와 한 개의 수치형 반응변수 \(Y\) 사이의 선형 관계를 모형화한다. 통계학과 머신러닝에서 가장 먼저 배우는 모형이자, 대부분의 복잡한 모형(다중회귀, GLM, 혼합모형, 신경망의 출력층)의 기본 빌딩블록이다.
이 포스트는 SLR 의 전체 이론을 로드맵 형태로 제시한다. 각 주제의 핵심만 다루고, 엄밀한 유도와 심화 논의는 후속 포스트에 위임한다. 목표는 “SLR 이 무엇이고, 왜 그렇게 만들어졌으며, 어디까지 할 수 있는가”를 한 번에 조망하는 것이다.
선행 포스트(ANOVA와 회귀의 통합 관점)에서 ANOVA 와 회귀가 같은 선형 모형의 두 얼굴임을 보였고, 제곱합 분해 포스트에서 \(R^2 = \eta^2\) 동치성을 확인했다. 이 포스트는 그 관점을 이어받아 회귀 그 자체의 고유 구조를 정리한다.
2 역사적 맥락
회귀(regression)라는 용어는 Francis Galton(1886)의 “평균으로의 회귀(regression to the mean)” 연구에서 유래한다. 부모 키와 자녀 키의 관계를 분석하던 Galton 은 키가 큰 부모의 자녀가 부모보다는 작고, 키가 작은 부모의 자녀가 부모보다 크다는 “중앙값으로의 수렴” 현상을 관찰했다. 그는 이 관계를 직선으로 요약했고, 이 직선의 기울기가 1보다 작다는 것을 “평균으로의 회귀” 라고 불렀다.
Galton 의 제자 Karl Pearson 이 이 아이디어를 수학적으로 엄밀화하여 현대적 상관계수와 최소제곱 회귀를 체계화했다. 이후 R. A. Fisher 가 정규성 가정을 명시하고 가설검정과 신뢰구간 의 틀을 추가하여 SLR 이 통계 추론의 도구로 자리 잡았다.
많은 입문자가 “회귀” 를 “과거로 돌아가는 분석” 이나 “원인-결과 분석” 으로 오해한다. 그러나 회귀의 수학적 의미는 조건부 기댓값 \(E[Y | X]\) 을 추정하는 절차일 뿐이며, Galton 의 원래 관찰과는 별개로 용어가 굳어진 것이다. 현대 회귀는 평균 수렴 현상과 무관하게 적용된다.
3 모형 정의
3.1 확률적 모형
관측치 \((x_i, Y_i), i = 1, \ldots, n\) 에 대해,
\[ Y_i = \beta_0 + \beta_1 x_i + \epsilon_i \]
- \(x_i\): 설명변수 (고정 또는 조건부로 관측된 값)
- \(Y_i\): 반응변수 (확률변수)
- \(\beta_0\): 절편 (intercept) — \(x = 0\) 일 때의 기대 반응
- \(\beta_1\): 기울기 (slope) — \(x\) 가 1단위 증가할 때 기대 반응의 변화량
- \(\epsilon_i\): 오차항 — 모형이 설명하지 못하는 잔차
3.2 고정 설계 vs 확률 설계
\(x_i\) 를 어떻게 보느냐에 따라 두 가지 해석이 있다.
| 관점 | \(x\) 의 성격 | 예시 |
|---|---|---|
| 고정 설계 (fixed design) | 실험자가 선택한 값 | 약물 용량 실험 |
| 확률 설계 (random design) | \(X\) 도 확률변수 | 관찰 연구, 키-몸무게 데이터 |
고정 설계에서는 \(x_i\) 가 결정값이고 \(Y_i\) 만 확률변수다. 확률 설계에서는 \(X\) 와 \(Y\) 모두 확률변수이며, 회귀는 \(E[Y | X = x] = \beta_0 + \beta_1 x\) 라는 조건부 기댓값을 모형화한다.
핵심: 대부분의 SLR 이론 결과는 \(x_i\) 를 주어진 것으로 조건부로 다루므로 두 해석이 동일한 수식을 낳는다. 차이는 해석 단계에서만 나타난다 — 예측 시 \(x\) 의 분포를 고려하느냐 아니냐.
4 Gauss-Markov 가정
SLR 의 모든 추론 결과는 다음 네 가정에 기반한다.
4.1 가정 1: 선형성 (Linearity)
\[ E[Y_i | x_i] = \beta_0 + \beta_1 x_i \]
의미: \(x\) 와 \(Y\) 의 기대 관계가 직선이다. \(x^2, \log x\) 등 비선형 관계가 있으면 위배된다.
진단: 산점도, 잔차 vs 예측값 플롯. 체계적 곡선 패턴이 보이면 비선형.
대응: 변수 변환(\(\log, \sqrt{}\)), 다항 회귀, 비모수 회귀(LOESS, 스플라인).
4.2 가정 2: 등분산성 (Homoscedasticity)
\[ \text{Var}(\epsilon_i) = \sigma^2 \quad \text{for all } i \]
의미: 오차 분산이 \(x\) 에 무관하게 상수. 위배되면 “이분산(heteroscedasticity)”.
진단: 잔차 vs 예측값 플롯, Breusch-Pagan 검정, White 검정.
대응: 가중 최소제곱(WLS), 로그 변환, 강건 표준오차(HC0-HC3).
이분산이 왜 문제인가? OLS 는 모든 잔차에 동일한 가중치를 준다. 분산이 큰 영역(잡음이 큰 곳)의 잔차와 분산이 작은 영역(정밀한 곳)의 잔차를 동등하게 취급한다. 이것은 난이도가 다른 시험의 점수를 단순 평균하는 것과 같다 — 어려운 시험(고분산)이 전체 평균을 과도하게 좌우한다. WLS 는 정밀한 관측에 더 큰 가중치를 줘서 이를 교정한다.
4.3 가정 3: 독립성 (Independence)
\[ \text{Cov}(\epsilon_i, \epsilon_j) = 0 \quad \text{for } i \neq j \]
의미: 오차들이 서로 독립. 시계열·군집 데이터에서 쉽게 위배된다.
진단: Durbin-Watson(시간 자기상관), 잔차 ACF/PACF, 군집 식별.
대응: 일반화 최소제곱(GLS), 시계열 모형, 혼합 모형, 군집 표준오차.
4.4 가정 4: 정규성 (Normality) — 추론을 위한 추가 가정
\[ \epsilon_i \sim N(0, \sigma^2) \]
의미: 오차가 정규분포. 점추정(BLUE)에는 필요 없지만, 신뢰구간·가설검정에 필요.
진단: 잔차 Q-Q plot, Shapiro-Wilk, 히스토그램.
대응: 대표본이면 중심극한정리로 완화. 심각한 위배 시 부트스트랩, GLM(다른 분포족).
| 가정 | 점추정 | 표준오차 | 신뢰구간/검정 |
|---|---|---|---|
| 선형성 | 필요 | 필요 | 필요 |
| 등분산성 | 불필요 | 필요 | 필요 |
| 독립성 | 불필요 | 필요 | 필요 |
| 정규성 | 불필요 | 불필요 | 필요 (대표본에선 완화) |
이 구분이 왜 중요한가: “어떤 가정이 위배되어도 되는가” 는 목적에 달려 있다. 단순 예측이면 정규성 위배는 문제가 안 되지만, p-value 를 보고 의사결정하려면 필수다.
5 최소제곱 추정
5.1 목적함수
최소제곱(Ordinary Least Squares, OLS)은 잔차제곱합을 최소화한다:
\[ (\hat\beta_0, \hat\beta_1) = \arg\min_{\beta_0, \beta_1} \sum_{i=1}^{n} (Y_i - \beta_0 - \beta_1 x_i)^2 \]
5.2 정규방정식과 닫힌 해
1계 조건(편미분 = 0)을 풀면 다음의 닫힌 해가 나온다 (Casella & Berger, 2002, 식 11.3.8–11.3.10):
\[ \hat\beta_1 = \frac{\sum_{i=1}^n (x_i - \bar{x})(Y_i - \bar{Y})}{\sum_{i=1}^n (x_i - \bar{x})^2} = \frac{S_{xY}}{S_{xx}} \]
\[ \hat\beta_0 = \bar{Y} - \hat\beta_1 \bar{x} \]
해석:
- \(\hat\beta_1\) 은 \(x\) 와 \(Y\) 의 표본 공분산을 \(x\) 의 표본 분산으로 나눈 것이다. 이는 상관계수 \(r\) 과 \(\hat\beta_1 = r \cdot (s_Y / s_x)\) 로 연결된다.
- \(\hat\beta_0\) 은 회귀직선이 점 \((\bar{x}, \bar{Y})\) 를 반드시 지나도록 조정된다. 즉, 회귀직선은 항상 평균점을 통과한다.
5.3 기하학적 해석
관측 벡터 \(\mathbf{y} \in \mathbb{R}^n\) 를 설계행렬 \(\mathbf{X} = [\mathbf{1}, \mathbf{x}]\) 의 열공간에 직교 투영한 것이 \(\hat{\mathbf{y}} = \mathbf{X}\hat{\boldsymbol{\beta}}\) 이다. 행렬 형태로:
\[ \hat{\boldsymbol{\beta}} = (\mathbf{X}^\top \mathbf{X})^{-1} \mathbf{X}^\top \mathbf{y} \]
\(\mathbf{H} = \mathbf{X}(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\) 를 hat matrix (projection matrix)라 부르며, \(\hat{\mathbf{y}} = \mathbf{H}\mathbf{y}\), \(\mathbf{H}^2 = \mathbf{H}\), \(\mathbf{H}^\top = \mathbf{H}\) 의 성질을 가진다.
이 관점은 SLR 을 다중회귀·ANOVA·혼합모형으로 일반화할 때 그대로 사용된다. 자세한 유도는 후속 포스트(최소제곱 추정량 상세 유도)에서 다룬다.
6 추정량의 성질
6.1 불편성과 BLUE
Gauss-Markov 정리: 가정 1~3 하에서 OLS 추정량은 선형 불편 추정량 중 최소 분산을 가진다 (Best Linear Unbiased Estimator, BLUE).
\[ E[\hat\beta_0] = \beta_0, \quad E[\hat\beta_1] = \beta_1 \]
정규성 없이도 BLUE 는 성립한다. 정규성이 추가되면 OLS 는 단순 BLUE 를 넘어 UMVUE(Uniformly Minimum Variance Unbiased Estimator)가 된다.
BLUE 가 의미하는 것: \(Y\) 의 가중합 형태( \(\sum d_i Y_i\) )인 추정량 중에서, 편향 없이 참값을 겨냥하는 것들만 모으면, 그 안에서 OLS 가 가장 적게 흔들린다. 비유하면, 과녁 정중앙을 조준하는(불편) 궁수들 중에서 화살이 가장 밀집한(최소 분산) 궁수가 OLS 이다.
6.2 분산과 공분산
\[ \text{Var}(\hat\beta_1) = \frac{\sigma^2}{S_{xx}}, \quad \text{Var}(\hat\beta_0) = \sigma^2\!\left(\frac{1}{n} + \frac{\bar{x}^2}{S_{xx}}\right) \]
\[ \text{Cov}(\hat\beta_0, \hat\beta_1) = -\frac{\sigma^2 \bar{x}}{S_{xx}} \]
해석: \(S_{xx}\) 가 클수록 기울기 추정이 정밀하다. 즉, \(x\) 의 분산이 클수록 좋다. 실험 설계에서는 \(x\) 를 극단값에 배치하는 것이 기울기 검정력을 최대화한다.
\(\sigma^2\) 의 불편 추정량:
\[ \hat\sigma^2 = \mathrm{MSE} = \frac{1}{n - 2} \sum_{i=1}^{n} (Y_i - \hat{Y}_i)^2 \]
자유도 \(n - 2\) 는 두 개 모수(\(\beta_0, \beta_1\)) 추정으로 인한 제약 때문이다.
6.3 분포
정규성 하에서:
\[ \hat\beta_1 \sim N\!\left(\beta_1, \frac{\sigma^2}{S_{xx}}\right), \quad \frac{(n-2)\hat\sigma^2}{\sigma^2} \sim \chi^2_{n-2} \]
이 두 결과가 이후 모든 추론의 기반이 된다.
7 추론
7.1 기울기 검정
\(H_0 : \beta_1 = 0\) (설명변수가 반응에 영향을 주지 않는다) 의 검정 통계량:
\[ t = \frac{\hat\beta_1}{\mathrm{SE}(\hat\beta_1)} = \frac{\hat\beta_1}{\sqrt{\hat\sigma^2 / S_{xx}}} \sim t_{n-2} \quad (\text{under } H_0) \]
\(|t| > t_{n-2, \alpha/2}\) 이면 기각.
주의: \(\beta_1 = 0\) 은 “직선 관계 없음” 이지 “\(X\) 와 \(Y\) 가 독립” 이 아니다. 이차 관계 등 비선형 종속성은 기각하지 못할 수 있다.
7.2 신뢰구간
\(\beta_1\) 의 \(1 - \alpha\) 신뢰구간:
\[ \hat\beta_1 \pm t_{n-2, \alpha/2} \cdot \mathrm{SE}(\hat\beta_1) \]
\(\beta_0\) 의 신뢰구간도 동일한 형태.
7.3 평균 반응의 신뢰구간 vs 개별 예측의 예측구간
특정 \(x = x_0\) 에서 두 종류의 구간이 있다.
평균 반응의 신뢰구간 — \(E[Y | x_0]\) 에 대한 구간:
\[ \hat{Y}_0 \pm t_{n-2, \alpha/2} \cdot \hat\sigma \sqrt{\frac{1}{n} + \frac{(x_0 - \bar{x})^2}{S_{xx}}} \]
개별 관측값의 예측구간 — 새 \(Y_0\) 에 대한 구간 (불확실성이 추가):
\[ \hat{Y}_0 \pm t_{n-2, \alpha/2} \cdot \hat\sigma \sqrt{1 + \frac{1}{n} + \frac{(x_0 - \bar{x})^2}{S_{xx}}} \]
차이의 원천: 예측구간에는 “새 관측값의 오차 \(\epsilon_0\)” 분산이 추가된다(제곱근 안의 \(1\)). 신뢰구간은 모수(회귀선의 위치)의 불확실성만, 예측구간은 그것에 개별 오차까지 더한다. 예측구간은 항상 신뢰구간보다 넓다.
왜 예측구간에 ‘1’이 추가되는가? 신뢰구간은 ’회귀직선이 어디에 있는가’(모수)를 추정한다. 데이터가 많으면 직선 위치를 정확히 알 수 있으므로 폭이 0으로 수렴한다. 예측구간은 ‘다음 한 점이 어디에 떨어지는가’(확률변수)를 예측한다. 직선 위치를 완벽히 알아도 새 관측은 \(\sigma^2\) 만큼 흩어진다. 이 내재적 변동이 ‘1’ 항이며, 데이터를 아무리 모아도 사라지지 않는다.
실무에서 가장 흔한 오류: “예측” 이 필요한데 신뢰구간을 보고 오판하는 것. “이 관측값이 어디 있을지” 를 묻는다면 반드시 예측구간을 써야 한다.
8 결정계수와 적합도
8.1 \(R^2\)
\[ R^2 = 1 - \frac{\mathrm{SSE}}{\mathrm{SST}} = \frac{\mathrm{SSR}}{\mathrm{SST}} \]
전체 변동 중 회귀로 설명된 비율. SLR 에서는 \(R^2 = r^2\) (피어슨 상관계수의 제곱).
8.2 \(R^2\) 의 함정
- 인과성 아님: 높은 \(R^2\) 가 “\(x\) 가 \(y\) 의 원인” 을 의미하지 않음
- 예측 성능 아님: 훈련 데이터의 \(R^2\) 가 높아도 신규 데이터에서 낮을 수 있음 (과적합)
- 비교 불가: 다른 데이터셋의 \(R^2\) 는 직접 비교할 수 없음
- 낮은 \(R^2\) 가 나쁜 것은 아님: 사회과학·생물학에서 \(R^2 = 0.3\) 도 의미 있을 수 있음
8.3 회귀의 ANOVA 표
SLR 의 분산 분해도 ANOVA 표로 요약된다 (131 포스트 참조):
| 원천 | df | SS | MS | F |
|---|---|---|---|---|
| 회귀 | 1 | SSR | MSR | MSR/MSE |
| 잔차 | \(n - 2\) | SSE | MSE | |
| 합계 | \(n - 1\) | SST |
F 검정은 \(H_0 : \beta_1 = 0\) 과 동치이며, SLR 에서는 \(F = t^2\) 관계가 성립한다.
9 진단
9.1 잔차 플롯
가정 위배를 시각적으로 탐지하는 네 가지 필수 플롯:
| 플롯 | 목적 | 이상 패턴 |
|---|---|---|
| 잔차 vs 예측값 | 선형성, 등분산성 | 곡선, 깔때기 모양 |
| Q-Q plot | 정규성 | S자, 꼬리 이탈 |
| Scale-Location | 등분산성 | 명확한 기울기 |
| 잔차 vs 레버리지 | 영향점 | Cook’s distance > 1 |
9.2 레버리지와 영향점
레버리지 \(h_{ii}\): hat matrix \(\mathbf{H}\) 의 대각 원소. \(x_i\) 가 \(\bar{x}\) 에서 멀수록 커진다. 평균적으로 \(h_{ii} = p/n\) (\(p\) = 모수 수), \(h_{ii} > 2p/n\) 이면 높은 레버리지 관측값.
Cook’s distance: 관측값을 제외했을 때 회귀 계수가 얼마나 변하는지:
\[ D_i = \frac{e_i^2}{p \cdot \mathrm{MSE}} \cdot \frac{h_{ii}}{(1 - h_{ii})^2} \]
\(D_i > 1\) 이면 영향점 후보. 단순히 제거하지 말고, 왜 그런 값이 나왔는지 조사해야 한다.
상세 진단 기법은 후속 포스트(회귀 진단 심화)에서 다룬다.
10 확장과 한계
10.1 자연스러운 확장
| 확장 | 해결 문제 |
|---|---|
| 다중 회귀 | 설명변수 2개 이상 |
| 다항 회귀 | 비선형(곡선) 관계 |
| 가중 최소제곱 | 이분산 |
| 일반화 최소제곱 | 자기상관 |
| 로지스틱 회귀 | 이항 반응 |
| 포아송 회귀 | 계수 반응 |
| GLM | 위 세 가지의 통합 |
| 혼합 모형 | 그룹 내 상관, 반복측정 |
| 베이지안 회귀 | 사전분포로 정규화 + 불확실성 |
| 강건 회귀 | 이상치 저항 |
10.2 SLR 의 근본적 한계
- 인과 추론 불가: 상관관계만 잡는다. 인과를 주장하려면 실험설계 또는 인과추론 프레임워크 (도구변수, 차분의 차분, 회귀 불연속, 인과 그래프)가 필요
- 교락 변수(confounder): 제3의 변수가 \(X\) 와 \(Y\) 모두에 영향을 주면 \(\hat\beta_1\) 은 편향됨
- 외삽 위험: 훈련 데이터의 \(x\) 범위 밖에서는 예측이 신뢰할 수 없음
- 이상치 민감: OLS 는 제곱 손실 사용 → 이상치 한 개가 전체 적합을 왜곡 가능
- 설계변수의 측정 오차: \(x\) 가 오차를 포함하면 \(\hat\beta_1\) 이 0 방향으로 편향(regression dilution)
11 코드 예시
11.1 Step 1: 순수 Python 구현 — 정규방정식 직접
import numpy as np
np.random.seed(20260406)
n = 50
x = np.linspace(0, 10, n)
beta0_true, beta1_true, sigma = 2.0, 0.8, 1.2
y = beta0_true + beta1_true * x + np.random.normal(0, sigma, n)
# ─── 최소제곱 추정 (닫힌 해) ───
x_bar = x.mean()
y_bar = y.mean()
Sxx = np.sum((x - x_bar) ** 2)
Sxy = np.sum((x - x_bar) * (y - y_bar))
beta1_hat = Sxy / Sxx
beta0_hat = y_bar - beta1_hat * x_bar
print(f"beta0_hat = {beta0_hat:.4f} (참값 {beta0_true})")
print(f"beta1_hat = {beta1_hat:.4f} (참값 {beta1_true})")
# ─── 잔차와 분산 추정 ───
y_hat = beta0_hat + beta1_hat * x
residuals = y - y_hat
sigma2_hat = np.sum(residuals ** 2) / (n - 2)
print(f"sigma^2_hat = {sigma2_hat:.4f} (참값 {sigma**2})")
# ─── 표준오차, t 통계량, p-value ───
from scipy import stats
se_beta1 = np.sqrt(sigma2_hat / Sxx)
se_beta0 = np.sqrt(sigma2_hat * (1/n + x_bar**2 / Sxx))
t_beta1 = beta1_hat / se_beta1
p_beta1 = 2 * stats.t.sf(abs(t_beta1), df=n-2)
print(f"\nSE(beta1) = {se_beta1:.4f}")
print(f"t = {t_beta1:.4f}, p = {p_beta1:.6f}")
# ─── 95% 신뢰구간 ───
t_crit = stats.t.ppf(0.975, df=n-2)
ci_beta1 = (beta1_hat - t_crit * se_beta1, beta1_hat + t_crit * se_beta1)
print(f"95% CI for beta1: {ci_beta1}")
# ─── R² ───
SST = np.sum((y - y_bar) ** 2)
SSE = np.sum(residuals ** 2)
SSR = SST - SSE
R2 = SSR / SST
print(f"R^2 = {R2:.4f}")
# ─── 평균 반응 신뢰구간 vs 예측구간 (x_0 = 5) ───
x0 = 5.0
y0_hat = beta0_hat + beta1_hat * x0
se_mean = np.sqrt(sigma2_hat * (1/n + (x0 - x_bar)**2 / Sxx))
se_pred = np.sqrt(sigma2_hat * (1 + 1/n + (x0 - x_bar)**2 / Sxx))
print(f"\nx_0 = {x0}, y_hat = {y0_hat:.4f}")
print(f"95% 평균 반응 CI: ({y0_hat - t_crit*se_mean:.4f}, {y0_hat + t_crit*se_mean:.4f})")
print(f"95% 예측 PI: ({y0_hat - t_crit*se_pred:.4f}, {y0_hat + t_crit*se_pred:.4f})")11.2 Step 2: statsmodels 활용
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols
df = pd.DataFrame({"x": x, "y": y})
# ─── 모형 적합 ───
model = ols("y ~ x", data=df).fit()
print(model.summary())
# ─── 신뢰구간 ───
print("\n95% 계수 신뢰구간:")
print(model.conf_int(alpha=0.05))
# ─── 예측 (평균 + 개별) ───
x_new = pd.DataFrame({"x": [5.0, 7.5]})
pred = model.get_prediction(x_new)
summary = pred.summary_frame(alpha=0.05)
print("\n예측 결과:")
print(summary)
# mean, mean_ci_lower/upper = 평균 반응 CI
# obs_ci_lower/upper = 예측 구간
# ─── 진단 플롯 ───
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 2, figsize=(10, 8))
sm.graphics.plot_regress_exog(model, "x", fig=fig)
plt.tight_layout()
# plt.savefig("slr-diagnostics.png")
# ─── 영향점 분석 ───
influence = model.get_influence()
cook_d = influence.cooks_distance[0]
leverage = influence.hat_matrix_diag
print(f"\nMax Cook's D: {cook_d.max():.4f}")
print(f"Max leverage: {leverage.max():.4f}")
# ─── 이분산 검정 ───
from statsmodels.stats.diagnostic import het_breuschpagan
bp_stat, bp_p, _, _ = het_breuschpagan(model.resid, model.model.exog)
print(f"\nBreusch-Pagan: stat = {bp_stat:.4f}, p = {bp_p:.4f}")
# ─── 정규성 검정 ───
from scipy.stats import shapiro
w, p = shapiro(model.resid)
print(f"Shapiro-Wilk: W = {w:.4f}, p = {p:.4f}")12 핵심 정리
| 항목 | 요지 |
|---|---|
| 모형 | \(Y_i = \beta_0 + \beta_1 x_i + \epsilon_i\) |
| 가정 | 선형성, 등분산성, 독립성, 정규성 (추론용) |
| 추정 | OLS — \(\hat\beta_1 = S_{xY}/S_{xx}\), \(\hat\beta_0 = \bar{Y} - \hat\beta_1 \bar{x}\) |
| 성질 | BLUE (Gauss-Markov), 정규성 하에서 UMVUE |
| 분포 | \(\hat\beta_1 \sim N(\beta_1, \sigma^2/S_{xx})\) |
| 검정 | \(t = \hat\beta_1 / \mathrm{SE}(\hat\beta_1) \sim t_{n-2}\) |
| 구간 | 평균 반응 CI vs 개별 예측 PI (분산 구조가 다름) |
| 적합도 | \(R^2 = 1 - \mathrm{SSE}/\mathrm{SST}\) — 설명 비율, 인과·예측 성능 아님 |
| 진단 | 잔차 플롯, Q-Q, Cook’s D, 레버리지 |
| 한계 | 인과 아님, 외삽 위험, 이상치 민감, 교락 변수 |
- 모형보다 가정을 먼저: 가정 위배 진단이 추론의 신뢰도를 결정
- p-value 보다 구간: 효과크기와 불확실성을 동시에 보여주는 신뢰구간을 선호
- 예측 vs 추정 구분: 신뢰구간과 예측구간을 목적에 맞게 선택
- 시각화 우선: 잔차 플롯은 수치 검정보다 더 많은 정보를 준다
- 인과 주장은 별도 프레임워크: OLS 자체는 상관만 포착
13 관련 주제
선행 지식
- 공분산과 상관계수 — \(\hat\beta_1\) 의 상관계수 해석
- 정규 분포와 표본 분포 — \(t, F, \chi^2\) 분포
- ANOVA와 회귀의 통합 관점 — 선형 모형의 두 얼굴
- Partitioning Sums of Squares — SST 분해
후속 주제 (이 포스트의 심화)
- SLR: 최소제곱 추정량 상세 유도 — 정규방정식, 행렬 형태, 기하
- SLR: 추정량의 분포와 추론 — \(t\) 검정, 신뢰구간, 예측구간 유도
- 회귀 진단 심화 — 레버리지, Cook’s D, DFFITS, DFBETAS
- 가중·일반화 최소제곱 — 이분산·자기상관 대응
관련 개념
- Multiple Linear Regression — 다변량 확장
- GLM — 하나의 프레임워크 — 로지스틱/포아송 회귀
- 피어슨 상관계수의 정의와 한계 — \(R^2\) 와의 관계
- A/B Test — 회귀로 본 A/B 테스트