Heteroskedasticity-Consistent, Cluster Robust Standard Errors

·2025년 2월 15일
post-thumbnail

1. Homoskedasticity, Independence Assumption이 모두 만족할 때

2. Heteroskedasticity가 있을 때

  • var(ui)var(u_i)가 constant한 var(u)var(u)가 되어 \sum 앞으로 끄집어내질 수 없게 됨.
  • var(ui)=E[ui2](E[ui])2var(u_i)=E[u_i^2]-(E[u_i])^2에서 E(ui)E(u_i)는 0이고, 실제 E[ui]E[u_i]를 알 수 없는 상황에서 uiu_i의 추정값은 observed residual인 ui^\hat{u_i}이다.
  • 즉, var(ui)=E[ui2]=ui^2var(u_i) = E[u_i^2] = \hat{u_i}^2

Cluster Robust

  • Independence of Observation 가정이 성립하지 않는 상황이다.
  • 따라서 분산의 덧셈 성질 Var(X+Y)=Var(X)+Var(Y)+2Cov(X,Y)Var(X+Y)=Var(X)+Var(Y)+2Cov(X,Y)의 covariance 부분이 제거될 수 없다.

중요한 Insight들

클러스터-로버스트 표준 오차(CRSE)는 경제학 및 응용 통계학에서 널리 사용되며, 클러스터 내 오차의 상관관계를 허용하면서도 신뢰할 수 있는 표준 오차를 제공하는 방법이다. 이는 일반적인 최소제곱법(OLS) 회귀 분석의 가정인 독립적이고 동일한 분포(i.i.d.)를 따르는 오차 가정이 깨졌을 때 사용된다.

위 식에서 생각해볼 수 있는 주요 인사이트는 다음과 같다:

  1. 왜 클러스터-로버스트 표준 오차는 클러스터 내 상관관계에 대해 강건한가?
  2. 클러스터 개수가 적으면 표준 오차가 편향될 수 있음
  3. 전통적인 패널 데이터 기법과 비교

1. 클러스터-로버스트 표준 오차는 왜 클러스터 내 상관관계에 강건한가?

클러스터-로버스트 표준 오차의 가장 큰 장점은 클러스터 내 오차 항이 어떤 방식으로 상관되어 있어도 유효한 표준 오차를 제공한다는 점이다. 이는 특정한 상관구조를 가정하는 대신, 잔차(Residuals)를 직접 사용하여 경험적으로 공분산을 추정하기 때문이다.

cluster robust SE 식을 다시 한 번 유도하면서 알아보자

일반적인 OLS 추정량 β^1\hat{\beta}_1 의 분산은 다음과 같이 주어진다:

var(β^1)=i=1nj=1ncov((xixˉ)ui,(xjxˉ)uj)SSTx2var(\hat{\beta}_1) = \frac{\sum_{i=1}^{n} \sum_{j=1}^{n} cov( (x_i - \bar{x}) u_i, (x_j - \bar{x}) u_j )}{SST_x^2}

그러나 실제로는 오차항 uiu_i 를 직접 관찰할 수 없으므로, 잔차(u^i\hat{u}_i)를 이용해 근사한다:

var^(β^1)=i=1nj=1n(xixˉ)u^iu^j(xjxˉ)SSTx2\widehat{var}(\hat{\beta}_1) = \frac{\sum_{i=1}^{n} \sum_{j=1}^{n} (x_i - \bar{x}) \hat{u}_i \hat{u}_j (x_j - \bar{x})}{SST_x^2}
  • 여기서 u^iu^j\hat{u}_i \hat{u}_j 항은 잔차의 곱을 통해 공분산을 경험적으로 추정한 것이다.

  • 이 방식은 특정한 오차의 상관구조를 가정하지 않으므로, 오차항의 클러스터링 구조가 어떻든 간에 표준 오차를 올바르게 추정할 수 있다.

    → 즉, 어떤 클러스터에서는 강한 자기상관(Autocorrelation)이 존재할 수도 있고, 어떤 클러스터에서는 전혀 상관이 없을 수도 있지만, CRSE는 이를 문제 삼지 않는다.

  • 전통적인 패널 데이터 모델과 달리, 클러스터 내 오차의 상관관계가 일정하다고 가정하지 않는다.

    → 패널 데이터 모델에서는 보통 클러스터 내 모든 관측값이 동일한 정도의 상관성을 가진다고 가정하지만, CRSE는 이러한 가정을 하지 않는다.


2. 클러스터 개수가 적으면 표준 오차가 편향될 수 있음 (아래 추가 설명)

클러스터-로버스트 표준 오차는 클러스터 크기(cluster size)가 아닌, 클러스터 개수 자체(cluster count)에 의해 정확도가 결정된다.

왜 클러스터 개수가 작으면 편향이 발생하는가?

  • CRSE는 클러스터 내 공분산을 경험적으로 추정하는 방식을 사용하기 때문에, 충분히 많은 클러스터가 있어야 신뢰할 수 있는 추정이 가능하다.
  • 클러스터 개수가 적으면, 추정된 공분산 행렬이 과소 추정되며, 이로 인해 표준 오차가 과소 추정(Underestimated)될 가능성이 크다.
  • 표준 오차가 과소 추정되면, 잘못된 통계적 유의성(즉, p-value가 너무 작게 나와서 실제로는 의미 없는 결과가 통계적으로 유의미하다고 판단되는 오류)이 발생할 수 있다.
    → 즉, 유의성이 과장되어(Type I Error) 잘못된 결론을 내릴 위험이 커진다.

이 문제를 해결하려면?

  • 클러스터 개수를 늘려야 한다.
  • 단, 클러스터 내 관측 개수를 늘리는 것만으로는 문제를 해결할 수 없다.
    • 예를 들어, 30개 기업을 10년 동안 추적(총 300개 관측값)하는 데이터가 있다고 하자.
    • 만약 10년에서 20년으로 늘려 600개 관측값으로 증가시켜도, 여전히 독립적인 클러스터는 30개뿐이므로 편향 문제를 해결하지 못한다.
    • 즉, 클러스터 개수를 늘려야지, 클러스터 내 샘플을 늘리는 것만으로는 편향을 해결할 수 없다.

최소 몇 개의 클러스터가 필요할까?

  • 일반적인 경험적 연구에서는 최소 40개 이상의 클러스터가 있어야 신뢰할 수 있는 추정이 가능하다고 알려져 있다.
  • Angrist & Pischke 등의 연구에서는 40개 미만일 경우 표준 오차가 과소 추정될 위험이 크다고 보고됨.

3. 전통적인 패널 데이터 기법과 비교

클러스터-로버스트 표준 오차는 기존의 패널 데이터 분석 방법과 비교했을 때, 보다 유연한 방식으로 클러스터 내 오차의 상관관계를 다룰 수 있음.

방법클러스터 내 오차 상관관계 가정사용 목적
고정 효과(Fixed Effects, FE)모든 클러스터 내 오차가 동일한 효과를 가짐X 와 상관된 미관측 효과 제거
랜덤 효과(Random Effects, RE)클러스터 내 상관관계가 일정함X 와 미관측 효과가 독립적일 때 사용
일반화 최소제곱법(GLS)특정한 상관구조를 가정오차의 상관관계가 알려진 경우
클러스터-로버스트 표준 오차(CRSE)아무런 가정을 하지 않음클러스터 내 오차 구조를 모를 때 사용

결론

  • FE/RE 모델은 클러스터 내 오차의 특정한 상관구조를 가정하는 반면, CRSE는 데이터가 갖는 실제 상관구조에 대해 어떠한 가정도 하지 않는다.
  • 고정 효과(FE)나 랜덤 효과(RE)를 사용한 경우라도, 클러스터-로버스트 표준 오차를 추가적으로 사용하는 것이 권장된다.

4. 주요 결론

클러스터-로버스트 표준 오차는 클러스터 내 오차 구조가 어떤 형태이든 간에 신뢰할 수 있는 표준 오차를 제공한다.
클러스터 개수가 적으면 표준 오차가 과소 추정될 위험이 크며, 최소 40개 이상의 클러스터가 필요하다는 경험적 연구 결과가 있다.
클러스터 내 관측 개수를 늘리는 것만으로는 문제를 해결할 수 없으며, 독립적인 클러스터 개수를 늘려야 한다.
FE/RE 모델을 사용한 경우에도, 클러스터-로버스트 표준 오차를 추가적으로 적용하는 것이 바람직하다.

따라서 클러스터링이 존재하는 데이터에서는, 패널 데이터 분석을 수행할 때도 클러스터-로버스트 표준 오차를 고려하는 것이 필수적이다.

2번 추가 설명

왜 클러스터가 개수가 적으면 두 개의 잔차(Residuals)를 곱한 값이 공분산의 부정확한 추정량(Poor Estimator)인가?


1. 우리가 구하고 싶은 것: 공분산

공분산(covariance)은 두 변수가 어떻게 함께 변하는지를 나타내는 값이다.

두 개의 오차항 uiu_iuju_j 사이의 진짜 공분산(true covariance) 은 다음과 같이 정의된다:

cov(ui,uj)=E[uiuj]E[ui]E[uj]\text{cov}(u_i, u_j) = E[u_i u_j] - E[u_i]E[u_j]

즉, 두 오차항을 곱한 값의 기댓값에서, 각각의 기댓값을 곱한 값을 빼는 방식으로 구할 수 있다.

그런데 우리는 실제 오차항 uiu_i를 모르고, 대신 잔차(residuals) u^i\hat{u}_i 를 사용해서 공분산을 추정해야 한다.

그래서 흔히 사용하는 방법이 바로:

cov^(ui,uj)=u^iu^j\widehat{\text{cov}}(u_i, u_j) = \hat{u}_i \hat{u}_j

즉, 잔차 두 개를 곱한 값이 공분산의 추정값이라고 생각하고 사용한다.
그런데 이 방식은 클러스터 개수가 적을 때 잘못된(편향된) 추정치를 만들 가능성이 크다.


2. 왜 u^iu^j\hat{u}_i \hat{u}_j가 공분산을 잘못 추정할까?

이 방식이 문제가 되는 이유는 두 가지 편향(Bias) 때문.

(1) 잔차는 회귀식에 의해 강한 제약을 받는다.

OLS 회귀에서는 잔차가 자유롭게 변하지 못하고, 회귀 방정식에 의해 제한을 받는다.

OLS에서는 전체 데이터에 대해 잔차의 총합이 0이 되도록 강제되므로, 잔차들이 특정 패턴을 따르게 됨.
이로 인해, 클러스터 내에서도 비슷한 경향이 발생하며, 공분산을 추정할 때 사용할 수 있는 정보가 제한됨.
결과적으로 공분산이 실제보다 작게 추정되면서, 표준 오차도 과소 추정됨.

(2) 클러스터 개수가 적으면, 공분산 추정값이 불안정하다.

잔차를 곱해서 공분산을 구하는 방식은 사실 "표본 평균"을 이용해서 전체적인 경향을 추정하는 과정이야.

cov^(ui,uj)=1Gg=1Gu^g,iu^g,j\widehat{\text{cov}}(u_i, u_j) = \frac{1}{G} \sum_{g=1}^{G} \hat{u}_{g,i} \hat{u}_{g,j}

여기서 ( G ) 는 클러스터 개수야.
즉, 우리가 사용한 표본(클러스터)이 많을수록, 공분산의 추정값은 더 정확해질 거야.

하지만 클러스터 개수가 적으면?

  • 표본 평균을 낼 때 샘플 개수가 부족해서 추정값의 편차(Variance)가 매우 커진다.
  • 즉, 표본 크기가 작을수록 계산된 값이 크게 요동치면서 실제 값을 제대로 반영하지 못할 가능성이 커.
  • 그러다 보면 표준 오차(standard error)도 부정확해지고, 가설 검정의 신뢰성이 떨어지게 돼.

예제: 주사위 던지기

  • 주사위를 3번 던져서 평균을 계산하면, 평균이 3.5 근처에 나오지 않고, 2나 5처럼 크게 벗어날 가능성이 있어.
  • 하지만 100번 던지면, 평균이 3.5에 훨씬 가까워질 거야.
  • 같은 원리로, 클러스터 개수가 적으면, 우리가 구한 공분산 값도 실제 값과 크게 차이가 날 가능성이 커진다.

3. 클러스터 개수가 많으면 문제가 해결되는 이유

  • 클러스터 개수가 많아지면, 표본 평균이 실제 기대값에 더 가까워진다.
  • 즉, 대수의 법칙(Law of Large Numbers) 에 의해, 잔차를 이용한 공분산 추정값이 실제 값에 수렴하게 돼.
  • 클러스터 개수가 많아질수록 잔차를 이용한 추정값의 오차가 줄어들고, 표준 오차도 안정화된다.

4. 결론

잔차 u^iu^j\hat{u}_i \hat{u}_j 를 곱한 값은 클러스터 개수가 적을 때 공분산을 잘못 추정하는 경향이 있다.
이유 ①: 잔차는 OLS 회귀식에 의해 제약을 받기 때문에, 자유롭게 변하지 못한다.
이유 ②: 클러스터 개수가 적으면, 표본 평균의 변동성이 커져서 공분산 추정값이 불안정해진다.
해결책: 클러스터 개수를 충분히 늘려야 한다 (일반적으로 40개 이상이 필요함).
클러스터 내 데이터 개수를 늘리는 것은 문제를 해결하지 못한다. 독립적인 클러스터 개수를 늘려야 한다.

결론적으로, 클러스터 개수가 적다면 CRSE를 사용할 때 결과를 신중하게 해석해야 하며, 가능하면 추가적인 조정을 고려해야 한다.

재밌는 Insight

두 번째 줄 -> 세 번째 줄, 세 번째 줄 -> 네 번째 줄: 오차항 u와 독립변수 X 간에는 correlation이 없다는 가정이 있기 때문에 식이 이렇게 정리될 수 있다.

1. 핵심 요점 요약

  • 회귀 분석에서 독립 변수 X가 클러스터링되지 않고 완전히 독립적이면 (ICC1(X)=0ICC_1(X) = 0), 오차항 uu 의 클러스터링 여부는 중요하지 않다.
  • 즉, 독립 변수 XX 가 클러스터링되지 않은 경우, 오차항 uu 의 상관관계(클러스터링)는 회귀 분석의 분산 추정에 영향을 미치지 않는다.
  • 그러나, X가 클러스터링되어 있다면 (ICC1(X)0ICC_1(X) \neq 0), 오차항 u간의 상관관계가 회귀 분석 결과에 영향을 줄 수 있다.

2. 공분산 분석을 통한 설명

위 식을 보면, 회귀 계수 β^1\hat{\beta}_1의 분산을 구할 때 중요한 요소는 cov((xixˉ)ui,(xjxˉ)uj)cov((x_i - \bar{x}) u_i, (x_j - \bar{x}) u_j)이다.

  • 만약 X값들이 독립적이라면 ($ICC_1(X) = 0 $), 즉 클러스터링 없이 무작위로 분포한다면:

    cov((xixˉ)ui,(xjxˉ)uj)=0cov((x_i - \bar{x}) u_i, (x_j - \bar{x}) u_j) = 0

    따라서 오차항 uu 간의 상관관계가 있어도 회귀 분석의 분산 추정에는 영향을 미치지 않는다.

  • 반면, X값들이 클러스터링되어 있다면 (ICC1(X)0ICC_1(X) \neq 0),

    cov((xixˉ)ui,(xjxˉ)uj)=cov(diui,djuj)cov((x_i - \bar{x}) u_i, (x_j - \bar{x}) u_j) = cov(d_i u_i, d_j u_j)

    여기서 di=xixˉd_i = x_i - \bar{x} 는 독립 변수의 중심화된 값이다. 이 경우, did_i 값들이 클러스터링되어 있으면 오차항 uiu_i의 상관관계가 회귀 계수의 분산을 증가시키거나 추정치를 왜곡할 수 있다.


3. 현실적인 해석

  • X가 클러스터링되지 않았다면, 오차항이 클러스터링되어 있더라도 분석에 문제가 되지 않는다. 즉, 오차항이 클러스터링되었는지 확인할 필요가 없다.
  • 그러나 X가 클러스터링되었다면, 오차항도 클러스터링되었을 경우 표준 오차가 잘못 추정될 가능성이 크므로, 반드시 클러스터-로버스트(Cluster-Robust) 표준 오차를 사용해야 한다.

4. 결론

X가 독립적이면(ICC1(X)=0ICC_1(X) = 0), 오차항의 클러스터링 여부는 회귀 분석의 표준 오차 추정에 영향을 미치지 않는다.
X가 클러스터링되어 있으면 (ICC1(X)0ICC_1(X) \neq 0), 오차항의 클러스터링이 분산 추정에 영향을 주므로 클러스터-로버스트 표준 오차를 고려해야 한다.
즉, 회귀 분석에서 오차항의 클러스터링을 확인하기 전에, 먼저 독립 변수 X 의 클러스터링 여부를 확인하는 것이 더 중요하다.

출처: https://www.youtube.com/watch?v=XsyUzaZHs5o&list=PL6tc6IBlZmOVEofGo-Yz4MpdOp5K8yk_T&index=6

profile
보건대학원 뉴비

0개의 댓글