태그 보관물: dynamic

Chap 31. 동적 구조방정식 모델링(Dynamic Structural Equation Modeling)

안녕하세요?
이번에는 현대 종단 연구의 정수라고 할 수 있는 동적 구조방정식 모델링(Dynamic Structural Equation Modeling, 이하 DSEM)에 대해 함께 탐구해 보겠습니다.

과거에는 학생들의 변화를 측정하기 위해 학기 초와 학기 말, 두 번의 검사(Pre-Post)에 의존하곤 했습니다. 하지만 학생의 심리나 학습 상태는 매시간, 매일 요동칩니다. DSEM은 이러한 집중 종단 데이터(Intensive Longitudinal Data)를 분석하기 위해 시계열 분석, 다층 모형(MLM), 그리고 구조방정식 모형(SEM)을 하나로 통합한 혁신적인 프레임워크입니다.

오늘 우리는 이 이론을 교육 현장의 예시를 통해 아주 쉽게 풀어보고, 실제로 어떻게 데이터를 다루는지 살펴보겠습니다.

1. DSEM의 핵심: 세 가지 전통의 결합

DSEM은 단순히 복잡한 통계가 아니라, 우리가 데이터를 바라보는 세 가지 관점을 합친 것입니다.

  1. 시계열 분석 (N=1N=1): 한 학생이 어제의 학습 무기력에서 오늘 얼마나 영향을 받는지(자기회귀), 또는 어제의 스트레스가 오늘의 학습 참여에 어떤 영향을 주는지(교차 지연)를 분석합니다.
  2. 다층 모형 (Multilevel): 학생들마다 스트레스에 반응하는 정도가 다를 수 있습니다. 이러한 개인차를 ‘무작위 효과(Random Effects)’로 다룹니다.
  3. 구조방정식 (SEM): 그 개인차(예: 스트레스에 민감한 정도)가 그 학생의 ‘회복탄력성’이라는 잠재 변수 때문은 아닌지, 혹은 성적에 영향을 주는지 분석합니다.

2. 교육 현장 사례: “학습 스트레스와 수업 참여”

이해를 돕기 위해 가상의 시나리오를 만들어 봅시다.

연구 스토리:

어느 고등학교에서 학생들의 ‘수업 참여도(Engagement)’와 ‘학업 스트레스(Stress)’ 사이의 역동을 연구합니다. 100명의 학생에게 스마트폰 앱을 통해 10일간 하루 5번씩 실시간으로 상태를 기록하게 했습니다(경험샘플링법). 연구 중간에 일부 학급에는 ‘명상 프로그램(처치)’을 실시했습니다.

주요 변수 정의

  • yity_{it} (수업 참여도): ii번째 학생의 tt시점 참여도.
  • xitx_{it} (학업 스트레스): 이전 측정 시점부터 현재까지 겪은 스트레스.

3. 단계별 모델링 분석

DSEM의 유연성을 보여주기 위해 세 가지 단일 수준(N=1N=1) 모델부터 시작해 봅시다.

1단계: 단순 회귀 모델 (Model 1)

동일 시점의 스트레스가 참여도에 주는 영향을 봅니다.

yt=ν+βxt+ζty_{t} = \nu + \beta x_{t} + \zeta_{t}

  • 교육적 의미: 지금 당장 스트레스를 받으면 지금 수업 참여도가 떨어지는지를 확인합니다.

2단계: 시계열 모델 (Model 2)

여기에 자기회귀(Autoregression, ϕ\phi)를 추가합니다.

yt=ν+ϕyt1+βxt+ζty_{t} = \nu + \phi y_{t-1} + \beta x_{t} + \zeta_{t}

  • 교육적 의미: 관성(Inertia) 개념입니다. 수업에 한 번 집중하기 시작한 학생이 그 상태를 얼마나 유지하는지(ϕ\phi)를 측정합니다.

3단계: 이변량 시계열 모델 (Model 3)

스트레스와 참여도가 서로 주고받는 영향을 모두 고려합니다.

yt=νy+ϕyyt1+βyxt+ζyty_{t} = \nu_{y} + \phi_{y} y_{t-1} + \beta_{y} x_{t} + \zeta_{yt}

xt=νx+ϕxxt1+βxyt1+ζxtx_{t} = \nu_{x} + \phi_{x} x_{t-1} + \beta_{x} y_{t-1} + \zeta_{xt}

  • 교육적 의미: 스트레스가 참여도를 낮추기도 하지만(βy\beta_{y}), 반대로 어제 수업에 참여하지 못한 자책감이 오늘 더 큰 스트레스를 유발하는지(βx\beta_{x}) 분석합니다.

4. 다층 DSEM과 SEM의 결합

이제 이를 전체 학생으로 확장합니다. 모든 학생의 ϕ\phiβ\beta가 같을 순 없겠죠? DSEM은 이 파라미터들을 무작위 슬로프(Random Slopes)로 처리하여 학생마다 다른 값을 갖게 합니다.

또한, 이러한 개인차를 ‘기초 학력’이나 ‘성격’ 같은 변수로 설명할 수 있습니다. 예를 들어, ‘우울감(Depression)’ 점수가 높은 학생일수록 스트레스가 참여도를 떨어뜨리는 효과(βy\beta_{y})가 더 강력하게 나타나는지(교차 수준 상호작용)를 SEM 모델로 검증할 수 있습니다.

5. 실전 데이터 분석 (R 활용)

현재 jamovi의 기본 모듈에는 Mplus 수준의 DSEM을 완벽히 구현하는 기능이 제한적이므로, 학계에서 널리 쓰이는 R의 brms 패키지를 활용한 분석 코드를 제안합니다.

모의 데이터 생성 및 분석 스크립트

R

# 필요한 라이브러리 로드
library(brms)
library(tidyverse)

# 1. 모의 데이터 생성 (100명 학생, 50회 반복 측정)
set.seed(2026)
n_students <- 100
n_timepoints <- 50

sim_data <- expand.grid(student = 1:n_students, time = 1:n_timepoints) %>%
  group_by(student) %>%
  mutate(
    # 학업 스트레스 (X) 생성
    stress = arima.sim(list(ar = 0.3), n = n_timepoints) + rnorm(1, 0, 1),
    # 수업 참여도 (Y) 생성: 자기회귀 + 스트레스 영향 + 개인차
    engagement = 0
  )

# 참여도 데이터 생성 (동적 프로세스 반영)
for(i in 2:n_timepoints) {
  sim_data <- sim_data %>%
    group_by(student) %>%
    mutate(engagement = ifelse(time == i, 
                               0.5 * lag(engagement) - 0.3 * stress + rnorm(1, 0, 0.5), 
                               engagement))
}

# 2. DSEM 모델 구성 (자기회귀 및 무작위 효과 포함)
# engagement_t ~ engagement_{t-1} + stress + (1 + engagement_{t-1} + stress | student)
model_formula <- bf(
  engagement ~ 1 + lag_engagement + stress + (1 + lag_engagement + stress | student)
)

# 데이터 전처리: 시차 변수(Lag) 생성
sim_data <- sim_data %>%
  group_by(student) %>%
  mutate(lag_engagement = lag(engagement)) %>%
  drop_na()

# 3. 모델 추정 (Bayesian)
# 실제 실행 시 시간이 소요되므로 iterations는 조절 필요
fit_dsem <- brm(
  formula = model_formula,
  data = sim_data,
  family = gaussian(),
  cores = 4, 
  iter = 2000
)

# 4. 결과 시각화
summary(fit_dsem)
plot(conditional_effects(fit_dsem), points = TRUE)

6. 결론 및 시사점

DSEM은 교육 연구자들에게 “학생이 어떻게 변해가는가?”에 대한 현미경 같은 시각을 제공합니다.

  • 치료 및 중재 효과 확인: 명상 프로그램이 학생의 스트레스 민감도(β\beta)를 실제로 낮추었는지 확인할 수 있습니다.
  • 예측력: 단순히 현재 상태를 아는 것을 넘어, 과거의 패턴을 통해 내일의 학습 위기를 예측할 수 있게 합니다.

DSEM은 아직 새로운 분야이기에 잔차의 정규성 가정 위반이나 모형 적합도 평가 등 해결해야 할 과제들이 남아 있지만, 집중 종단 데이터를 다루는 가장 강력한 도구임은 틀림없습니다.

참고문헌

  • Asparouhov, T., Hamaker, E. L., & Muthén, B. (2018). Dynamic structural equation modeling. Structural Equation Modeling: A Multidisciplinary Journal, 25(3), 359-388.
  • Bolger, N., Davis, A., & Rafaeli, E. (2003). Diary methods: Capturing life as it is lived. Annual Review of Psychology, 54, 579-616.
  • Hamaker, E. L., Asparouhov, T., & Muthén, B. (2022). Dynamic structural equation modeling as a combination of time series modeling, multilevel modeling, and structural equation modeling. In Handbook of Structural Equation Modeling.
  • Kuppens, P., Allen, N. B., & Sheeber, L. B. (2010). Emotional inertia and psychological maladjustment. Psychological Science, 21(7), 984-991.
  • Raudenbush, S. W., & Bryk, A. S. (2002). Hierarchical linear models: Applications and data analysis methods (2nd ed.). Sage.