카테고리 보관물: 교육통계

교육통계

Chap 33. 잠재 특성 상태 모형

안녕하세요. 이번 주제는 교육 현장에서 학생들의 심리적 특성이 시간이 지남에 따라 어떻게 변화하는지를 정밀하게 분석할 수 있는 잠재 특성-상태 모형(Latent Trait-State Models, LTS)입니다.

많은 연구자가 학생의 ‘학업 열의’나 ‘자아효능감’을 측정할 때, 이것이 변하지 않는 학생 고유의 기질(Trait)인지, 아니면 그날의 기분이나 환경에 따라 변하는 상태(State)인지 고민합니다. 과거에는 이 둘을 이분법적으로 보았지만, 현대 통계학은 이 두 가지가 공존한다고 봅니다.

1. 변하는 것과 변하지 않는 것

교육학 데이터를 다루다 보면 동일한 학생을 여러 시점에 걸쳐 추적 조사(종단 연구)하게 됩니다. 이때 우리가 얻는 점수는 두 가지 성분의 합으로 볼 수 있습니다.

  1. 시간 불변 성분 (Time-Invariant Component, II): 흔히 ‘특성(Trait)’이라고 부릅니다. 시간이 흘러도 변하지 않는 학생의 고유한 기준점입니다. 1년이 지나도, 2년이 지나도 개인차의 상관관계는 1.0이라고 가정합니다.
  2. 시간 가변 성분 (Time-Varying Component, VV): 흔히 ‘상태(State)’ 또는 ‘상황(Occasion)’이라고 부릅니다. 특정 시점에만 영향을 미치는 변동성입니다. 이 성분은 시간이 지날수록 상관관계가 낮아지는 자기회귀(Autoregressive) 속성을 가집니다.

이 장의 목표는 관측된 점수에서 이 두 가지 성분을 분리해 내는 구조방정식 모형(SEM)을 배우는 것입니다.

2. 기본 모형: 단변량 특성-상태-오차 모형 (Kenny-Zautra)

가장 기초적인 모형은 Kenny와 Zautra(1995)가 제안한 모형입니다.

2.1 개념

이 모형은 각 시점(tt)마다 하나의 측정 변수(YY)만 있을 때 사용합니다.

Yt=I+Vt+EtY_t = I + V_t + E_t

여기서 EE는 측정 오차입니다. VV는 이전 시점의 VV에 영향을 받는 자기회귀 구조를 가집니다(Vt=βVt1+ϵV_t = \beta V_{t-1} + \epsilon).

2.2 한계점

이 모형은 단순하고 우아하지만, 실제 분석에서는 자주 실패합니다.

  • 수렴이 잘 안 되거나 범위를 벗어난 추정치(Heywood case)가 나오기 쉽습니다.
  • 안정적인 결과를 얻으려면 표본 크기가 매우 커야 하고(500명 이상 권장), 4번 이상의 측정 시점이 필요합니다.

따라서 우리는 더 강력하고 안정적인 다변량 모형으로 넘어갑니다.

3. 다변량 특성-상태-상황 (Trait-State-Occasion, TSO) 모형

교육 연구에서는 보통 하나의 구성개념을 측정하기 위해 여러 개의 문항(예: 학업열의 1, 2, 3번 문항)을 사용합니다. 이를 활용한 것이 TSO 모형입니다.

3.1 모형의 구조

이 모형은 각 시점(tt)의 잠재변수(LtL_t)를 추출한 뒤, 이 잠재변수를 다시 IIVV로 분해합니다.

Lt=I+VtL_t = I + V_t

이 모형의 장점은 측정 오차를 잠재변수 단계에서 미리 걸러내기 때문에, IIVV의 분산을 더 정확하게 추정할 수 있다는 점입니다.

4. 실습: 가상의 교육 데이터 시나리오

여러분의 이해를 돕기 위해 가상의 고등학교 데이터를 생성하여 실습해 보겠습니다.

4.1 시나리오: “우리 학교 학생들은 학교를 얼마나 좋아하는가?”

  • 연구 주제: 고등학생의 ‘학교 소속감(School Belonging)’ 변화 연구
  • 대상: 고등학교 1학년 신입생 500명
  • 기간: 1학년 1학기부터 2학년 2학기까지 총 4학기 (4 Waves)
  • 측정 도구: 학교 소속감 척도 3문항 (Item 1, 2, 3)
    • Item 1: 나는 이 학교의 일원이라고 느낀다.
    • Item 2: 나는 학교에 오면 마음이 편하다.
    • Item 3: 선생님과 친구들은 나를 존중해 준다.
  • 가정:
    • 학생마다 타고난 사교성(Trait, II)이 존재함.
    • 학기마다 담임선생님이나 짝꿍에 따라 소속감(State, VV)이 변동함.
    • 지난 학기의 기분이 이번 학기에 영향을 줌(Autoregression).

4.2 데이터 생성 및 분석 도구 (R & jamovi)

jamovi 자체에는 복잡한 종단 구조방정식을 위한 메뉴가 없지만, SEMLj 모듈(lavaan 기반)을 설치하면 분석이 가능합니다. 혹은 R의 lavaan 패키지를 직접 사용할 수도 있습니다.

아래는 R을 사용하여 이 시나리오에 맞는 데이터를 생성하고 분석하는 코드입니다. 이 코드를 RStudio에서 실행하거나, 생성된 데이터를 jamovi로 불러와 분석할 수 있습니다.

R

# 필수 패키지 로드
if(!require(lavaan)) install.packages("lavaan")
if(!require(MASS)) install.packages("MASS")

set.seed(2026) # 재현성을 위한 시드 설정

# 1. 데이터 생성 시뮬레이션
N <- 500 # 표본 크기 (안정적 추정을 위해 500명 설정)
Waves <- 4

# 잠재 변수 생성
# Trait (I): 시간 불변 성분 (평균 0, 분산 0.5)
Trait <- rnorm(N, 0, sqrt(0.5))

# State (V): 시간 가변 성분 (자기회귀 구조)
V <- matrix(0, N, Waves)
beta <- 0.4 # 자기회귀 계수 (이전 시점이 다음 시점에 미치는 영향)
V[,1] <- rnorm(N, 0, sqrt(0.5)) # 첫 시점
for(t in 2:Waves){
  # Vt = beta * V(t-1) + disturbance
  V[,t] <- beta * V[,t-1] + rnorm(N, 0, sqrt(0.5 * (1 - beta^2))) 
}

# 관측 변수 (Y) 생성: Y = Loading*L + Error
# L = Trait + State
Data <- data.frame(ID = 1:N)
loadings <- c(1.0, 0.9, 0.8) # 문항별 요인적재량 (비등가 가정)

for(t in 1:Waves){
  Latent_L <- Trait + V[,t]
  for(k in 1:3){ # 3개의 문항
    # 측정 오차 추가
    error <- rnorm(N, 0, 0.3) 
    # 변수명 생성 (예: T1_Item1)
    var_name <- paste0("T", t, "_Item", k)
    Data[[var_name]] <- loadings[k] * Latent_L + error
  }
}

# 생성된 데이터 확인
head(Data)
write.csv(Data, "School_Belonging_Longitudinal.csv", row.names=FALSE)

5. TSO 모형 분석 단계 (jamovi SEMLj / lavaan 문법)

이제 위에서 만든 데이터를 가지고 실제 TSO 모형을 분석해 봅니다. TSO 모형은 문법이 다소 복잡하므로 꼼꼼히 작성해야 합니다.

5.1 분석 전략: 비등가 측정 및 공유된 방법 변량

초기 TSO 모형은 모든 문항의 영향력이 같다고 가정(타우-동등)했으나, 이는 현실적이지 않습니다. 또한, 같은 문항을 반복 측정하면 방법 효과(Method Effect)가 발생하여 오차끼리 상관이 생깁니다. 이를 반영한 상관된 고유성(Correlated Uniqueness, CU) 모델을 사용해야 편의(bias)를 줄일 수 있습니다.

5.2 lavaan 문법 (jamovi의 SEMLj 모듈에 붙여넣기)

R

# TSO Model Syntax

# 1. 각 시점(Wave)의 잠재변수(L) 정의 (Latent Variables)
L1 =~ 1*T1_Item1 + T1_Item2 + T1_Item3
L2 =~ 1*T2_Item1 + T2_Item2 + T2_Item3
L3 =~ 1*T3_Item1 + T3_Item2 + T3_Item3
L4 =~ 1*T4_Item1 + T4_Item2 + T4_Item3

# 2. 측정 불변성 가정 (Factor Loadings Equality across waves)
# 같은 문항은 시간이 지나도 같은 요인 적재량을 가져야 함
L1 =~ l2*T1_Item2 + l3*T1_Item3
L2 =~ l2*T2_Item2 + l3*T2_Item3
L3 =~ l2*T3_Item2 + l3*T3_Item3
L4 =~ l2*T4_Item2 + l3*T4_Item3

# 3. 측정 오차의 공분산 (Correlated Uniqueness) - 방법 효과 통제
T1_Item1 ~~ T2_Item1 + T3_Item1 + T4_Item1
T2_Item1 ~~ T3_Item1 + T4_Item1
T3_Item1 ~~ T4_Item1

T1_Item2 ~~ T2_Item2 + T3_Item2 + T4_Item2
T2_Item2 ~~ T3_Item2 + T4_Item2
T3_Item2 ~~ T4_Item2

T1_Item3 ~~ T2_Item3 + T3_Item3 + T4_Item3
T2_Item3 ~~ T3_Item3 + T4_Item3
T3_Item3 ~~ T4_Item3

# 4. 특성(Trait)과 상태(State)로 분해
# Trait (I)는 모든 시점의 L에 동일한 영향(1.0)을 미침
Trait =~ 1*L1 + 1*L2 + 1*L3 + 1*L4

# State (V) 정의: L = I + V 이므로, L을 구성하는 잔차(residual)가 곧 State가 됨
# 하지만 lavaan에서는 별도의 State 잠재변수를 만드는 것이 명확함.
# 여기서는 L의 잔차를 V로 개념화하는 방식을 주로 씀.
# 더 명시적인 TSO 모델링을 위해 State 잠재변수(S)를 정의함.

S1 =~ 1*L1
S2 =~ 1*L2
S3 =~ 1*L3
S4 =~ 1*L4

# 5. Trait와 State의 관계 설정
# Trait와 State는 서로 독립
Trait ~~ 0*S1 + 0*S2 + 0*S3 + 0*S4

# 6. State의 자기회귀 구조 (Autoregression) 
S2 ~ beta*S1
S3 ~ beta*S2
S4 ~ beta*S3

# 7. 식별을 위한 제약 조건 (Trait 분산 추정, State 잔차 분산 등)
Trait ~~ NA*Trait # Trait 분산 자유 추정
S1 ~~ S1 # 첫 시점 State 분산 자유 추정

[해석 팁]

  • Trait의 분산: 학생 고유의 ‘학교 소속감’ 기질이 얼마나 차이가 나는지 보여줍니다.
  • State의 자기회귀 계수(beta): 이전 학기의 소속감이 다음 학기로 얼마나 이월되는지 보여줍니다. 이 값이 1에 가까우면 변화가 거의 없는 것이고, 0에 가까우면 매 학기 새롭게 리셋되는 것입니다.
  • 오차 상관: 문항 자체의 특성 때문에 생기는 상관관계를 제거하여 순수한 Trait와 State를 발라내는 역할을 합니다.

6. 심화: 잠재 평균을 포함한 확장된 TSO 모형

단순히 분산(변동성)만 보는 것이 아니라, “어떤 집단이 전반적으로 소속감이 더 높은가?”를 알고 싶다면 평균 구조(Mean Structure)를 포함해야 합니다.

6.1 연구 질문의 확장

  • 남학생과 여학생 간에 ‘학교 소속감’의 Trait 평균(E(I)E(I))에 차이가 있는가?
  • 특정 시점(예: 2학년 1학기)에 소속감의 State 평균(E(Vt)E(V_t))이 급격히 떨어지는가?

6.2 분석 방법

다집단 분석(Multi-group analysis)을 수행합니다. 제약 조건은 StateState들의 평균 합을 0으로 설정하여, TraitTrait의 평균이 전체 기간의 ‘그랜드 평균(Grand Mean)’을 의미하도록 합니다.

결과 해석 예시:

“분석 결과, 여학생 집단이 남학생 집단보다 Trait 평균이 유의하게 높았다(p<.05p < .05). 이는 여학생이 전반적으로 학교에 대한 소속감이 더 높음을 의미한다. 반면, 2학년 1학기의 State 평균은 두 집단 모두에서 음수(-)로 나타났는데, 이는 ‘학업 스트레스’라는 상황적 요인이 학생들의 소속감을 일시적으로 낮추었음을 시사한다.”

7. 결론 및 제언

LTS(잠재 특성-상태) 모형은 교육학 데이터처럼 인간의 심리가 ‘변하지 않는 기질’‘변하는 상태’의 혼합물이라는 점을 통계적으로 명확히 규명해 줍니다.

이 모형을 사용할 때의 핵심 요약:

  1. 데이터: 최소 4시점 이상, 표본 수 200명 이상(안정적으로는 500명) 확보하세요.
  2. 모형: Kenny-Zautra(단변량)보다는 TSO(다변량) 모형을 우선 고려하세요.
  3. 오차: 반복 측정으로 인한 방법 효과(오차 상관)를 반드시 모형에 포함하세요.

여러분의 연구가 학생들의 성장을 단순히 점수의 변화로만 보는 것을 넘어, 그 이면의 안정성(Trait)가변성(State)의 역동을 이해하는 깊이 있는 연구가 되기를 바랍니다.

참고문헌

  • Cole, D. A., & Martin, N. C. (2005). The longitudinal structure of the Children’s Depression Inventory: Testing a latent trait-state model. Psychological Assessment, 17(2), 144–155.
  • Cole, D. A., Martin, N. C., & Steiger, J. H. (2005). Empirical and conceptual problems with longitudinal trait-state models: Introducing a trait-state-occasion model. Psychological Methods, 10, 3–20.
  • Ciesla, J. A., Cole, D. A., & Steiger, J. H. (2007). Extending the trait-state-occasion model: How important is within-wave measurement equivalence? Structural Equation Modeling, 14, 77–97.
  • Herzog, C., & Nesselroade, J. R. (1987). Beyond autoregressive models: Some implication of the trait-state distinction for the structural modeling of developmental change. Child Development, 58, 93–109.
  • Kenny, D. A., & Zautra, A. (1995). The trait-state-error model for multiwave data. Journal of Consulting and Clinical Psychology, 63, 52–59.
  • LaGrange, B., & Cole, D. A. (2008). An expansion of the trait-state-occasion model: Accounting for shared method variance. Structural Equation Modeling, 15(2), 241–271.
  • Spielberger, C. D. (1966). Theory and research on anxiety. In Anxiety and behavior (pp. 23–62). New York: Academic Press.

Chap 32. 연속 시간 동적 모형

안녕하세요? 이번에는 “연속 시간 동적 모형(Contnuous-Time Dynamic Models)”에 관한 내용입니다. 우리가 흔히 사용하는 이산 시간(Discrete-Time) 모형(예: SEM, VAR)과 연속 시간 모형(SDE)을 어떻게 연결하고, 왜 연속 시간 관점이 필요한지를 살펴보겠습니다.

jamovi는 훌륭한 도구이지만, 이 챕터에서 다루는 확률 미분 방정식(SDE)이나 칼만 필터 기반의 동적 모형을 직접적으로 수행하는 모듈은 아직 제한적입니다. 따라서 지침에 따라 R 언어를 사용하여 시뮬레이션과 분석을 구현하고, 그 결과와 의미를 교육적 맥락에서 아주 쉽게 설명해 드리겠습니다.

1. 왜 ‘연속 시간’인가?

교육 심리학 연구에서 우리는 종종 “학생들의 학습 동기가 어떻게 변화하는가?” 또는 “시험 불안은 시간에 따라 어떻게 오르내리는가?”와 같은 질문을 던집니다. 전통적인 연구에서는 1학기 초, 1학기 말, 2학기 초와 같이 띄엄띄엄(이산적으로) 데이터를 수집했습니다.

하지만 스마트폰과 웨어러블 기기의 발달로 생태학적 순간 평가(EMA)경험 표집법(ESM)이 가능해졌습니다. 이제 우리는 학생들에게 불규칙한 간격(예: 삐삐나 알람이 울릴 때)으로 설문을 보낼 수 있습니다.

여기서 문제가 발생합니다.

  • 이산 시간 모형(Discrete-Time Model): 모든 측정 간격이 동일하다고 가정합니다 (예: 매일 같은 시간).
  • 현실: 철수는 2시간 뒤에 응답하고, 영희는 5시간 뒤에 응답합니다. 간격이 제각각입니다.

이 불규칙함을 무시하고 분석하면 엉뚱한 결론이 나옵니다. 이를 해결하기 위해 시간이 끊어지지 않고 흐른다고 가정하는 연속 시간 동적 모형(Continuous-Time Dynamic Models)이 필요합니다.

2. 핵심 이론: 선형 확률 미분 방정식 (Linear SDE)

이 챕터의 핵심은 SDE(Stochastic Differential Equation)입니다. 수식이 복잡해 보이지만, 교육적 예시로 보면 간단합니다.

2.1. 기본 개념

어떤 학생의 ‘학업 몰입도(η\eta)’가 시간에 따라 변한다고 가정해 봅시다.

dη(t)=[b+Aη(t)]dt+GdW(t)d\eta(t) = [b + A\eta(t)]dt + G dW(t)

이 식은 다음 두 가지 힘의 싸움입니다:

  1. 결정적 변화 (Drift, AA): 학생의 몰입도가 본래의 상태로 돌아가려는 힘입니다. 예를 들어, 수업 중 딴생각을 하다가도 다시 집중하려고 노력하는 ‘회복력’과 같습니다.
  2. 확률적 변화 (Diffusion, GG): 예측할 수 없는 외부 충격입니다. 갑자기 창밖에서 공사 소리가 들리거나, 친구가 말을 거는 것과 같은 ‘노이즈’입니다.

2.2. 이산 시간 모형과의 연결 (EDM)

우리가 수집하는 데이터는 연속적이지 않고 특정 시점(t1,t2...t_1, t_2…)에만 있습니다. SDE를 우리가 분석할 수 있는 형태(이산 시간)로 바꾸면 구조방정식(SEM)의 형태가 됩니다9.

이때 가장 중요한 마법의 공식은 행렬 지수함수(Matrix Exponential)입니다.

AΔt=eAΔtA_{\Delta t} = e^{A \Delta t}

이 식은 “연속적으로 흐르는 시간(AA)”을 “우리가 관찰한 시간 간격(Δt\Delta t)”만큼 잘라내어 계수로 만드는 역할을 합니다.

3. 예시 연구 I: 학생의 ‘정서적 안녕감’ 변화 (Ornstein-Uhlenbeck 모형)

첫 번째 예시로 Ornstein-Uhlenbeck (OU) 모형을 살펴보겠습니다. 이 모형은 “항상성(Homeostasis)”을 설명하기 좋습니다. 학생들의 기분은 일시적으로 좋아지거나 나빠질 수 있지만, 결국 자신의 고유한 ‘기본 상태(Set point)’로 돌아오는 경향이 있습니다.

3.1. 가상의 시나리오

우리는 고등학생 100명을 대상으로 시험 기간 일주일 동안 앱을 통해 ‘학업 스트레스’와 ‘학업 효능감’을 측정했습니다. 알림은 무작위로 울렸기 때문에 측정 간격(Δt\Delta t)은 0.1시간부터 10시간까지 다양합니다.

  • 변수 1 (η1\eta_1): 학업 스트레스
  • 변수 2 (η2\eta_2): 학업 효능감

3.2. 분석 및 시뮬레이션 (R 활용)

𝐀=𝐁=[0.10.050.050.1]\mathbf{A} = -\mathbf{B} = -\begin{bmatrix} 0.1 & -0.05 \\ -0.05 & 0.1 \end{bmatrix}

𝐛=𝐁𝝁=[0.10.050.050.1][5.765.18]=[0.320.23]\mathbf{b} = \mathbf{B}\boldsymbol{\mu} = \begin{bmatrix} 0.1 & -0.05 \\ -0.05 & 0.1 \end{bmatrix} \begin{bmatrix} 5.76 \\ 5.18 \end{bmatrix} = \begin{bmatrix} 0.32 \\ 0.23 \end{bmatrix} \quad

𝐆=[1.6700.061.671.672×1.8120.0621.67]\mathbf{G} = \begin{bmatrix} 1.67 & 0 \\ \frac{0.06}{1.67} & \frac{\sqrt{1.67^2 \times 1.81^2 – 0.06^2}}{1.67} \end{bmatrix}

such that

𝐆𝐆=𝐐=[2.790.060.063.27]\mathbf{GG’} = \mathbf{Q} = \begin{bmatrix} 2.79 & 0.06 \\ 0.06 & 3.27 \end{bmatrix}

위 수식에 제시된 파라미터를 사용하여 데이터를 생성하고, 시각화해 보겠습니다. 본문에서는 dynr 패키지를 사용했지만12, 여기서는 원리를 보여드리기 위해 직접 생성 코드를 작성합니다.

R

3.3. 결과 해석 및 교육적 함의

# R 코드: OU 모형 시뮬레이션 및 시각화
set.seed(1234)
library(ggplot2)
library(MASS) # for mvrnorm

# 1. 파라미터 설정 (본문 Eq 32.25 참조) [cite: 207]
# Drift Matrix (A): 음수일수록 원래 상태로 빨리 돌아옴 (안정적)
A <- matrix(c(-0.1, 0.05, 
              0.05, -0.1), nrow=2, byrow=TRUE)

# Diffusion Matrix (G): 노이즈의 크기
G <- matrix(c(1.67, 0, 
              0.036, 1.81), nrow=2, byrow=TRUE) # Q의 제곱근 근사

# 초기값
eta <- c(0, 0)
dt <- 0.1 # 데이터 생성 간격 (아주 짧게 설정하여 연속 시간 흉내)
T_points <- 100
data_list <- list()

# 2. 데이터 생성 (Euler-Maruyama 방법)
for(i in 1:T_points) {
  # dW는 정규분포를 따르는 노이즈 [cite: 39]
  dW <- rnorm(2, mean=0, sd=sqrt(dt)) 
  
  # SDE 식 적용: 변화량 = (Drift * dt) + (Diffusion * dW)
  d_eta <- (A %*% eta) * dt + (G %*% dW)
  eta <- eta + d_eta
  
  data_list[[i]] <- data.frame(Time = i * dt, 
                               Stress = eta[1], 
                               Efficacy = eta[2])
}

df_sim <- do.call(rbind, data_list)

# 3. 시각화
ggplot(df_sim, aes(x=Time)) +
  geom_line(aes(y=Stress, color="학업 스트레스"), size=1) +
  geom_line(aes(y=Efficacy, color="학업 효능감"), size=1, linetype="dashed") +
  theme_minimal() +
  labs(title = "연속 시간 OU 모형 시뮬레이션: 스트레스와 효능감의 변화",
       subtitle = "본문의 예제 1 (Eq 32.25) 기반 재구성",
       y = "잠재 변수 수준", x = "시간 (Time)") +
  scale_color_manual(name="변수", values=c("학업 스트레스"="firebrick", "학업 효능감"="steelblue"))

위 그래프(R 코드로 생성 가능)를 보면 스트레스와 효능감이 서로 얽혀서 변하는 것을 볼 수 있습니다.

  • 안정성(Stability): 행렬 AA의 고유값(Eigenvalues)이 모두 음수라면(본문에서는 B=AB=-A가 양의 정부호), 학생의 상태는 시간이 지나면 안정을 찾습니다.
  • 불규칙한 간격의 문제: 만약 우리가 이 데이터를 매우 긴 간격(Δt=10\Delta t=10)으로 측정했다면, 스트레스가 효능감에 미치는 즉각적인 영향을 놓치거나 왜곡해서 해석했을 것입니다. 아래 표는 측정 간격이 커질수록 변수 간의 관계(회귀계수)가 어떻게 달라지는지 보여줍니다. 간격이 넓어지면 자기회귀 계수는 작아지고, 교차 회귀 계수의 해석이 모호해질 수 있습니다.

4. 예시 연구 II: 큐빅 스플라인(Cubic Spline)과 결측치 보간

두 번째 예시는 큐빅 스플라인 모형입니다. 이것은 데이터가 아주 불규칙하거나 결측치가 많을 때, 그 사이를 부드러운 곡선으로 채워넣는(Interpolation) 기법입니다.

4.1. 가상의 시나리오: 난독증 학생의 읽기 유창성

난독증 위험군 학생 3명을 대상으로 읽기 유창성 검사를 실시했습니다. 그런데 학교 행사, 결석 등으로 인해 검사 시점이 학생마다 제각각입니다. 이를 억지로 같은 간격으로 취급하면(예: 1회차, 2회차…) 성장 패턴을 오해하게 됩니다.

4.2. 큐빅 스플라인의 원리

이 모형은 2차 SDE로 표현됩니다.

  • μ(t)\mu(t): 학생의 현재 읽기 능력 (Local Level)
  • β(t)\beta(t): 읽기 능력의 변화 속도 (Local Slope)

이 모형은 측정 오차를 걸러내고, 잠재적인 진짜 성장 곡선을 추정해 줍니다.

4.3. R 시뮬레이션 (불규칙 시점 데이터 보간)

R

# R 코드: 큐빅 스플라인 보간 예시
library(ggplot2)

# 1. 가상 데이터 생성 (불규칙한 시점)
# 학생 A는 1, 2, 4, 8주차에 측정
time_obs <- c(1, 2, 4, 8)
score_obs <- c(20, 25, 35, 42) # 읽기 점수

# 2. 큐빅 스플라인 보간 (SDE의 해석적 해와 유사)
spline_fit <- smooth.spline(time_obs, score_obs, df=3)

# 3. 예측 (1주부터 8주까지 모든 시점)
time_pred <- seq(1, 8, by=0.1)
score_pred <- predict(spline_fit, time_pred)$y

df_raw <- data.frame(Time=time_obs, Score=score_obs)
df_pred <- data.frame(Time=time_pred, Score=score_pred)

# 4. 시각화
ggplot() +
  geom_line(data=df_pred, aes(x=Time, y=Score), color="purple", size=1, alpha=0.6) +
  geom_point(data=df_raw, aes(x=Time, y=Score), color="black", size=3) +
  geom_text(data=df_raw, aes(x=Time, y=Score, label=Score), vjust=-1.5) +
  theme_minimal() +
  labs(title = "읽기 유창성 점수의 큐빅 스플라인 보간",
       subtitle = "불규칙한 측정 시점(검은 점) 사이를 연속적으로 추정(보라색 선)",
       x = "주차 (Week)", y = "읽기 점수") +
  ylim(15, 50)

4.4. 교육적 함의

  • 결측치 해결: 아래 그림에서 볼 수 있듯이, 불규칙한 데이터를 강제로 등간격으로 가정하면(잘못된 간격), 학생의 성장 궤적이 왜곡됩니다.
  • 정확한 피드백: 스플라인 모형을 통해 우리는 측정이 이루어지지 않은 날의 학생 상태도 추정할 수 있어, 보다 적시에 중재(intervention)를 할 수 있습니다.

5. 결론 및 제언

본 챕터는 다소 난해할 수 있는 연속 시간 모형이 교육 및 심리 연구에 왜 필요한지를 역설하고 있습니다.

  1. 현실 반영: 학생들의 삶은 불규칙합니다. 연속 시간 모형은 이를 있는 그대로 반영합니다.
  2. 모형의 유연성: SDE 프레임워크를 사용하면 VAR(벡터 자기회귀), SVAR(구조적 벡터 자기회귀) 모형 등으로 자유롭게 변환하여 해석할 수 있습니다.
  3. 도구의 확장: Mplus나 R의 dynr, ctsem 같은 도구를 통해 이제는 교육 연구자들도 이러한 고급 분석을 수행할 수 있습니다.

여러분의 연구에서 데이터 수집 간격이 불규칙하거나, 시간에 따른 변화의 ‘메커니즘’을 정밀하게 보고 싶다면, 연속 시간 동적 모형은 강력한 무기가 될 것입니다.

참고문헌

  • Chow, S.-M., Losardo, D., Park, J., & Molenaar, P. C. M. (2016). Continuous-time dynamic models: Connections to structural equation models and other discrete-time models. In Handbook of Structural Equation Modeling (pp. 597–614).
  • Boker, S. M., & Graham, J. (1998). A dynamical systems analysis of adolescent substance abuse. Multivariate Behavioral Research, 33, 479-507.
  • Driver, C., Oud, J., & Voelkle, M. (2017). Continuous time structural equation modeling with R package ctsem. Journal of Statistical Software, 77(5), 1-35.
  • Oravecz, Z., Tuerlinckx, F., & Vandekerckhove, J. (2011). A hierarchical latent stochastic differential equation model for affective dynamics. Psychological Methods, 16, 468-490.
  • Ou, L., Hunter, M. D., & Chow, S. (2019). What’s for dynr: A package for linear and nonlinear dynamic modeling in R. The R Journal.

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.

Chap 30. 잠재곡선 모델링

안녕하세요?
이번에는 현대 교육 연구에서 개인의 변화를 추적하고 분석하는 가장 강력한 도구 중 하나인 잠재곡선 모델링(Latent Curve Modeling, LCM)에 대해 깊이 있게 다뤄보겠습니다.

종단적 성장 데이터(Longitudinal growth data)는 동일한 대상을 반복 측정하고, 동일한 척도를 사용하며, 관찰 시점을 정확히 알고 있다는 독특한 특징이 있습니다. 이러한 특징은 교육 현장에서 학생의 성취도 변화나 심리적 발달을 이해하는 데 엄청난 기회를 제공합니다.

이 글은 여러분이 jamovi(또는 R)를 활용해 직접 분석을 수행할 수 있도록 이론부터 실무까지 상세히 안내할 것입니다.

1. 잠재곡선 모델의 기초: 변화를 어떻게 정의할 것인가?

잠재곡선 모델의 핵심 아이디어는 각 개인의 반복 측정된 점수를 ‘개인별 궤적(Individual Trajectory)’으로 이해하는 것입니다. 이는 고전적인 분산 분석(ANOVA)이 집단 평균의 변화에 집중했던 것과 대조적입니다.

1.1 기본 방정식

가장 고전적인 잠재곡선 모델은 반복 측정된 관찰 점수(y[t]iy[t]_i)를 세 가지 성분으로 분해합니다.

y[t]i=f0i+B[t]f1i+u[t]iy[t]_i = f_{0i} + B[t] \cdot f_{1i} + u[t]_i

  1. 잠재 절편(f0if_{0i}): 개인 ii의 초기 수준 또는 기준점 점수입니다.
  2. 잠재 기울기(f1if_{1i}): 시간 경과에 따른 개인 ii의 변화량(성장률)입니다.
  3. 잔차(u[t]iu[t]_i): 특정 측정 시점 tt에서 발생하는 오차나 고유한 특징입니다.

여기서 기저 계수(B[t]B[t], Basis coefficients)는 변화의 형태를 결정합니다. 예를 들어, 4년간 매년 측정했다면 B[t]B[t]를 [0, 1, 2, 3]으로 고정하여 선형 성장을 가정할 수 있습니다.

2. 분석 프레임워크: SEM vs. MLM

성장 모델은 다층 모델(MLM)이나 구조방정식 모델(SEM) 프레임워크 모두에서 추정 가능하지만, 각각 장단점이 있습니다.

특징MLM (Multilevel Modeling)SEM (Structural Equation Modeling)
주요 장점비선형 궤적 직접 추정 가능, 소표본에 유리(REML 사용)복잡한 통계 모델의 일부로 포함 가능(예: 2차 요인 모델)
유연성시점 간 잔차 구조 제약적다양한 잔차 구조 설정 가능, 적합도 지수 제공

본 내용에서는 모형의 적합도를 평가하고 더 복잡한 인과 관계를 확장하기에 유리한 SEM 접근법에 초점을 맞춥니다.

3. [사례 연구] 초등학생의 어휘력 성장 분석

이론을 실생활에 적용해 봅시다. 한 초등학교에서 1학년부터 4학년까지 동일한 학생 100명을 대상으로 매년 ‘어휘력 검사(Vocabulary Test)’를 실시했다고 가정합시다.

3.1 모의 데이터 생성 배경 (Story)

  • 연구 질문: 학생들의 어휘력은 학년이 올라감에 따라 선형적으로 발달하는가? 초기 어휘력 수준이 높은 학생이 더 빠르게 성장하는가?
  • 데이터 구성: Student_ID, Grade1, Grade2, Grade3, Grade4, Family_SES(가족 사회경제적 지위).

3.2 jamovi/R 분석 가이드

jamovi의 SEMLj 모듈이나 R의 lavaan 패키지를 사용하여 분석을 수행할 수 있습니다.

R을 활용한 선형 성장 모델링 예시 코드:

R

# 1. 필요한 패키지 로드
if(!require(lavaan)) install.packages("lavaan")
library(lavaan)

# 2. 교육현장 모의 데이터 생성 (100명의 학생)
set.seed(2026) # 결과 재현을 위한 설정
n <- 100

# 가상 요인 생성
SES <- rnorm(n, 0, 1) # 사회경제적 지위 (표준화 점수)
intercept <- 50 + 5 * SES + rnorm(n, 0, 2) # 초기치 (SES 영향 포함)
slope <- 3 + 1.5 * SES + rnorm(n, 0, 0.5) # 성장률 (SES 영향 포함)

# 4개 시점 데이터 생성 (선형 성장 가정) 
Grade1 <- intercept + rnorm(n, 0, 1)
Grade2 <- intercept + 1 * slope + rnorm(n, 0, 1)
Grade3 <- intercept + 2 * slope + rnorm(n, 0, 1)
Grade4 <- intercept + 3 * slope + rnorm(n, 0, 1)

# 데이터프레임 구축 
vocab_data <- data.frame(Grade1, Grade2, Grade3, Grade4, SES)

# 3. 잠재곡선 모델(LCM) 정의
# i(intercept)와 s(slope)를 정의하고 기저 계수를 [0, 1, 2, 3]으로 고정합니다. 
lcm_model <- '
  i =~ 1*Grade1 + 1*Grade2 + 1*Grade3 + 1*Grade4
  s =~ 0*Grade1 + 1*Grade2 + 2*Grade3 + 3*Grade4

  # 조건부 모델: SES가 i와 s를 예측
  i ~ SES
  s ~ SES
'

# 4. 모델 추정 및 결과 보고
fit <- growth(lcm_model, data = vocab_data)
summary(fit, fit.measure = TRUE, standardized = TRUE)

3.3 결과 해석 가이드

분석 결과에서 여러분이 주목해야 할 핵심 파라미터는 다음과 같습니다.

1) 고정 효과 (Fixed Effects)

  • i ~ 1 (절편 평균): 우리 학교 1학년 학생들의 평균 어휘력 점수입니다.
  • s ~ 1 (기울기 평균): 학생들이 매년 평균적으로 몇 점씩 성장했는지를 나타냅니다.

2) 랜덤 효과 (Random Effects / Variances)

  • i ~~ i (절편 분산): 학생들 간의 초기 어휘력 차이가 얼마나 큰지 보여줍니다.
  • s ~~ s (기울기 분산): 학생마다 성장 속도가 얼마나 다른지(개별성)를 나타냅니다.

3) 예측 요인 해석 (Regression Paths)

  • s ~ SES: 이 값이 통계적으로 유의한 양수라면, “가정의 사회경제적 지위가 높을수록 어휘력 성장 속도가 더 빠르다”는 교육적 결론을 내릴 수 있습니다.

4. jamovi에서 수행하는 방법

R 코드가 익숙하지 않다면, jamoviSEMLj 모듈을 사용해 보세요.

  1. 데이터 준비: 위 R 스크립트로 생성한 vocab_data를 CSV로 저장하여 jamovi에서 엽니다.
  2. 모듈 실행: SEMLj -> Syntax Mode 또는 Growth Model 클릭.
  3. 변수 배치: Grade1~4를 각 시점(Time points)에 배치합니다.
  4. 기저 계수 설정: 학년별로 [0, 1, 2, 3]을 직접 입력하여 선형 모델을 구성합니다.
  5. 예측 변수: SESCovariates 칸에 넣어 성장에 미치는 영향을 확인합니다.

5. 모델의 단계적 확장과 해석

분석은 보통 간단한 모델에서 시작하여 점진적으로 매개변수를 추가합니다.

5.1 무변화 모델 (Level-only Model)

성장이 없다고 가정하는 모델입니다. 만약 이 모델의 적합도가 나쁘다면(보통 나쁩니다), 이는 학생들의 점수가 시간에 따라 변화했음을 의미합니다.

5.2 선형 성장 모델 (Linear Growth Model)

매년 일정한 속도로 성장한다고 가정합니다.

  • 평균(α2\alpha_2): 전체 학생의 평균적인 연간 성장률입니다.
  • 변량(ψ22\psi_{22}): 학생들 간에 성장 속도 차이가 얼마나 큰지 보여줍니다.
  • 공분산(ψ21\psi_{21}): 초기 수준(절편)과 성장률(기울기) 사이의 관계입니다. 교육적으로는 종종 초기값이 낮은 학생이 더 빨리 성장하는지(보상 효과)를 확인하는 데 쓰입니다.

5.3 잠재 기저 모델 (Latent Basis Model)

변화의 형태를 데이터가 스스로 결정하게 하는 모델입니다. 첫 시점을 0, 마지막 시점을 3으로 고정하고 중간 시점(λ22,λ32\lambda_{22}, \lambda_{32})을 추정합니다. 만약 추정된 값이 1.5, 2.5 등으로 나온다면, 성장이 특정 시기에 더 가속화되었음을 알 수 있습니다.

# 잠재 기저 모델 정의
latent_basis_model <- '
  # 절편(i) 정의
  i =~ 1*Grade1 + 1*Grade2 + 1*Grade3 + 1*Grade4
  
  # 잠재 기저(s) 정의: 첫 시점 0, 끝 시점 3 고정. 중간은 라벨(L2, L3)을 붙여 추정
  s =~ 0*Grade1 + L2*Grade2 + L3*Grade3 + 3*Grade4

  # i와 s의 평균 및 분산/공분산 추정 (growth 함수가 자동 수행)
'

# 모델 실행
fit_basis <- growth(latent_basis_model, data = vocab_data)

# 결과 보고
summary(fit_basis, fit.measure = TRUE, standardized = TRUE)

6. 결측치와 시간 지표의 유연성

실제 연구에서는 학생들이 전학을 가거나 특정 검사를 빠뜨리는 경우가 흔합니다.

  • 결측치 처리: SEM 프레임워크는 완전정보 최대우도법(FIML)을 사용하여 결측치가 있는 데이터를 효과적으로 처리합니다. 이는 데이터가 누락된 학생을 제외하지 않고, 남아있는 정보를 모두 사용하여 추정치를 얻는 방식입니다.
  • 가속 종단 설계(Accelerated Longitudinal Study): 짧은 기간 동안 여러 연령대의 코호트를 관찰하여, 장기적인 발달 과정을 짧은 시간 안에 재구성하는 방식입니다. 예를 들어, 1-2학년 집단과 2-3학년 집단을 동시에 관찰하여 1학년부터 3학년까지의 궤적을 연결할 수 있습니다.

7. 성장에 영향을 미치는 요인 (조건부 모델)

학생들의 성장 궤적을 설명하기 위해 시간-불변 예측 변수(Time-invariant predictors)를 추가할 수 있습니다.

f0i=α00+α01SESi+d0if_{0i} = \alpha_{00} + \alpha_{01} \cdot SES_i + d_{0i}

f1i=α10+α11SESi+d1if_{1i} = \alpha_{10} + \alpha_{11} \cdot SES_i + d_{1i}

위 식에서 사회경제적 지위(SES)가 기울기(f1if_{1i})의 유의한 예측 요인이라면, “가정 형편이 좋을수록 어휘력 성장 속도가 더 빠르다”는 결론을 내릴 수 있습니다.

8. 결론 및 향후 전망

잠재곡선 모델은 교육 현장의 복잡한 변화를 포착하는 데 필수적인 도구입니다. 최근에는 다음과 같은 고급 모델로 발전하고 있습니다:

  • 동적 SEM(DSEM): 시계열 데이터의 오차 간 자기회귀 효과까지 고려합니다.
  • 성장 혼합 모델(GMM): 서로 다른 성장 궤적을 가진 잠재 집단(예: 상위권, 정체권, 하락권)을 찾아냅니다.
  • 잠재 차이 점수 모델(LDS): 시점 간 변화량 자체의 역동성을 분석합니다.

이 도구들을 통해 여러분의 데이터 속에 숨겨진 변화의 이야기를 명확하게 들려주시길 바랍니다.

참고문헌

  • Bell, R. Q. (1953). Convergence: An accelerated longitudinal approach. Child Development, 24(3/4), 145–152.
  • Bell, R. Q. (1954). An experimental test of the accelerated longitudinal approach. Child Development, 25(4), 281–286.
  • Grimm, K. J., Ram, N., & Estabrook, R. (2017). Growth modeling: Structural equation and multilevel modeling approaches. Guilford Press.
  • McArdle, J. J. (1988). Dynamic but structural equation modeling of repeated measures data. In J. R. Nesselroade & R. B. Cattell (Eds.), Handbook of multivariate experimental psychology (pp. 561–614). Springer.
  • Meredith, W., & Tisak, J. (1990). Latent curve analysis. Psychometrika, 55(1), 107–122.
  • Muthén, B., & Shedden, K. (1999). Finite mixture modeling with mixture outcomes using the EM algorithm. Biometrics, 55(2), 463–469.
  • Wishart, J. (1938). Growth-rate determinations in nutrition studies with the bacon pig, and their analysis. Biometrika, 30(1/2), 16–28.

Chap 29. 혼합모형(Mixture Models)

안녕하세요?
이번에는 교육 연구에서 집단의 이질성을 파악하는 아주 강력한 도구인 혼합 모형(Mixture Models)에 대해 깊이 있게 다루어 보겠습니다.

과거 아리스토텔레스 시대부터 과학의 기초는 사물을 유사성에 따라 분류하는 것이었습니다. 교육 현장에서도 우리는 학생들을 단순히 ‘전체 평균’으로 보는 것이 아니라, 서로 다른 학습 양식이나 심리적 특성을 가진 여러 잠재적 집단(Latent Groups)으로 이해할 필요가 있습니다.

1. 혼합 모형의 개념과 기초

혼합 모형은 데이터가 여러 개의 하위 분포(Components)가 합쳐진 형태라고 가정하는 통계적 접근법입니다.

1.1. 왜 혼합 모형인가?

전통적인 군집 분석(K-means 등)은 학생을 특정 집단에 ‘딱’ 잘라 배정합니다(Crisp membership). 반면, 혼합 모형은 확률적 소속(Probabilistic membership)을 제공합니다. 예를 들어, 한 학생이 ‘자기주도형’ 집단에 속할 확률이 85%, ‘교사의존형’ 집단에 속할 확률이 15%라고 알려주는 식이죠. 이는 분류의 불확실성을 과학적으로 다룰 수 있게 해줍니다.

1.2. 주요 모델의 유형

심리학과 교육학에서 가장 많이 쓰이는 형태는 다음과 같습니다.

  • 잠재 프로파일 분석 (LPA): 연속형 변수(예: 시험 점수, 자아존중감 척도)를 사용하여 집단을 구분합니다.
  • 잠재 계층 분석 (LCA): 범주형/이분형 변수(예: 예/아니오 설문 응답)를 사용하여 집단을 구분합니다.

2. 모형의 추정과 의사결정

혼합 모형을 성공적으로 구현하기 위해서는 몇 가지 중요한 통계적 결정을 내려야 합니다.

2.1. EM 알고리즘과 지역 최적해(Local Optima)

혼합 모형은 보통 EM(Expectation-Maximization) 알고리즘을 통해 추정됩니다. 이 과정에서 주의할 점은 ‘가장 좋은 해’라고 생각한 결과가 사실은 특정 조건에서만 나타나는 지역 최적해(Local Optima)일 수 있다는 점입니다.

WaurimaL의 팁: 이를 방지하기 위해 무작위 시작값(Random Starts)을 충분히(예: 1,000 ~ 5,000개) 설정하는 것이 필수적입니다. 시작값이 적으면 데이터의 실제 구조를 놓칠 위험이 큽니다.

2.2. 공분산 구조의 결정

데이터의 형태(부피, 모양, 방향)를 어떻게 가정하느냐에 따라 14가지 이상의 모델이 존재합니다.

모델 유형부피 (Volume)모양 (Shape)방향 (Orientation)특징
EII동일구형해당 없음가장 제약이 많은 형태 (K-means와 유사)
VII가변구형해당 없음집단별 크기는 다르지만 모양은 동그라미
VVV가변가변가변가장 유연하며 데이터에 최적화됨

2.3. 집단 수 선정 (BIC와 ICL)

“우리 반 학생들은 몇 개의 유형으로 나뉘는가?”를 결정할 때 가장 널리 쓰이는 지표는 BIC(Bayesian Information Criterion)입니다. 일반적으로 BIC 값이 가장 작은 모델을 선택합니다. 만약 집단 간 구분이 명확한 모델을 원한다면 ICL(Integrated Completed Likelihood) 지표를 함께 고려하는 것이 좋습니다.

3. 교육 현장의 사례: “학습 동기 프로파일 분석”

이해를 돕기 위해 가상의 고등학생 200명의 데이터를 생성하여 분석해 보겠습니다.

3.1. 모의 데이터 시나리오

  • 변수: 내재적 동기(IM), 외재적 동기(EM), 학습 불안(ANX), 자기효능감(SE)
  • 잠재된 스토리: 1. 고동기형: 모든 점수가 높음. 2. 불안형: 동기는 있으나 불안도가 매우 높음. 3. 무기력형: 모든 점수가 전반적으로 낮음.

3.2. R을 이용한 분석 코드

Jamovi의 snowRMM 모듈로도 가능하지만, 보다 정밀한 제어를 위해 R의 mclust 혹은 mixture 패키지를 권장합니다.

R

# 필요한 패키지 로드
library(mclust)
library(tidyverse)

# 1. 모의 데이터 생성 (교수 재량)
set.seed(2026)
n <- 200
# 세 개의 집단 생성 (고동기, 불안, 무기력)
g1 <- matrix(rnorm(n*0.4*4, mean=4, sd=0.5), ncol=4) # 고동기
g2 <- matrix(rnorm(n*0.3*4, mean=c(3,4,4,3), sd=0.6), ncol=4) # 불안형
g3 <- matrix(rnorm(n*0.3*4, mean=2, sd=0.7), ncol=4) # 무기력
data <- rbind(g1, g2, g3)
colnames(data) <- c("IM", "EM", "ANX", "SE")

write.csv(data,"chap29.csv",row.names = F)

# 2. 혼합 모형 적합 (집단 수 1~5개 테스트)
fit <- Mclust(data, G=1:5)

# 3. 결과 요약 및 집단 수 확인
summary(fit) 
# 최적 모델과 집단 수(G) 출력

# 4. 시각화: 프로파일 플롯
means <- fit$parameters$mean
matplot(means, type="b", pch=1:fit$G, main="Student Learning Profiles")

# 5. 모형 적합 (예: mclust 사용)
fit1 <- Mclust(data, G=3)

# 6. 1번 집단 80개, 2번 집단 60개, 3번 집단 60개를 하나의 벡터로 만듭니다.
actual_classes <- c(rep(1, 80), rep(2, 60), rep(3, 60))

# 7. 예측된 집단 할당 (MAP 분류)
# 각 관측치를 가장 높은 사후 확률을 가진 집단에 할당합니다.
predicted_classes <- fit1$classification

# 8. 실제 집단 정보와 비교하여 ARI 계산
# actual_classes는 데이터 세트에 포함된 실제 집단 레이블입니다.
final_ari <- adjustedRandIndex(actual_classes, predicted_classes)

# 9. 결과 해석
# 결과 출력
cat("분석 결과 ARI 수치:", final_ari, "\n")

4. 분석 결과의 해석과 주의사항

분석이 끝났다고 해서 바로 “우리 학생들은 3개 집단이다!”라고 결론지어서는 안 됩니다.

4.1. 직접적 vs 간접적 적용

  • 직접적 적용: 실제로 데이터 안에 질적으로 다른 ‘진짜 집단’이 존재한다고 믿는 경우입니다.
  • 간접적 적용: 데이터가 단순히 비정규분포(기울어짐 등)를 띠고 있어서, 이를 설명하기 위해 여러 개의 정규분포를 빌려 쓰는 경우입니다.

대부분의 사회과학 데이터는 후자인 경우가 많습니다. 따라서 ‘집단 분류’ 자체에 매몰되기보다는, 전체적인 데이터의 이질성을 이해하는 수단으로 혼합 모형을 활용해야 합니다.

4.2. 분류 정확도 (ARI)

분석 결과로 나온 집단 분류가 얼마나 정확한지 판단하기 위해 ARI(Adjusted Rand Index)를 확인합니다. ARI가 0.8 이상이면 ‘우수’, 0.65 이상이면 ‘수용 가능’한 수준으로 봅니다.

5. 결론: 연구자를 위한 제언

혼합 모형은 매우 유연하지만, 그만큼 오용하기 쉽습니다.

  1. 시각화가 우선입니다: 분석 전 산점도나 요인 점수 분포를 통해 실제로 집단이 나뉠 만한 구조인지 먼저 확인하세요.
  2. 이론적 근거를 가지세요: 통계 지표(BIC)가 4개를 추천하더라도, 교육학적 이론으로 설명되지 않는 집단이라면 모형을 재검토해야 합니다.
  3. 복제 가능성을 염두에 두세요: 혼합 모형은 과적합(Overfitting)의 위험이 크므로, 다른 샘플에서도 동일한 구조가 나타나는지 확인하는 과정이 필요합니다.

참고문헌 (APA Style)

  • Bauer, D. J., & Curran, P. J. (2003). Distributional assumptions of growth mixture models: Implications for overextraction of latent trajectory classes. Psychological Methods, 8(3), 338–363.
  • Celeux, G., & Govaert, G. (1995). Gaussian parsimonious clustering models. Pattern Recognition, 28(5), 781–793.
  • Dempster, A. P., Laird, N. M., & Rubin, D. B. (1977). Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society: Series B (Methodological), 39(1), 1–22.
  • McLachlan, G. J., & Peel, D. (2000). Finite mixture models. Wiley.
  • Steinley, D. (2026). Mixture Models. In The SAGE Handbook of Quantitative Methods in Psychology. SAGE. (Original work published 2023)
  • Steinley, D., & Brusco, M. J. (2011). Evaluating the performance of model-based clustering: Recommendations and cautions. Psychological Methods, 16(1), 63–79.

Chap 28. 적은 표본과 많은 변수를 가진 구조방정식 모델링

안녕하세요? 이번에는 ‘표본은 작고 변수는 많은(Small NN, Large pp)’ 상황에서의 구조방정식 모델링(Structural Equation Modeling, SEM)입니다. 현장에서 교육 연구를 진행하다 보면 설문 문항(변수)은 수백 개에 달하는데, 특정 소수 집단이나 특수 학교 학생들을 대상으로 하여 표본을 충분히 확보하지 못하는 경우가 비일비재하죠.

이런 고차원적 문제(High-dimensional problems) 상황에서 기존의 통계적 방법론을 그대로 적용하면 어떤 오류가 발생하는지, 그리고 이를 해결하기 위한 최신 기법들은 무엇인지 함께 알아보겠습니다.

1. 작은 표본과 많은 변수의 딜레마

구조방정식(SEM)의 핵심 강점은 측정 오차를 분리하고 잠재 변수 간의 관계를 명확히 추정하는 것입니다. 하지만 본래 SEM은 대표본(NN)과 상대적으로 적은 변수(pp)를 가정하고 개발된 점근적(Asymptotic) 방법론입니다.

교육 연구 현장에서 흔히 발생하는 문제는 다음과 같습니다.

  • 수렴 실패 및 불안정성: 표본이 적으면 표본 공분산 행렬(SS)이 ‘full rank’가 되지 않아 수렴에 수천 번의 반복 계산이 필요하거나 아예 수렴하지 않을 수 있습니다.
  • 다중공선성: 변수가 많아지면 변수 간 상관관계가 지나치게 높아져 행렬이 근사 특이(Near-singular) 상태에 빠지기 쉽습니다.
  • 부적절한 적합도: 점근적 이론에 기반한 카이제곱(χ2\chi^2) 통계량은 변수가 많고 표본이 작을 때 모델을 과도하게 기각하는 경향(Type I error 인플레이션)이 있습니다.

[사례 연구: 학업 스트레스와 학교 적응]

어느 중학교의 학습 지원 대상 학생 50명을 대상으로 ‘학업 스트레스 지표(150문항)’를 조사했다고 가정해 봅시다. 150개의 문항(변수)에 대해 표본이 50명뿐이라면, 기존의 최대우도법(ML)은 거의 확실하게 오류를 뱉어낼 것입니다.

2. 모델 매개변수 추정의 해결책

표본 공분산 행렬 SS가 특이 행렬(Singular matrix)이 되어 계산이 불가능할 때, 우리는 릿지(Ridge) 방법을 고려할 수 있습니다.

2.1 릿지 최대우도법 (Ridge ML)

전통적인 방법은 SS의 대각선에 일정한 상수를 더해 양의 정구조(Positive definite) 행렬로 만드는 것입니다.

  • Yuan & Chan (2008) 제안: SS 대신 Sa=S+aIS_a = S + aI (여기서 a=p/Na = p/N)를 사용하여 추정의 속도와 수렴율을 획기적으로 높였습니다.

2.2 릿지 일반화최소자승법 (Ridge GLS)

일반적인 GLS는 표본이 작고 변수가 많을 때 매우 불안정합니다. 이를 보완하기 위해 가중치 행렬 WW를 조정한 릿지 GLS가 제안되었습니다.

  • Yang & Yuan (2019): 비정규 분포 데이터에서 릿지 GLS가 NML(정규분포 기반 ML)보다 효율적인 추정치를 제공함을 입증했습니다.

2.3 베이지안(Bayesian) 접근법

베이지안 방식은 점근적 이론에 의존하지 않기 때문에 소표본 연구에서 강력한 대안이 됩니다.

  • 사전 정보(Priors)의 활용: 과거 연구나 전문가 견해를 바탕으로 사전 분포를 설정하면, 데이터가 부족하더라도 안정적인 추정이 가능합니다.
  • 주의사항: 잘못된 사전 정보를 설정할 경우 편향된 결과를 초래할 수 있으므로 신중해야 합니다.

3. 모델 적합도 평가의 교정

전통적인 TMLT_{ML} 통계량은 소표본에서 믿을 수 없습니다. 이를 교정하기 위한 다양한 ‘휴리스틱’ 및 ‘통계적 교정’ 방법들이 제안되었습니다.

교정 방법주요 특징추천 상황
Swain 교정(N1)(N-1)NSwainN_{Swain}으로 대체하여 교정일반적인 소표본
Yuan & Bentler (2017) Trml(c20)T_{rml}^{(c20)}경험적 결과에 기반한 평균 및 분산 교정비정규 분포 및 소표본
Tian & Yuan (2019) Ta(b)T_{a}^{(b)}2,000개 이상의 조건에서 캘리브레이션된 최신 통계량변수가 매우 많은 경우(p120p \le 120)

4. 실전 가이드: R을 활용한 소표본 SEM 분석

많은 교육학도가 사용하는 jamovi의 기본 SEMLj 모듈은 이러한 고차원 교정 기능을 모두 제공하지는 못합니다. 따라서 R의 lavaan 패키지를 활용한 분석이 권장됩니다.

[모의 데이터 시나리오]

  • 스토리: ‘교사 효능감’과 ‘직무 만족도’의 관계 모델링.
  • 상황: 특수 교사 80명 대상(N=80N=80), 문항 수는 총 60개(p=60p=60).

R

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

# 1. 모의 데이터 생성 (N=80, p=60인 고차원 데이터)
set.seed(2026)
data <- matrix(rnorm(80 * 60), 80, 60)
colnames(data) <- paste0("v", 1:60)
df <- as.data.frame(data)

# 2. 모델 정의 (간략화된 예시)
model <- '
  F1 =~ v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10
  F2 =~ v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20
  F2 ~ F1
'

# 3. Satorra-Bentler 교정 적용 분석 (소표본/비정규성 대비)
fit_sb <- sem(model, data = df, test = "Satorra.Bentler")

# 4. 결과 출력
summary(fit_sb, fit.measures = TRUE, standardized=TRUE)

5. 결론 및 제언

소표본과 다변수 상황에서의 SEM은 “불가능한 작업”이 아니라 “세심한 교정이 필요한 작업”입니다. 분석 시 다음 원칙을 기억하세요.

  1. 릿지 추정법을 통해 수렴 불안정성을 해결하세요.
  2. 단순 카이제곱 대신 경험적으로 교정된 통계량(TrmlT_{rml}, Ta(b)T_{a}^{(b)})을 확인하세요.
  3. 표준 오차의 정확성을 위해 부트스트랩(Bootstrap) 기법 활용을 검토하세요.
  4. 가능하다면 강력한 사전 정보를 바탕으로 한 베이지안 SEM을 고려해 보시기 바랍니다.

참고문헌

  • Marcoulides, K. M., Yuan, K.-H., & Deng, L. (2022). Structural equation modeling with small samples and many variables. In Handbook of Structural Equation Modeling.
  • Yuan, K.-H., & Chan, W. (2008). Structural equation modeling with near singular covariance matrices. Computational Statistics & Data Analysis, 52, 4842-4858.
  • Tian, Y., & Yuan, K.-H. (2019). Mean and variance corrected test statistics for structural equation modeling with many variables. Structural Equation Modeling, 26, 827-846.

WaurimaL의 한 마디:

이 내용이 여러분의 학위 논문이나 연구 설계에 실질적인 도움이 되길 바랍니다. 혹시 여러분의 연구 데이터에서 “표본이 너무 적어 분석이 안 된다”는 경고 메시지가 뜬다면, 제가 제안한 릿지(Ridge) 옵션을 먼저 검토해 보시는 건 어떨까요?

Chap 27. 탐색적 구조방정식 모델링(Exploratory Structural Equation Modeling, ESEM)

안녕하세요?

이번에는 고전적인 확인적 요인분석(CFA)의 한계를 극복하고, 실제 교육 현장의 복잡한 데이터를 가장 잘 반영할 수 있는 최신 분석 기법인 탐색적 구조방정식 모델링(Exploratory Structural Equation Modeling, ESEM)에 대해 깊이 있게 살펴보겠습니다.

Alexandre J. S. Morin의 연구를 기반으로, 여러분이 교육 현장에서 마주할 수 있는 구체적인 사례와 함께 구성했습니다.

1. 왜 ESEM이 필요한가? (CFA의 한계와 교육 데이터의 복잡성)

보통 우리는 설문지나 시험 문항을 만들 때, 특정 문항이 하나의 요인만을 측정한다고 가정합니다. 예를 들어 ‘수업 참여도’ 검사에서 “나는 수업 시간에 선생님의 질문에 대답한다”라는 문항은 오직 ‘행동적 참여’ 요인에만 속해야 한다고 생각하죠. 이것이 바로 확인적 요인분석(CFA)의 핵심인 ‘영(0) 부하량(Zero cross-loadings)’ 가정입니다.

하지만 현실은 다릅니다. 학생의 대답은 그 학생의 ‘정서적 즐거움’이나 ‘인지적 노력’과도 관련이 있을 수밖에 없습니다. CFA에서 이러한 미세한 관계(교차 부하량, cross-loadings)를 강제로 ‘0’으로 고정하면 다음과 같은 문제가 발생합니다.

  • 요인 간 상관의 팽창: 실제보다 요인들이 훨씬 더 가깝게 연결된 것처럼 보입니다.
  • 모델 적합도 저하: 복잡한 척도(예: 5~10개 요인, 50문항 이상)에서는 CFA로 좋은 적합도를 얻기가 거의 불가능합니다.

ESEM은 이러한 CFA의 통계적 엄밀함과 탐색적 요인분석(EFA)의 유연성을 결합한 모델입니다. 모든 문항이 모든 요인에 부하될 수 있도록 허용하면서도, 요인 간의 경로 분석이나 집단 비교가 가능하게 해줍니다.

2. 핵심 개념: 심리측정적 다차원성 (Psychometric Multidimensionality)

교육 데이터를 이해할 때 우리는 두 가지 형태의 다차원성을 고려해야 합니다.

(1) 구성개념 관련 다차원성 (Construct-Relevant)

  • 개념적 관련 요인: ‘학업 자아개념’과 ‘학업 흥미’는 서로 다른 개념이지만 태생적으로 겹치는 부분이 있습니다. ESEM은 이들 사이의 교차 부하량을 허용하여 요인을 더 정확하게 정의합니다.
  • 계층적 구조: ‘전반적인 학업 능력(Global)’과 ‘언어/수리/과학 특수 능력(Specific)’이 동시에 존재할 때 발생합니다. 이를 위해 이요인(Bifactor) 모델을 사용합니다.

(2) 구성개념 무관 다차원성 (Construct-Irrelevant)

  • 문항의 ‘긍정/부정 문구 효과’나 ‘유사한 단어 반복’으로 인해 발생하는 오차 간 상관을 의미합니다. 이는 분석에서 반드시 통제되어야 합니다.

3. 데이터 생성 스토리: “학교 참여도의 다차원적 구조”

우리는 중학생 500명을 대상으로 학교 참여도를 측정한다고 가정합니다. 참여도는 전통적으로 세 가지 하위 요인으로 나뉩니다.

  • 행동적 참여 (F1: Behavioral): 수업 규칙 준수, 숙제 제출 등 외현적 행동
  • 정서적 참여 (F2: Emotional): 학교에 대한 소속감, 교사 및 교우와의 유대감
  • 인지적 참여 (F3: Cognitive): 자기주도 학습 전략, 학습 내용에 대한 깊은 이해 노력

왜 ESEM이 필요한가?

실제 학교 현장에서 “나는 수업 시간에 선생님의 질문에 집중한다”는 문항은 행동적 참여를 측정하도록 설계되었지만, 선생님과의 관계(정서적 참여)나 학습 전략(인지적 참여)과도 통계적으로 유의미한 상관(교차 부하량, Cross-loadings)을 가질 수밖에 없습니다. 만약 CFA(확인적 요인분석)를 사용하여 이 교차 부하량을 강제로 0으로 고정하면, 요인 간 상관이 비정상적으로 높게 추정되는 오류(부풀려진 상관)가 발생하게 됩니다.

[분석 실습용 R 코드 예시]

R

# 1. 필수 패키지 설치 및 로드
if(!require(lavaan)) install.packages("lavaan")
library(lavaan)

# 2. 학교 참여도(School Engagement) 모의 데이터 생성 모델 정의
# 따옴표(')의 시작과 끝을 반드시 확인하세요.
population_model <- '
  # [주 부하량] 행동(F1), 정서(F2), 인지(F3) 참여도
  F1 =~ 0.7*x1 + 0.8*x2 + 0.6*x3 + 0.9*x4
  F2 =~ 0.6*y1 + 0.7*y2 + 0.8*y3 + 0.7*y4
  F3 =~ 0.5*z1 + 0.6*z2 + 0.7*z3 + 0.8*z4

  # [교차 부하량] Morin(2023)의 설계를 반영한 복잡성 추가
  F1 =~ 0.15*y1 + (-0.10)*z2
  F2 =~ 0.12*x3 + 0.18*z4
  F3 =~ 0.10*x1 + (-0.15)*y4

  # [요인 간 상관] 참여도 요인들 간의 실제 관계 설정
  F1 ~~ 0.25*F2
  F1 ~~ 0.20*F3
  F2 ~~ 0.35*F3
' # <--- 여기서 따옴표를 닫는 것이 중요합니다!

# 3. 데이터 생성 (N=500, 중학생 표본 가정)
set.seed(2026)
engagement_data <- simulateData(population_model, sample.nobs = 500)

이러한 상황에서 우리는 네 가지 모델을 순차적으로 비교해야 합니다.
  1. CFA: 교차 부하량 없음 (가장 엄격)
  2. ESEM: 교차 부하량 허용 (더 현실적)
  3. Bifactor-CFA: ‘전반적 행복감’ 요인 + 3개 특수 요인
  4. Bifactor-ESEM: 위 모델에 교차 부하량까지 허용 (가장 정교)

4. 분석 도구 및 방법 (jamovi & R)

현재 jamovi의 기본 인터페이스에서는 완전한 ESEM(특히 Bifactor-ESEM)을 직접 구현하기 어렵습니다. 따라서 R의 lavaan 패키지Mplus를 주로 사용하지만, 여기서는 여러분이 접근하기 쉬운 R 코드를 활용한 논리를 설명하겠습니다.

(1) 회전 방식 (Rotation)

ESEM은 요인을 해석하기 좋게 돌리는 ‘회전’ 과정이 필수입니다.

  • Geomin 회전: 기계적으로 요인을 단순화합니다.
  • Target 회전: 분석가가 이론에 근거하여 주 요인과 교차 부하량(0에 가깝게 유도)을 지정하는 방식입니다. 확인적 목적으로 사용할 때 권장됩니다.

(2) 모델 적합도 판단 기준

지표우수함수용 가능
CFI / TLI.95.95 이상.90.90 이상
RMSEA.06.06 이하.08.08 이하

5. 고급 분석: 측정 동일성과 DIF

검사가 공정한지 확인하는 과정입니다.

(1) 측정 동일성 (Measurement Invariance)

  • 형태 동일성: 남녀 학생 모두 동일한 요인 구조를 갖는가?
  • 약한 동일성 (Weak): 요인 부하량이 집단 간 같은가? (상관 분석의 전제 조건)
  • 강한 동일성 (Strong): 문항의 절편이 같은가? (잠재 평균 비교의 전제 조건)

(2) 문항 반응 편향 (DIF, Differential Item Functioning)

집단별로 샘플 수가 너무 작거나 연속형 변수(예: 성적)에 따른 편향을 보고 싶을 때는 MIMIC 모델을 사용하여 DIF를 탐색합니다.

6. 결론 및 제언

ESEM은 CFA가 가진 ‘지나치게 깨끗한 모델’의 환상을 깨고, 데이터가 가진 있는 그대로의 복잡성을 수용합니다. 교육 현장의 데이터는 대개 지저분하고 얽혀 있습니다. CFA 적합도가 낮다고 문항을 지우기보다는, ESEM을 통해 우리 데이터의 다차원성을 정확하게 모델링하는 것이 더 과학적인 접근입니다.

WaurimaL의 한마디:

“여러분의 연구 데이터가 CFA에서 계속 거부당한다면, 그것은 데이터의 잘못이 아니라 모델이 너무 경직되었기 때문일 수 있습니다. ESEM이라는 더 넓은 세상을 탐험해 보세요!”

참고문헌

  • Asparouhov, T., & Muthén, B. (2009). Exploratory structural equation modeling. Structural Equation Modeling, 16(3), 397-438.
  • Marsh, H. W., Morin, A. J. S., Parker, P. D., & Kaur, G. (2014). Exploratory structural equation modeling: An integration of the best features of exploratory and confirmatory factor analysis. Annual Review of Clinical Psychology, 10, 85-110.
  • Morin, A. J. S. (2023). Exploratory structural equation modeling. In Specialized and Advanced Models and Applications (Chap. 27, pp. 503-524).
  • Morin, A. J. S., Arens, A. K., & Marsh, H. W. (2016). A bifactor exploratory structural equation modeling framework for the identification of distinct sources of construct-relevant psychometric multidimensionality. Structural Equation Modeling, 23(1), 116-139.

Chap 26. 다층 구조방정식 모델링

안녕하세요?
이번에는 교육 데이터의 복잡한 계층 구조를 가장 정교하게 분석할 수 있는 틀인 다층 구조방정식 모델링(Multilevel Structural Equation Modeling, 이하 MSEM)에 대해 살펴보겠습니다.

학교 현장에서 수집되는 데이터는 대부분 ‘학생’이 ‘학급’이나 ‘학교’에 속해 있는 위계적 구조(Hierarchical structure)를 가집니다. 이러한 데이터를 일반적인 회귀분석으로 돌리면 “관측치의 독립성” 가정이 깨져 결과가 왜곡됩니다. 이번엔 왜 MSEM이 필요한지, 그리고 어떻게 실제 데이터에 적용하는지 심도 있게 다뤄보겠습니다.

1. 왜 다층 구조방정식(MSEM)인가?

1.1 전통적 분석의 한계

전통적인 단일 수준(Single-level) 분석은 모든 학생이 서로 독립적이라고 가정합니다. 하지만 같은 학교에 다니는 학생들은 비슷한 교육 환경과 교사의 영향을 공유하므로 서로 닮아 있기 마련입니다. 이 ‘유사성’을 무시하면 표준오차가 과소추정되어, 실제로는 유의하지 않은 결과가 통계적으로 유의하게 나오는 제1종 오류를 범할 가능성이 커집니다.

1.2 MLM과 MSEM의 차이

흔히 사용하는 다층 모형(MLM)은 주로 관측 변수 간의 회귀 관계에 집중합니다. 반면 MSEM은 다음과 같은 독보적인 장점을 가집니다:

  • 잠재 변수(Latent Variables) 활용: 직접 측정할 수 없는 ‘학업 자기효능감’이나 ‘학교 풍토’ 같은 개념을 측정 오차를 제거한 상태로 분석할 수 있습니다.
  • 동시 추정: 여러 개의 종속 변수나 매개 경로를 한 번에 분석할 수 있습니다.
  • 다양한 데이터 구조 대응: 횡단 데이터뿐만 아니라 반복 측정된 종단 데이터, 교차 분류 데이터 등에도 유연하게 적용됩니다.

2. 기본 원리와 수식의 이해

MSEM의 핵심은 전체 분산을 집단 내(Within-group) 분산과 집단 간(Between-group) 분산으로 완전히 분리하는 것입니다.

2.1 공분산 구조의 분해

개별 학생 ii가 속한 학교 jj의 관측치 yijy_{ij}에 대한 공분산 구조는 다음과 같이 표현됩니다.

ΣT=ΣW+ΣB\Sigma_{T} = \Sigma_{W} + \Sigma_{B}

여기서 ΣW\Sigma_{W}는 학생 수준의 차이를, ΣB\Sigma_{B}는 학교 수준의 차이를 의미합니다.

2.2 측정 모델 (MCFA)

다층 확인적 요인분석(MCFA)에서는 각 수준에서 고유한 요인 부하량(Λ\Lambda), 요인 분산(Ψ\Psi), 잔차(Θ\Theta)를 가집니다.

ΣT=ΛBΨBΛB+ΛWΨWΛW+ΘB+ΘW\Sigma_{T} = \Lambda_{B}\Psi_{B}\Lambda_{B}^{\prime} + \Lambda_{W}\Psi_{W}\Lambda_{W}^{\prime} + \Theta_{B} + \Theta_{W}

3. 실전 사례: 학생의 자기효능감과 학교 생활 만족도

이해를 돕기 위해 가상의 교육 연구 시나리오를 만들어 보겠습니다.

연구 시나리오

  • 대상: 100개 중학교에 재학 중인 학생 2,000명 (학교당 평균 20명).
  • 측정 변수:
    1. 학업 자기효능감(SelfEfficacy): 문항 1, 2, 3 (잠재변수)
    2. 학교 생활 만족도(Satisfaction): 문항 4, 5, 6 (잠재변수)
  • 연구 질문: 학생 개인의 자기효능감이 만족도에 미치는 영향은 어떠한가? 또한, 학교 전체의 평균적인 자기효능감 수준이 학교의 평균 만족도에 영향을 주는가?

3.1 모의 자료 생성 (R 코드)

jamovi의 SEMLj 모듈은 내부적으로 R의 lavaan 패키지를 사용합니다. 정교한 다층 분석을 위해 R 코드를 활용해 데이터를 생성하고 분석해 보겠습니다.

R

# 필요한 패키지 로드
library(lavaan)

# 1. 데이터 생성 (100개 학교, 학교당 20명)
set.seed(123)
n_schools <- 100
n_students_per_school <- 20
N <- n_schools * n_students_per_school

school_id <- rep(1:n_schools, each = n_students_per_school)

# 잠재 변수 생성 (Within & Between)
eta_W_eff <- rnorm(N)
eta_W_sat <- 0.6 * eta_W_eff + rnorm(N, sd = 0.8)

eta_B_eff <- rep(rnorm(n_schools, sd = 0.5), each = n_students_per_school)
eta_B_sat <- rep(0.8 * unique(eta_B_eff) + rnorm(n_schools, sd = 0.3), each = n_students_per_school)

# 문항 생성 (측정 오차 포함)
y1 <- 1.0 * (eta_W_eff + eta_B_eff) + rnorm(N, sd = 0.5)
y2 <- 0.9 * (eta_W_eff + eta_B_eff) + rnorm(N, sd = 0.5)
y3 <- 0.8 * (eta_W_eff + eta_B_eff) + rnorm(N, sd = 0.5)
y4 <- 1.0 * (eta_W_sat + eta_B_sat) + rnorm(N, sd = 0.5)
y5 <- 1.1 * (eta_W_sat + eta_B_sat) + rnorm(N, sd = 0.5)
y6 <- 0.9 * (eta_W_sat + eta_B_sat) + rnorm(N, sd = 0.5)

edu_data <- data.frame(school_id, y1, y2, y3, y4, y5, y6)

4. 단계별 분석 모델 구성

모델 1: 단일 수준 분석 (Naive Analysis)

학교 구조를 무시하고 분석하는 방식입니다. 문항들이 잠재 변수를 잘 측정하는지 초기 확인 용도로 사용하지만, 추정치는 편향될 수 있습니다.

모델 2: 집단 내 요인 모델 (Within-Group Factors)

학교 간 차이를 통제하고 학생 개인 수준의 구조만 파악합니다. 학교 간 분산은 포화 모델(Saturated model)로 처리하여 학생 수준의 추정치를 정교화합니다.

모델 3: 다층 구성적 요인 모델 (Configural Factor Model)

가장 권장되는 모델로, 학생 수준과 학교 수준 모두에서 요인 구조를 설정합니다. 특히 요인 부하량(λ\lambda)을 수준 간에 동일하게 제약(Invariance)하면, 두 수준의 잠재 변수가 동일한 개념적 의미를 갖는다고 해석할 수 있습니다.

5. MSEM 매개 효과 분석 (2-1-1 모델)

교육 연구에서 매우 중요한 2-1-1 매개 모델을 살펴봅시다. 예를 들어, 학교의 예산 지원(Level 2)학생의 자기효능감(Level 1)을 매개로 학생의 성취도(Level 1)에 영향을 주는 경우입니다.

  • 장점: 전통적인 MLM은 상위 수준의 변수가 하위 수준의 결과에 미치는 복잡한 매개 경로를 평가하는 데 한계가 있지만, MSEM은 이를 편향 없이 추정해냅니다.
  • 측정 오차 통제: 관측 변수의 합산 점수가 아닌 잠재 변수를 사용하므로 매개 효과 추정치가 더 정확합니다.

6. 결과 해석 및 적합도 평가

MSEM 분석 결과는 다음 지표들을 통해 종합적으로 판단합니다:

6.1 모델 적합도 (Model Fit)

  • 전체 적합도: CFI, RMSEA, SRMR 등을 확인합니다. 단, 샘플 사이즈가 큰 학생 수준의 정보에 의해 지표가 왜곡될 수 있음을 주의해야 합니다.
  • 수준별 적합도: 최근에는 집단 내(Within)와 집단 간(Between) 적합도를 분리하여 보고하는 추세입니다.

6.2 잠재 변수의 ICC

측정 문항뿐만 아니라 잠재 변수 자체의 ICC(Intraclass Correlation)를 계산할 수 있습니다. 이는 학교 간 차이에 의해 설명되는 잠재적 특성의 비율을 나타내며, 교육 정책의 효과를 평가하는 핵심 지표가 됩니다.

7. 결론 및 제언

MSEM은 교육 데이터의 복잡성을 있는 그대로 수용하면서도, 측정 오차를 배제한 순수한 개념적 관계를 밝혀낼 수 있는 강력한 도구입니다.

WaurimaL의 한마디:

“통계는 현상의 복잡함을 단순화하는 것이 아니라, 그 복잡함 속에서 질서를 찾는 과정입니다. 학교라는 울타리 속의 아이들을 이해하기 위해 MSEM이라는 안경을 써보시기 바랍니다.”

참고문헌

  • Asparouhov, T., & Muthén, B. (2010). Bayesian analysis of latent variable models using Mplus. Retrieved from www.statmodel.com/download/bayesadvantages18.pdf.
  • Heck, R. H., & Reid, T. (2025). Multilevel structural equation modeling. In Handbook of Structural Equation Modeling (Chap. 26, pp. 481-499).
  • Muthén, B. O. (1994). Multilevel covariance structure analysis. Sociological Methods and Research, 22(3), 376-398.
  • Preacher, K. J., Zhang, Z., & Zyphur, M. J. (2011). Alternative methods for assessing mediation in multilevel data: The advantages of multilevel SEM. Structural Equation Modeling, 18, 161-182.
  • Stapleton, L. M., Yang, J. S., & Hancock, G. R. (2016). Construct meaning in multilevel settings. Journal of Educational and Behavioral Statistics, 41(5), 481-520.

Chap 25. 구조방정식(SEM)과 잠재 변수 모델링을 활용한 심리측정 척도 평가

안녕하세요!
이번에는 “구조방정식(SEM)과 잠재 변수 모델링을 활용한 심리측정 척도 평가”에 관한 내용을 여러분이 이해하기 쉽게 교육 현장의 사례를 곁들여 살펴보겠습니다.

이 내용은 척도를 개발하거나 평가하려는 연구자들에게 필수적인 기초부터 고급 기법(잠재 혼합 모델 등)까지를 다룹니다.

1. 왜 척도 평가가 중요한가?

교육 및 사회과학 연구에서 우리가 측정하려는 대상(예: 학습 동기, 수학 불안, 지능)은 눈에 직접 보이지 않는 잠재 변수(Latent Variables)인 경우가 많습니다. 이러한 잠재 변수는 직접 잴 수 없기 때문에, 우리는 여러 개의 설문 문항이나 과제(지표, Indicators)를 통해 간접적으로 그 수준을 추론합니다.

이때 핵심은 “우리가 사용한 문항들이 정말로 그 잠재 특성을 잘 반영하고 있는가?”를 평가하는 것입니다. 이를 위해 구조방정식 모델링(SEM)과 잠재 변수 모델링(LVM)이 활용됩니다.

2. 고전검사이론(CTT)과 요인분석(FA): 기초 다지기

척도 평가의 가장 기본이 되는 수식은 고전검사이론의 관찰점수 분해입니다.

(1) 기본 방정식

X=T+EX = T + E

  • XX: 학생이 설문지에서 얻은 실제 점수(관찰점수)
  • TT: 학생의 진정한 능력이나 특성(진점수, 잠재 변수)
  • EE: 측정 과정에서 발생하는 오차(측정 오차)

(2) 동질적 검사 모델 (Congeneric Model)

단일 요인 모델과 실질적으로 동일하게 취급되는 이 모델은 각 문항이 하나의 공통 요인에 서로 다른 가중치(부하량)로 연결되어 있다고 가정합니다. 교육 현장에서는 한 시험의 여러 문항이 하나의 수학적 사고력을 측정한다고 볼 때 이 모델을 적용합니다.

3. 척도의 잠재 구조 확인: EFA에서 CFA로

척도가 의도한 대로 구성되어 있는지 확인하기 위해 두 단계의 과정을 거칩니다.

1단계: 탐색적 요인분석 (EFA)

  • 목적: 문항들이 몇 개의 요인으로 묶이는지 가설을 생성합니다.
  • 절차: 전체 데이터의 일부(예: 1/2)를 사용하여 요인의 수(mm)를 변화시켜가며 최적의 구조를 찾습니다.

2단계: 확인적 요인분석 (CFA)

  • 목적: EFA에서 세운 가설이 새로운 데이터에서도 맞는지 검증합니다.
  • 절차: 나머지 데이터(Hold-out sample)를 사용하여 모델의 적합도(AIC, BIC 등)를 평가합니다.

[WaurimaL의 팁] 군집 효과(Clustering Effects)를 주의하세요!

학교 교육 연구에서는 학생들이 ‘학급’이나 ‘학교’에 속해 있습니다. 같은 반 학생들은 경험을 공유하므로 독립성 가정이 위배될 수 있습니다. 이를 무시하면 오차가 과소 추정되어 잘못된 결론을 내릴 수 있으므로 다층 모델링(Multilevel Modeling) 접근이 필요합니다.

4. 문항 반응 이론(IRT): 문항 하나하나를 현미경으로 보기

척도 전체의 신뢰도를 넘어, 개별 문항이 얼마나 어려운지, 얼마나 변별력이 있는지를 평가할 때 IRT를 사용합니다.

  • 변별도(aja_j): 능력이 높은 학생과 낮은 학생을 얼마나 잘 구분하는가?
  • 난이도(bjb_j): 정답을 맞힐 확률(또는 긍정 응답 확률)이 50%가 되는 지점은 어디인가?

5. 고급 주제: 관찰되지 않은 이질성(Unobserved Heterogeneity)

최근 연구에서 가장 강조되는 부분입니다. 전체 집단이 하나라고 가정하고 분석하면 심각한 오류에 빠질 수 있습니다.

(1) 잠재 혼합 모델 (Latent Mixture Modeling)

우리 눈에는 보이지 않지만, 모집단 안에 성격이 다른 여러 잠재 계층(Latent Classes)이 존재할 수 있습니다. 예를 들어, ‘수학 효능감’ 척도를 분석할 때 ‘일반 학생 집단’과 ‘수포자 집단’은 문항에 반응하는 방식 자체가 다를 수 있습니다.

(2) 혼합 모델을 무시할 때의 위험성

  • 허위적 Bifactor 구조: 실제로는 집단이 두 개인데 하나로 합쳐 분석하면, 존재하지 않는 요인이 있는 것처럼 보일 수 있습니다.
  • 잘못된 문항 교정: 집단별로 문항의 난이도가 다른데 이를 평균 내버리면, 어느 집단에도 맞지 않는 잘못된 문항 특성치가 산출됩니다.

6. 실습: 학교 소속감 척도 평가 (가상 데이터 사례)

전문가로서 ‘학교 소속감(School Belongingness)’을 측정하는 5개 문항을 예로 들어 보겠습니다.

[스토리 설정]

행복중학교 교사들은 학생들의 학교 소속감을 측정하기 위해 5개 문항(5점 리커트 척도)을 개발했습니다.

  1. 나는 학교에 오는 것이 즐겁다.
  2. 우리 학교 선생님들은 나를 존중해 주신다.
  3. 나는 우리 학교의 일원이라는 것이 자랑스럽다.
  4. 학교에서 친구들과 함께 있을 때 편안하다.
  5. 우리 학교는 나에게 중요한 장소다.

조사 결과, 전체 학생은 약 500명이며, 내부적으로는 ‘교우관계 중심 집단’과 ‘학업 중심 집단’이라는 두 개의 잠재 계층이 존재한다고 가정합니다.

jamovi 및 R 구현 방법

1) jamovi 활용 (CFA 분석)

  1. Factor 탭 -> Confirmatory Factor Analysis 선택.
  2. 문항 1~5를 ‘Factor 1’에 투입.
  3. Model Fit에서 RMSEA, CFI, TLI 확인.
  4. Reliability Analysis에서 Cronbach’s α\alpha와 McDonald’s ω\omega 확인.

2) R 활용 (잠재 혼합 모델링 – tidyLPA 패키지 예시)

잠재 계층이 존재하는지 확인하기 위해 R 코드를 작성해 보겠습니다.

R

# 필요한 패키지 로드
library(tidyLPA)
library(dplyr)

# 가상 데이터 생성 (전문가적 식견을 바탕으로 한 모의 데이터)
set.seed(123)
# 집단 1: 소속감이 높은 집단 (250명)
group1 <- matrix(rnorm(250 * 5, mean = 4.2, sd = 0.5), ncol = 5)
# 집단 2: 소속감이 낮은 집단 (250명)
group2 <- matrix(rnorm(250 * 5, mean = 2.5, sd = 0.8), ncol = 5)
df <- as.data.frame(rbind(group1, group2))
colnames(df) <- paste0("item", 1:5)

# 잠재 프로파일 분석(LPA) 수행 - 집단 수 결정 (1개 vs 2개)
results <- df %>%
  estimate_profiles(1:3) # 1개부터 3개 집단까지 비교

# 결과 비교 (BIC가 가장 낮은 모델 선택)
get_fit(results)

7. 결론 및 제언

척도 평가를 단순히 신뢰도 계수(α\alpha) 하나 확인하는 것으로 끝내서는 안 됩니다.

  1. 구조 확인: EFA/CFA를 통해 잠재 구조를 탄탄히 검증하십시오.
  2. 집단 특성 고려: 데이터 뒤에 숨겨진 이질적인 집단(잠재 계층)이 있는지 혼합 모델링으로 확인하십시오.
  3. 표본 크기: 복잡한 잠재 변수 모델을 사용할 때는 충분한 표본 크기가 확보되어야 결과가 안정적입니다.

참고문헌

  • Raykov, T. (2025). Psychometric scale evaluation using structural equation modeling and latent variable modeling. In R. Hoyle (Ed.), Handbook of structural equation modeling (2nd ed., pp. 462-480). Guilford Press.
  • Bollen, K. A. (1989). Structural equations with latent variables. Wiley.
  • Crocker, L., & Algina, J. (2006). Introduction to classical and modern test theory. Harcourt College Publishers.
  • Muthén, L. K., & Muthén, B. (2021). Mplus user’s guide. Authors.
  • Raykov, T., & Marcoulides, G. A. (2011). Introduction to psychometric theory. Taylor & Francis.
  • Reckase, M. (2009). Multidimensional item response theory. Springer.

Chap 24. 잠재 상호작용을 활용한 동적 조절 분석: 일반 교차 지연 패널 모델(GCLM)의 확장

안녕하세요?
이번에는 잠재 상호작용을 활용한 동적 조절 분석에 대해 살펴보겠습니다.

1. 왜 ‘동적 조절(Dynamic Moderation)’인가?

기존의 교차 지연 패널 모델(Cross-Lagged Panel Model, CLPM)은 두 변수가 시간이 흐름에 따라 서로 어떤 영향을 주고받는지(상호 인과성)를 파악하는 데 유용했습니다. 하지만 전통적인 CLPM은 두 가지 큰 한계가 있습니다.

  1. 안정적 특성(Trait) 무시: 개인의 고유한 성향(예: 지능, 성격)처럼 변하지 않는 ‘안정적 요인’을 통제하지 못해 계수가 왜곡될 수 있습니다.
  2. 동적 관계의 불변성 가정: A가 B에 미치는 영향이 모든 사람에게, 모든 상황에서 동일하다고 가정합니다.

현실의 교육 현장에서는 그렇지 않습니다. 예를 들어, ‘학업 자기효능감’이 ‘학업 참여도’에 미치는 영향은 학생이 처한 최근의 상황(충격, Impulse)이나 다른 변수의 수준에 따라 달라질 수 있습니다. 이를 분석하기 위해 우리는 일반 교차 지연 패널 모델(General CLPM, GCLM)잠재 상호작용(Latent Interaction)을 결합한 동적 조절 모델을 학습할 것입니다.

2. GCLM의 핵심 구성 요소

GCLM은 단순히 과거가 현재에 미치는 영향뿐만 아니라, 시스템 내에 발생하는 ‘예상치 못한 사건(충격)’이 어떻게 흐르는지를 추적합니다.

  • 자기회귀(AR) 및 교차지연(CL) 효과: 과거의 변수가 현재의 자신과 상대 변수에 미치는 영향입니다.
  • 이동평균(MA) 및 교차지연 이동평균(CLMA): 과거에 발생한 ‘충격(Impulse)’이 단기적으로 현재에 미치는 영향을 조절합니다.
  • 단위 효과(Unit Effects, η\eta): 시간의 흐름과 상관없이 개인별로 일정하게 유지되는 ‘안정적인 특성’입니다.
  • 충격(Impulse, utu_t): 특정 시점에서 발생하는 무작위적 변화나 사건을 의미합니다.

3. 교육 연구 사례: 학업 자기효능감(ASE)과 학업 참여(AE)

[가상의 시나리오]

연구 질문: “고등학생의 학업 자기효능감(ASE)이 학업 참여(AE)에 미치는 영향은, 학생이 겪은 최근의 ‘자기효능감의 갑작스러운 변화(충격)’에 의해 조절되는가?”

  • 참여 대상: 고등학생 300명 (N=300N=300)
  • 측정 시점: 1학년 1학기부터 2학년 2학기까지 총 4회 (T=4T=4)
  • 변수: 학업 자기효능감(ASE), 학업 참여(AE)

4. 모의 자료 생성 및 분석 (R 코드 구현)

jamovi의 기본 SEM 모듈(SEMLj)은 이동평균(MA) 구조와 잠재 상호작용을 동시에 처리하는 데 제약이 있으므로, 인과 관계 추론에 특화된 R의 lavaan 패키지를 활용하여 분석을 진행합니다.

4.1. 모의 자료 생성 (R)

R

# 필요한 패키지 로드
if(!require(lavaan)) install.packages("lavaan")
if(!require(tidyverse)) install.packages("tidyverse")
library(lavaan)
library(tidyverse)

# 1. 데이터 시뮬레이션 (N=300, T=4)
set.seed(2025)
n <- 300
t <- 4

# 안정적 단위 효과(Trait) 생성
eta_ase <- rnorm(n, 0, 0.8)
eta_ae  <- rnorm(n, 0, 0.8)

# 시점별 충격(Impulse) 및 변수 생성
ase <- matrix(0, n, t)
ae <- matrix(0, n, t)

for(i in 1:t) {
  u_ase <- rnorm(n, 0, 0.5)
  u_ae <- rnorm(n, 0, 0.5)
  
  if(i == 1) {
    ase[,i] <- eta_ase + u_ase
    ae[,i]  <- eta_ae + u_ae
  } else {
    # GCLM 메커니즘: AR + CL + Interaction (Dynamic Moderation)
    # 이전 시점의 충격 간 상호작용이 현재에 미치는 영향 가정
    interaction_effect <- 0.2 * (ase[,i-1] * ae[,i-1]) 
    
    ase[,i] <- 0.5*ase[,i-1] + 0.2*ae[,i-1] + eta_ase + u_ase + interaction_effect
    ae[,i]  <- 0.5*ae[,i-1] + 0.3*ase[,i-1] + eta_ae + u_ae + interaction_effect
  }
}

df <- data.frame(ase, ae)
colnames(df) <- c("ASE1", "ASE2", "ASE3", "ASE4", "AE1", "AE2", "AE3", "AE4")

4.2. GCLM 및 동적 조절 모델 명세 (lavaan)

R

# GCLM 모델 정의 (단위 효과 및 MA/CLMA 포함)
gclm_model <- '
  # 단위 효과 (Trait)
  f_ASE =~ 1*ASE1 + 1*ASE2 + 1*ASE3 + 1*ASE4
  f_AE  =~ 1*AE1 + 1*AE2 + 1*AE3 + 1*AE4

  # 잠재 충격(Impulse) 정의
  u_ase2 =~ 1*ASE2; u_ase3 =~ 1*ASE3; u_ase4 =~ 1*ASE4
  u_ae2  =~ 1*AE2; u_ae3  =~ 1*AE3; u_ae4  =~ 1*AE4

  # 자기회귀 및 교차지연 (AR/CL)
  ASE2 ~ beta1*ASE1 + gamma1*AE1
  ASE3 ~ beta1*ASE2 + gamma1*AE2
  ASE4 ~ beta1*ASE3 + gamma1*AE3
  
  AE2 ~ beta2*AE1 + gamma2*ASE1
  AE3 ~ beta2*AE2 + gamma2*ASE2
  AE4 ~ beta2*AE3 + gamma2*ASE3

  # 동적 조절 (잠재 상호작용 항 - 개념적 구현)
  # 실제 분석에서는 indProd 등을 사용하여 상호작용 항 생성 필요
'
# (참고: 실제 잠재 상호작용은 Bayesian 추정이나 2단계 접근법이 권장됨)

5. 결과 해석 가이드

분석 결과 테이블에서 주목해야 할 부분은 다음과 같습니다.

5.1. 주요 파라미터 해석

파라미터의미교육적 해석 예시
AR (β\beta)지속성지난 학기 효능감이 이번 학기에도 유지되는 정도
CL (γ\gamma)교차 영향지난 학기 효능감이 이번 학기 학업 참여를 예측하는 정도
MA (δ\delta)단기 충격어제 받은 칭찬(충격)이 오늘 학업에 미치는 즉각적 효과
Interaction (βxy\beta_{xy})동적 조절효능감의 갑작스러운 상승이 학업 참여의 지속성을 강화하는가?

5.2. 동적 조절의 시각화

동적 조절 효과가 유의미하다면, 아래와 같은 조절 효과 그래프가 나타납니다.

  • 해석: “과거 학업 자기효능감의 충격(uase,t1u_{ase, t-1})이 컸던 학생들(High)은, 학업 참여 충격이 미래의 학업 참여에 미치는 영향(지속성)이 더 강하게 나타납니다.”

6. 결론 및 시사점

본 장에서 다룬 동적 조절 모델은 교육 현장의 복잡한 데이터를 분석하는 데 매우 강력한 도구입니다.

  1. 정밀한 인과 추론: 학생 개개인의 성향(Unit Effect)을 통제한 상태에서, 순수한 ‘변화’들 간의 관계를 분석할 수 있습니다.
  2. 맞춤형 개입 전략: 어떤 학생들에게 특정 교육 프로그램(충격)이 더 효과적인지, 즉 ‘누구에게, 언제’ 효과가 나타나는지 조절 효과를 통해 파악할 수 있습니다.
  3. 이론적 확장: 학업 성취도와 심리적 안녕감 등 다양한 교육적 변수들 사이의 ‘단기적 상호작용’을 이론적으로 검증할 수 있게 해줍니다.

7. 참고문헌

  • Allison, P. D. (2005). Fixed effects regression methods for longitudinal data using SAS. SAS Institute.
  • Asparouhov, T., & Muthén, B. (2021). Bayesian estimation of single and multilevel models with latent variable interactions. Structural Equation Modeling, 28(2), 314-328.
  • Hamaker, E. L., Kuiper, R. M., & Grasman, R. P. (2015). A critique of the cross-lagged panel model. Psychological Methods, 20(1), 102-116.
  • Zyphur, M. J., Allison, P. D., Tay, L., Voelkle, M. C., Preacher, K. J., Zhang, Z., … & Diener, E. (2020). From data to causes I: Building a general cross-lagged panel model (GCLM). Organizational Research Methods, 23(4), 651-687.
  • Zyphur, M. J., & Ozkok, O. (2025). Dynamic moderation with latent interactions: General cross-lagged panel models with interaction effects over time. In Handbook of Structural Equation Modeling.