Regression with Errors in Variables

Functional vs Structural Relationships, 감쇠 편향, 직교 최소제곱, MLE

설명변수 X에도 측정오차가 있을 때의 회귀 모형(Errors-in-Variables, EIV)을 다룬다. 기능적 관계(Functional)와 구조적 관계(Structural)의 구분, 통상 OLS의 감쇠 편향(attenuation bias), 직교 최소제곱(orthogonal least squares), MLE의 식별 불가능성과 분산비 가정을 Casella & Berger Ch.12 기반으로 정리한다.

Statistics
Regression
저자

Kwangmin Kim

공개

2026년 04월 07일

1 왜 이 모형이 필요한가

단순 선형 회귀(SLR)에서는 설명변수 \(X\)오차 없이 정확하게 관측된다고 가정한다. 실험 설계에서 연구자가 \(X\) 의 값을 직접 설정하는 경우(예: 약물 용량, 온도 조절)에는 이 가정이 합리적이다.

하지만 현실에서는 \(X\) 도 측정오차를 포함하는 경우가 많다:

  • 혈압계로 측정한 혈압 → 실제 혈압과 차이
  • IQ 테스트 점수 → 실제 지능과 차이
  • 위성으로 관측한 기온 → 지상 실제 기온과 차이

이런 상황에서 통상 OLS를 적용하면 기울기 \(\hat{\beta}\)체계적으로 0 방향으로 편향된다. 이것을 감쇠 편향(attenuation bias)이라 하며, 효과의 크기를 과소추정하게 된다. EIV(Errors-in-Variables) 모형은 이 문제를 명시적으로 모형화하여 편향을 교정한다 (Casella & Berger, 2002, §12.2). 교정 없이 OLS를 그대로 쓰면 실제 효과가 있어도 기울기가 0에 가깝게 추정되므로, 약물·교육·경제 정책의 효과를 체계적으로 과소평가하게 된다.


2 EIV 모형의 정의

2.1 잠재변수와 관측변수

“진짜 값” \(\xi_i\) (latent variable)와 “관측값” \(X_i\) 를 구분한다. \(Y\) 는 진짜 \(X\)\(\xi_i\) 와 선형 관계에 있지만, 우리는 \(\xi_i\) 를 직접 관측할 수 없고 잡음이 섞인 \(X_i\) 만 관측한다.

정의: 측정오차 모형 (Errors-in-Variables Model)

독립적인 관측 쌍 \((X_i, Y_i)\), \(i = 1, \ldots, n\) 에 대해:

\[ Y_i = \alpha + \beta\xi_i + \epsilon_i, \quad \epsilon_i \sim N(0, \sigma_\epsilon^2) \] \[ X_i = \xi_i + \delta_i, \quad \delta_i \sim N(0, \sigma_\delta^2) \]

\(\epsilon_i\)\(\delta_i\) 는 서로 독립이다. \(\xi_i\) 는 관측할 수 없는 잠재 변수이다.

(Casella & Berger, 2002, 식 12.2.4)

이 모형의 핵심은 두 종류의 오차가 존재한다는 것이다:

오차 기호 의미 SLR에서
반응변수 오차 \(\epsilon_i\) \(Y\) 의 관측 잡음 + 모형 오차 존재
설명변수 오차 \(\delta_i\) \(X\) 의 측정 잡음 없다고 가정

SLR은 \(\delta_i = 0\) 인 특수 경우이다. \(\delta_i \neq 0\) 이면 근본적으로 다른 문제가 된다 — Casella & Berger는 “완전히 다른 주제로 생각하는 것이 최선”이라고 강조한다.

2.2 실제 예시: Forbes의 기압 추정

1800년대 스코틀랜드 물리학자 Forbes는 물의 끓는점(boiling temperature)을 측정하여 대기압(atmospheric pressure)을 추정하려 했다 (Casella & Berger, 2002, Example 12.2.1). 끓는점과 \(\log(\text{pressure})\) 모두 측정 오차를 포함하므로 EIV 모형이 자연스럽다.


3 Functional vs Structural Relationship

EIV 모형에서 잠재변수 \(\xi_i\) 를 어떻게 취급하느냐에 따라 두 가지 모형으로 나뉜다 (Casella & Berger, 2002, §12.2.1).

3.1 기능적 관계 (Functional Relationship)

\(\xi_1, \ldots, \xi_n\)고정된 미지 모수(fixed unknown parameters)로 취급한다.

\[ Y_i = \alpha + \beta\xi_i + \epsilon_i, \quad X_i = \xi_i + \delta_i \]

추론은 \(\xi_1, \ldots, \xi_n\)조건부(conditional)로 수행한다. 주된 관심사는 \(\alpha\)\(\beta\) 이지만, \(\xi_1, \ldots, \xi_n\) 도 모수이므로 모수의 개수가 표본 크기에 비례하여 증가한다 (\(n + 4\) 개: \(\alpha, \beta, \sigma_\epsilon^2, \sigma_\delta^2, \xi_1, \ldots, \xi_n\)). 이것이 MLE에서 심각한 문제를 야기한다.

적합한 상황: 실험에서 \(X\) 의 “참값” \(\xi_i\) 가 고정되어 있지만 측정 장비의 한계로 정확히 읽을 수 없는 경우. 예: 실험실에서 온도를 200°C로 설정했지만 온도계의 오차로 198.5°C로 관측되는 경우.

3.2 구조적 관계 (Structural Relationship)

\(\xi_1, \ldots, \xi_n\) 을 공통 분포에서 나온 확률 변수(random variables)로 취급한다.

\[ \xi_i \overset{iid}{\sim} N(\mu_\xi, \sigma_\xi^2) \]

추론은 \(\xi_1, \ldots, \xi_n\)적분으로 소거(marginalize)한 후의 주변 분포(marginal distribution)로 수행한다. 모수의 개수가 표본 크기와 무관하다 (\(\alpha, \beta, \sigma_\epsilon^2, \sigma_\delta^2, \mu_\xi, \sigma_\xi^2\) 의 6개).

적합한 상황: 모집단에서 랜덤하게 추출한 개체의 두 변수를 측정하는 경우. 예: 사람을 랜덤 추출하여 실제 혈압 \(\xi_i\) (미관측)와 혈압계 측정값 \(X_i\) 를 얻는 경우.

3.3 두 모형의 관계

Functional Structural
\(\xi_i\) 의 성격 고정 모수 확률 변수
모수 수 \(n + 4\) (표본 크기에 비례) 6 (고정)
추론 기반 조건부 분포 주변 분포
이론적 편의 낮음 높음
현실 적합성 실험 설계 관측 연구

Nussbaum (1976)에 따르면, functional 모형에서 일치(consistent)한 추정량은 structural 모형에서도 일치한다. 직관적 이유: functional 모형은 모든 \(\xi_i\) 값에 대해 일치성이 성립해야 하므로, \(\xi_i\) 를 평균한 structural 모형에서도 자동으로 성립한다. 역방향은 성립하지 않는다. 그러나 structural 모형에서 식별 불가능(non-identifiable)한 모수는 functional 모형에서도 식별 불가능하다 (Casella & Berger, 2002, §12.2.1).


4 통상 OLS의 감쇠 편향

4.1 왜 OLS가 실패하는가

\(X_i = \xi_i + \delta_i\) 를 무시하고 \(Y\)\(X\) 에 대해 통상 OLS를 적용하면:

\[ \hat{\beta}_{OLS} = \frac{S_{XY}}{S_{XX}} = \frac{\sum(X_i - \bar{X})(Y_i - \bar{Y})}{\sum(X_i - \bar{X})^2} \]

\(n \to \infty\) 일 때 이 추정량의 확률 극한은:

\[ \hat{\beta}_{OLS} \xrightarrow{p} \beta \cdot \frac{\sigma_\xi^2}{\sigma_\xi^2 + \sigma_\delta^2} = \beta \cdot \lambda_{\text{reliability}} \]

\(\lambda_{\text{reliability}} = \sigma_\xi^2 / (\sigma_\xi^2 + \sigma_\delta^2) < 1\) 이므로 \(\hat{\beta}_{OLS}\)\(|\beta|\) 보다 항상 작은 값으로 수렴한다.

예를 들어 \(\sigma_\xi^2 = \sigma_\delta^2\) (신호와 잡음이 동일한 크기)이면 \(\lambda = 0.5\) 이므로 OLS 기울기는 진짜 기울기의 절반만 추정한다. IQ를 혈압계로 측정하는 것처럼 측정 잡음이 클수록 추정량은 더욱 0에 가까워진다.

4.2 직관적 이해

\(X\) 에 잡음 \(\delta\) 가 섞이면 \(X\)\(Y\) 의 상관이 약화된다. OLS는 이 약화된 상관만 포착하므로 기울기를 과소추정한다.

  • \(\sigma_\delta^2 = 0\) (측정오차 없음): \(\lambda = 1\), OLS는 비편향
  • \(\sigma_\delta^2 \to \infty\) (측정오차 극대): \(\lambda \to 0\), OLS 기울기 \(\to 0\)\(X\) 가 순수 잡음이면 \(Y\) 와 무관하게 보임
  • 일반적인 경우: 효과 크기를 체계적으로 과소추정 → 거짓 음성(false negative) 위험 증가

5 직교 최소제곱 (Orthogonal Least Squares)

5.1 핵심 아이디어

통상 OLS는 수직 거리(vertical distance, \(|y_i - \hat{y}_i|\))를 최소화한다. 이것은 \(X\) 에 오차가 없다는 암묵적 가정을 반영한다.

\(X\) 에도 오차가 있으면, 회귀 직선까지의 직교 거리(orthogonal/perpendicular distance)를 최소화하는 것이 더 합리적이다. 이를 전체 최소제곱(Total Least Squares)이라고도 한다 (Casella & Berger, 2002, §12.2.2).

5.2

직교 최소제곱의 기울기는 다음과 같다:

\[ \hat{b}_{OLS-\perp} = \frac{-(S_{XX} - S_{YY}) + \sqrt{(S_{XX} - S_{YY})^2 + 4S_{XY}^2}}{2S_{XY}} \]

여기서 \(S_{XX} = \sum(X_i - \bar{X})^2\), \(S_{YY} = \sum(Y_i - \bar{Y})^2\), \(S_{XY} = \sum(X_i - \bar{X})(Y_i - \bar{Y})\) 이다.

이 수식이 말하는 것: \(S_{XX} = S_{YY}\) 이면 분자의 첫 항이 0이 되고 \(\hat{b} = S_{XY}/|S_{XY}|\) 방향으로 단순화된다. \(S_{XX} \neq S_{YY}\) 인 일반적 경우, 판별식 \(\sqrt{\cdots}\) 이 분산의 비대칭성을 보정하여 \(Y\)-on-\(X\) OLS 직선과 \(X\)-on-\(Y\) OLS 직선의 기하평균에 해당하는 직선을 반환한다.

절편은 통상 OLS와 동일하다: \(\hat{a} = \bar{Y} - \hat{b}\bar{X}\).

5.3 OLS와의 비교

직교 최소제곱 직선은 항상 \(Y\)\(X\) 에 대한 OLS 직선\(X\)\(Y\) 에 대한 OLS 직선 사이에 놓인다 (Casella & Berger, 2002, Figure 12.2.2).

방법 최소화 대상 \(X\) 오차 처리
OLS (\(Y\) on \(X\)) 수직 거리 \(\sum(Y_i - \hat{Y}_i)^2\) 무시
OLS (\(X\) on \(Y\)) 수평 거리 \(\sum(X_i - \hat{X}_i)^2\) 무시 (\(Y\) 오차 무시)
직교 최소제곱 직교 거리 \(\sum d_i^2\) \(X\), \(Y\) 대등 취급

6 최대우도추정 (MLE)

6.1 Functional 모형에서의 문제

Functional 모형의 우도함수를 직접 최대화하려 하면, \(\xi_i = X_i\) 로 설정하고 \(\sigma_\delta^2 \to 0\) 으로 보내면 우도가 무한대로 발산한다 (Casella & Berger, 2002, 식 12.2.12). Solari (1969)는 우도 방정식의 해가 극대점(maximum)이 아니라 안장점(saddle point)임을 보였다.

우도가 발산하는 직관적 이유: \(\xi_i = X_i\) 로 설정하면 \(X\) 측정오차가 0이 된다. 그러면 각 관측점 \((X_i, Y_i)\) 에서 \(Y_i = \alpha + \beta X_i + \varepsilon_i\) 만 남고, \(\sigma_\delta^2 \to 0\) 으로 보내면 \(\delta_i\) 의 분산이 0이 되어 정확 적합(perfect fit)에 가까워지므로 우도가 한없이 커진다. 모수를 늘려 과적합한 결과이다.

이것은 모수가 \(n + 4\) 개인데 관측은 \(2n\) 개뿐이므로, 모형이 과모수화(overparameterized)되어 발생하는 문제이다.

6.2 분산비 가정 (\(\lambda\) 가정)

이 문제를 해결하는 표준적 방법은 분산비를 알고 있다고 가정하는 것이다:

\[ \sigma_\delta^2 = \lambda \sigma_\epsilon^2, \quad \lambda > 0 \text{ (알려진 상수)} \]

\(\lambda\) 를 알면 미지 모수가 하나 줄어들어(\(\sigma_\delta^2\)\(\sigma_\epsilon^2\) 에 종속), 우도함수가 유한한 최대값을 갖게 된다 (Casella & Berger, 2002, 식 12.2.13).

이 가정 하에서 \(\xi_i\) 를 먼저 최대화하면:

\[ \xi_i^* = \frac{X_i + \lambda\beta(Y_i - \alpha)}{1 + \lambda\beta^2} \]

대입 후 남은 우도를 \(\alpha\), \(\beta\) 에 대해 최대화하면, \(\lambda = 1\) 일 때 직교 최소제곱 해와 일치한다. 즉, 직교 최소제곱은 “\(X\) 오차와 \(Y\) 오차의 분산이 같다”는 가정 하의 MLE이다.

6.3 Structural 모형에서의 MLE

Structural 모형에서는 \(\xi_i\) 를 적분으로 소거하면 \((X_i, Y_i)\) 의 결합 분포가 이변량 정규분포가 된다:

\[ \begin{bmatrix} X_i \\ Y_i \end{bmatrix} \sim N\left(\begin{bmatrix} \mu_\xi \\ \alpha + \beta\mu_\xi \end{bmatrix}, \begin{bmatrix} \sigma_\xi^2 + \sigma_\delta^2 & \beta\sigma_\xi^2 \\ \beta\sigma_\xi^2 & \beta^2\sigma_\xi^2 + \sigma_\epsilon^2 \end{bmatrix}\right) \]

공분산 행렬에 모수 5개(\(\alpha, \beta, \sigma_\xi^2, \sigma_\delta^2, \sigma_\epsilon^2\))가 있지만, 이변량 정규분포의 공분산 행렬은 대칭이므로 자유 모수가 3개뿐이다. 따라서 \(\sigma_\delta^2\) 또는 \(\sigma_\epsilon^2\) 를 모르면 모수가 식별 불가능(non-identifiable)하다. 분산비 \(\lambda\) 를 알아야 식별 가능하다.


7 실무 대안: 도구변수와 Deming 회귀

7.1 도구변수 (Instrumental Variables, IV)

\(\xi_i\) 와 상관이 있지만 \(\delta_i\), \(\epsilon_i\) 와 상관이 없는 도구변수(instrument) \(Z_i\) 를 사용하면, 분산비를 모르더라도 \(\beta\) 를 일치추정할 수 있다.

\[ \hat{\beta}_{IV} = \frac{S_{ZY}}{S_{ZX}} = \frac{\sum(Z_i - \bar{Z})(Y_i - \bar{Y})}{\sum(Z_i - \bar{Z})(X_i - \bar{X})} \]

IV가 EIV 문제를 해결하는 직관: \(Z_i\)\(\xi_i\) 와 상관이 있으므로 \(\beta\) 를 추정할 정보를 담고 있다. 그러나 \(Z_i\)\(\delta_i\) (X의 측정오차)와 무관하므로, 분자 \(S_{ZY}\) 는 측정오차에 오염되지 않는다. 분모 \(S_{ZX}\) 역시 \(Z\)\(\xi\) 의 공분산을 반영하여 분산비 없이 기울기를 식별한다. 교육년수를 추정할 때 부모 교육수준이나 지역 평균 임금을 도구변수로 쓰는 것이 전형적 예시이다.

도구변수는 계량경제학에서 내생성(endogeneity) 문제를 해결하는 표준 기법이기도 하다.

7.2 Deming 회귀

\(\lambda = \sigma_\delta^2 / \sigma_\epsilon^2\) 를 알 때, 가중 직교 최소제곱(weighted orthogonal least squares)을 Deming 회귀라 한다. 임상화학(clinical chemistry)에서 두 측정 방법의 일치도를 비교할 때 표준 방법으로 사용된다.

\[ \hat{\beta}_{Deming} = \frac{(S_{YY} - \lambda S_{XX}) + \sqrt{(S_{YY} - \lambda S_{XX})^2 + 4\lambda S_{XY}^2}}{2S_{XY}} \]

\(\lambda = 1\) 이면 직교 최소제곱과 동일하다.


8 코드 예시

8.1 Python

import numpy as np
import matplotlib.pyplot as plt
from scipy.odr import ODR, Model, RealData

np.random.seed(42)

# 진짜 관계: Y = 2 + 3*xi
n = 100
xi = np.random.uniform(1, 10, n)
sigma_eps = 1.0
sigma_del = 1.5

# 관측값 (측정오차 포함)
X = xi + np.random.normal(0, sigma_del, n)
Y = 2 + 3 * xi + np.random.normal(0, sigma_eps, n)

# 1. 통상 OLS (감쇠 편향 발생)
beta_ols = np.sum((X - X.mean()) * (Y - Y.mean())) / np.sum((X - X.mean())**2)
alpha_ols = Y.mean() - beta_ols * X.mean()

# 2. 직교 최소제곱 (Total Least Squares)
Sxx = np.sum((X - X.mean())**2)
Syy = np.sum((Y - Y.mean())**2)
Sxy = np.sum((X - X.mean()) * (Y - Y.mean()))

beta_orth = (-(Sxx - Syy) + np.sqrt((Sxx - Syy)**2 + 4 * Sxy**2)) / (2 * Sxy)
alpha_orth = Y.mean() - beta_orth * X.mean()

# 3. Deming 회귀 (lambda = sigma_del^2 / sigma_eps^2)
lam = sigma_del**2 / sigma_eps**2
beta_deming = ((Syy - lam * Sxx) + np.sqrt((Syy - lam * Sxx)**2 + 4 * lam * Sxy**2)) / (2 * Sxy)
alpha_deming = Y.mean() - beta_deming * X.mean()

# 감쇠 편향 확인
reliability = np.var(xi) / (np.var(xi) + sigma_del**2)
print(f"진짜 beta: 3.0")
print(f"OLS beta:  {beta_ols:.3f} (감쇠 편향: {3.0 * reliability:.3f} 근처로 수렴)")
print(f"직교 LS:   {beta_orth:.3f}")
print(f"Deming:    {beta_deming:.3f}")

# 시각화
x_plot = np.linspace(0, 12, 100)
fig, ax = plt.subplots(figsize=(8, 6))
ax.scatter(X, Y, alpha=0.4, s=20, label='관측 데이터')
ax.plot(x_plot, 2 + 3 * x_plot, 'k--', linewidth=2, label=f'진짜 관계 (beta=3.0)')
ax.plot(x_plot, alpha_ols + beta_ols * x_plot, 'r-', label=f'OLS (beta={beta_ols:.2f})')
ax.plot(x_plot, alpha_orth + beta_orth * x_plot, 'b-', label=f'직교 LS (beta={beta_orth:.2f})')
ax.plot(x_plot, alpha_deming + beta_deming * x_plot, 'g-', label=f'Deming (beta={beta_deming:.2f})')
ax.set_xlabel('X (측정오차 포함)')
ax.set_ylabel('Y')
ax.set_title('EIV 모형: OLS vs 직교 최소제곱 vs Deming')
ax.legend()
plt.tight_layout()
plt.show()

이 Python 코드가 보여주는 것: 진짜 기울기 3.0을 기준으로 OLS 추정값이 약 1.7~1.9 수준으로 과소추정됨을 확인할 수 있다. 직교 최소제곱과 Deming은 3.0에 훨씬 가깝게 복원한다. \(\lambda = (1.5/1.0)^2 = 2.25\) 이므로 OLS의 신뢰도 계수 \(\lambda_{\text{rel}} \approx 1/(1+2.25) \approx 0.31\) — 이론 예측과 시뮬레이션 결과가 일치함을 그림에서 직관적으로 확인한다.

8.2 R

library(mcr)  # Method Comparison Regression (Deming)

set.seed(42)
n <- 100
xi <- runif(n, 1, 10)
sigma_eps <- 1.0
sigma_del <- 1.5

X <- xi + rnorm(n, 0, sigma_del)
Y <- 2 + 3 * xi + rnorm(n, 0, sigma_eps)

# OLS
fit_ols <- lm(Y ~ X)
cat("OLS beta:", coef(fit_ols)[2], "\n")

# Deming 회귀
fit_deming <- mcreg(X, Y, method.reg = "Deming",
                    error.ratio = sigma_del^2 / sigma_eps^2)
cat("Deming beta:", fit_deming@para[2], "\n")

# 시각화
plot(X, Y, pch = 20, col = "gray60", main = "EIV: OLS vs Deming")
abline(2, 3, lty = 2, lwd = 2)          # 진짜 관계
abline(fit_ols, col = "red", lwd = 2)    # OLS
abline(fit_deming@para, col = "blue", lwd = 2)  # Deming
legend("topleft", legend = c("True (beta=3)",
       paste0("OLS (beta=", round(coef(fit_ols)[2], 2), ")"),
       paste0("Deming (beta=", round(fit_deming@para[2], 2), ")")),
       col = c("black", "red", "blue"), lty = c(2, 1, 1), lwd = 2)

이 R 코드는 mcr 패키지의 Deming 회귀를 OLS와 나란히 그려 시각화한다. 붉은 OLS 직선이 검정 진짜 직선보다 완만하게(0 방향으로 기울어져) 그려지고, 파란 Deming 직선이 진짜 직선에 훨씬 가까이 따라감을 확인한다.


9 요약

주제 핵심 내용
EIV 모형 \(X\) 에도 측정오차 \(\delta_i\) 가 존재; SLR과 근본적으로 다른 문제
Functional \(\xi_i\) = 고정 모수; 조건부 추론; 모수 수가 \(n\) 에 비례
Structural \(\xi_i\) = 확률 변수; 주변 분포 추론; 모수 수 고정
감쇠 편향 OLS 기울기가 \(\beta \cdot \sigma_\xi^2 / (\sigma_\xi^2 + \sigma_\delta^2)\) 로 축소
직교 LS 직교 거리 최소화; \(\lambda = 1\) 가정의 MLE
MLE 분산비 \(\lambda = \sigma_\delta^2/\sigma_\epsilon^2\) 를 모르면 식별 불가능
Deming 가중 직교 LS; \(\lambda\) 를 알 때 MLE와 동등
도구변수 \(\lambda\) 없이도 \(\beta\) 일치추정 가능

10 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

Subscribe

Enjoy this blog? Get notified of new posts by email: