Chap25. 이항 내생 변수(Binary Endogenous Regressors)가 존재하는 상황에서 GEE(일반화 추정 방정식)가 강건한(Robust) 대안이 될 수 있는지

안녕하세요!

오늘은 다층분석 시 이항 내생 변수(Binary Endogenous Regressors)가 존재하는 상황에서 GEE(일반화 추정 방정식)와 다층모형(MLM)이 얼마나 강건한(Robust) 대안이 될 수 있는지에 대해 살펴보겠습니다. “학교 현장의 데이터”를 예시로 들어 직관적인 설명과 수리적 엄밀함을 모두 갖춘 형태로 재구성해 드리겠습니다.

분석 도구로는 jamovi의 사용법을 설명하되, jamovi의 기반이 되는 R 코드를 함께 제시하여 모의 데이터 생성부터 분석, 시각화까지 완벽하게 구현해 드리겠습니다.


1. 군집화된 데이터와 두 가지 접근법: GEE vs MLM

학교 현장의 데이터는 보통 ‘군집화(Clustered)’되어 있습니다. 예를 들어, 한 학생을 매일 관찰하는 종단 데이터의 경우, 매일의 측정치들이 ‘학생’이라는 상위 군집 안에 중첩(Nested)되어 있죠. 이러한 군집 데이터를 분석할 때 연구자는 크게 두 가지 모형을 선택할 수 있습니다.

  • 다층모형 (Multilevel Models, MLMs):
    • 다층모형은 조건부 모형(Conditional models)으로, 개별 응답에 대한 추론을 목적으로 합니다.
    • 개인 간의 관찰되지 않은 무선 변이(Random variation)를 명시적으로 설명하며, 공변량에 따라 특정 대상의 반응이 어떻게 변하는지 설명합니다.
    • 즉, 군집 내 상관관계를 설명하기 위해 집단 고유의 무선 효과(Random effects)를 모형에 포함합니다.
  • 일반화 추정 방정식 (Generalized Estimating Equations, GEE):
    • GEE는 집단 내 상관관계를 성가신 존재(nuisance)로 취급하고, 응답의 주변 평균(Marginal mean)에 초점을 맞춥니다.
    • 이는 전체 집단의 평균적인 변화, 즉 모집단 평균 모형(Population average model)을 추정하는 데 유용합니다.

2. 내생성(Endogeneity)이란 무엇인가요?

어려운 단어 같지만, 초등학생도 이해할 수 있게 설명해 볼게요. 내생성이란 ‘우리가 모형에 포함하지 않은 숨겨진 원인(오차항)과 내가 분석하려는 원인 변수가 서로 얽혀 있는 상태’를 뜻합니다.

쉽게 예를 들어볼까요?

  • 연구 목적: 학생의 ‘매일의 또래 갈등(원인)’이 ‘매일의 학업 스트레스(결과)’에 미치는 영향을 알고 싶습니다.
  • 숨겨진 진짜 원인(내생성 발생): 사실 이 학생은 원래 ‘예민한 기질(관찰되지 않은 무선 효과, uju_j)’을 가지고 있습니다. 이 기질 때문에 친구들과 갈등도 자주 겪고, 학업 스트레스도 쉽게 받습니다.

만약 이 ‘예민한 기질’을 고려하지 않고 단순하게 분석하면 어떻게 될까요? 기질 때문에 발생한 스트레스까지 모두 ‘또래 갈등’ 탓으로 돌리게 되어, 또래 갈등의 영향력을 실제보다 부풀려서(과대추정) 해석하게 됩니다. 이것이 바로 동시적 내생성(Contemporaneous endogeneity)이 일으키는 오류(Misspecification)입니다.


3. 해결책: Mundlak과 Chamberlain의 방법

이러한 내생성 문제를 해결하기 위해 Mundlak(1978)과 Chamberlain(1984)은 아주 기발하고 간단한 방법을 제안했습니다. 바로 군집 내 변수의 평균(Cluster averages)을 모형에 추가하는 것입니다.

우리의 예시로 치면, 매일매일의 ‘또래 갈등 여부’뿐만 아니라, 그 학생의 ’10일 동안 또래 갈등을 겪은 평균 횟수’를 모형에 같이 넣어주는 것이죠. 이 평균값이 통계적으로 유의미하다면, 내생성이 존재한다는 것을 의미합니다.


4. 학교 현장 모의 데이터 생성 (R 코드)

이제 학생 100명을 대상으로 10일 동안 관찰한 모의 데이터를 생성해 보겠습니다. MSCM(어머니의 스트레스와 아동의 질병) 연구의 구조를 교육 현장에 맞게 각색했습니다.

R

# 필요한 패키지 불러오기
library(lme4)
library(geepack)
library(dplyr)

set.seed(2026)
n_students <- 100
days <- 10

# 1. 학생 고유의 기질(무선 효과) 생성 - 내생성 유발
# 기질이 예민할수록(u_stress가 높을수록) 갈등도 잦고 스트레스도 높음
u_conflict <- rnorm(n_students, 0, 0.8)
u_stress <- 0.6 * u_conflict + rnorm(n_students, 0, 0.5) 

# 데이터 프레임 생성
data <- expand.grid(Day = 1:days, StudentID = 1:n_students)
data <- data %>%
  left_join(data.frame(StudentID = 1:n_students, 
                       u_conflict = u_conflict, 
                       u_stress = u_stress), by = "StudentID") %>%
  mutate(
    # 시간 불변 공변량: 교사 경력 (0=저경력, 1=고경력)
    TeacherExp = rep(rbinom(n_students, 1, 0.5), each = days),
    
    # 원인 변수 (내생 변수): 매일의 또래 갈등 (0=없음, 1=있음)
    # 기질(u_conflict)의 영향을 받음
    Conflict_star = -0.5 + 0.2*TeacherExp + u_conflict + rnorm(n_students*days, 0, 1),
    Conflict = ifelse(Conflict_star > 0, 1, 0),
    
    # 결과 변수: 매일의 학업 스트레스 (0=없음, 1=있음)
    # 또래 갈등과 기질(u_stress)의 영향을 동시에 받음
    Stress_star = -1.0 + 0.8*Conflict - 0.3*TeacherExp + u_stress + rnorm(n_students*days, 0, 1),
    Stress = ifelse(Stress_star > 0, 1, 0)
  )

# Mundlak-Chamberlain 방법을 위해 개인별 평균 또래 갈등 계산
data <- data %>%
  group_by(StudentID) %>%
  mutate(Conflict_mean = mean(Conflict)) %>%
  ungroup()

# 분석에 사용할 최종 데이터
head(data %>% select(StudentID, Day, TeacherExp, Conflict, Conflict_mean, Stress))

5. jamovi 및 R을 활용한 모형 분석

jamovi에서는 GAMLj 모듈의 Generalized Mixed Models를 통해 다층모형을 아주 쉽게 구현할 수 있습니다. GEE 분석은 jamovi 내 Rj Editor를 활용하여 R 코드를 직접 실행하는 것이 가장 정확합니다.

원문의 시뮬레이션 결과에 따르면, 내생성을 무시한 단순 GEE(Naive IWM)와 단순 다층모형(Naive MLM) 모두 내생 변수의 모수를 과대 추정하는 오류를 범합니다. 이를 직접 확인해 보겠습니다.

모형 1: 내생성을 무시한 단순 모형 (Naive Models)

  • 분석의 문제점: 개인의 기질을 통제하지 않아, 또래 갈등의 효과가 부풀려집니다.

R

# 1-1. 단순 GEE 모형 (Naive IWM)
naive_gee <- geeglm(Stress ~ Conflict + TeacherExp, 
                    id = StudentID, 
                    data = data, 
                    family = binomial(link = "probit"), 
                    corstr = "independence")
summary(naive_gee)

# 1-2. 단순 다층 모형 (Naive MLM)
# jamovi GAMLj 설정: Dependent(Stress), Factors(Conflict, TeacherExp), Random Effects(1 | StudentID)
naive_mlm <- glmer(Stress ~ Conflict + TeacherExp + (1 | StudentID), 
                   data = data, 
                   family = binomial(link = "probit"))
summary(naive_mlm)

모형 2: 평균을 추가한 보완 모형 (Augmented Models – Mundlak/Chamberlain)

  • 분석의 장점: 군집 수준의 평균 변수(Conflict_mean)를 추가하여 내생성 편향을 보정합니다.
  • 이 방식은 GEE와 다층모형 모두에서 내생성으로 인한 오류를 감지하고 수정하는 데 유사한 성능을 보입니다.

R

# 2-1. 보완된 GEE 모형 (Augmented IWM)
aug_gee <- geeglm(Stress ~ Conflict + Conflict_mean + TeacherExp, 
                  id = StudentID, 
                  data = data, 
                  family = binomial(link = "probit"), 
                  corstr = "independence")
summary(aug_gee)

# 2-2. 보완된 다층 모형 (Augmented MLM)
# jamovi GAMLj 설정: Covariates에 Conflict_mean 추가
aug_mlm <- glmer(Stress ~ Conflict + Conflict_mean + TeacherExp + (1 | StudentID), 
                 data = data, 
                 family = binomial(link = "probit"))
summary(aug_mlm)

분석 결과에서 Conflict_mean의 계수가 통계적으로 유의미하게 나타난다면, 원문에서 지적한 대로 동시적 내생성이 존재함을 확증하는 것입니다.


요약 및 결론

GEE는 가정을 적게 하기 때문에 모형 설정 오류에 덜 취약하다는 주장이 있지만, 실제로는 묵시적인 가정(오차항과 변수의 독립성 등)을 어겼을 때 심각한 편향이 발생할 수 있습니다. 내생성을 무시할 경우, GEE와 다층모형(MLM) 모두 편향된 결과를 도출하므로 둘 중 어느 하나가 무조건 더 낫다고 볼 수 없습니다.

따라서 학교 현장의 종단 데이터처럼 상호작용이 복잡한 요인들을 분석할 때는, Mundlak과 Chamberlain이 제안한 것처럼 집단 내 평균치(Cluster means)를 모형에 포함하여 내생성 여부를 테스트하고 통제하는 습관을 들이는 것이 매우 중요합니다.


참고문헌

  • Chamberlain, G. (1984). Panel Data. In Z. Griliches & M. D. Intriligator (Eds.), Handbook of Econometrics (Vol. 2, pp. 1247-1318). Elsevier.
  • Diggle, P. J., Liang, K.-Y., & Zeger, S. L. (1994). Analysis of Longitudinal Data. Clarendon Press.
  • Lee, Y., & Nelder, J. A. (2004). Conditional and marginal models: Another view. Statistical Science, 19(2), 219-228.
  • Mundlak, Y. (1978). On the pooling of time series and cross section data. Econometrica, 46(1), 69-85.
  • Zeger, S. L., & Liang, K.-Y. (1986). Longitudinal data analysis for discrete and continuous outcomes. Biometrics, 42(1), 121-130.