태그 보관물: jamovi

Chap01. The Multilevel Model Framework

안녕하세요!

오늘은 다층모형의 가장 핵심적이고 기초적인 내용인 다층모델 프레임워크에 대해 살펴보겠습니다. “학교 현장의 데이터”를 예시로 들어 직관적인 설명과 수리적 엄밀함을 모두 갖춘 형태로 재구성해 드리겠습니다.

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


제1장. 다층모형(Multilevel Models)의 세계: 교실 속 아이들, 학교 속 교실

1. 서론: 왜 우리는 ‘층(Level)’을 고려해야 할까요?

우리가 교육 현장에서 마주하는 데이터는 결코 독립적인 섬처럼 존재하지 않습니다. 전통적인 통계 분석(예: 단순 회귀분석)은 모든 학생이 서로 아무런 관계없이 독립적으로 존재한다고 가정합니다. 하지만 현실은 어떤가요?

“학생은 학급에 속해 있고, 학급은 학교에 속해 있으며, 학교는 교육청(지역)에 속해 있습니다.”

이것이 바로 위계적 구조(Hierarchical Structure) 또는 내재된 구조(Nested Structure)입니다. 만약 우리가 이 구조를 무시하고 분석한다면 어떻게 될까요?

  • 통계적 오류: 같은 반 아이들은 같은 선생님, 같은 분위기를 공유하기 때문에 서로 비슷할 가능성이 큽니다. 이를 무시하면 표준오차(Standard Error)가 잘못 계산되어, 효과가 없는데도 있다고 착각하는(1종 오류) 심각한 실수를 범하게 됩니다.
  • 잘못된 해석: 개인의 특성(지능)과 집단의 특성(학교 풍토)을 뒤섞어 버려, 현상을 제대로 설명하지 못하게 됩니다.

따라서 우리는 개인(1수준)과 집단(2수준)을 동시에 고려하는 다층모형(Multilevel Modeling)을 사용해야 합니다.

이제부터 ‘행복 초등학교’의 가상 데이터를 통해 이 문제를 해결하는 다층모형의 마법을 살펴보겠습니다.


2. 모의 데이터 생성: 행복 초등학교 이야기

우리의 연구 문제는 다음과 같습니다.

  • 연구 문제: “학생의 독서 즐거움(Enjoyment)학업 성취도(Achievement)에 영향을 미치는가? 그리고 이 관계는 담임 선생님의 경력(Teacher Experience)에 따라 달라지는가?”

이 데이터를 생성하기 위해 R 코드를 사용하겠습니다. (jamovi에서는 Rj 에디터를 쓰거나, 이 코드로 생성된 CSV를 불러와서 분석한다고 가정하면 됩니다.)

R

# [R Code: 모의 데이터 생성]
set.seed(2026)

# 1. 구조 설정
n_schools <- 20    # 학교 수 (Level 2)
n_students <- 30   # 학교당 학생 수 (Level 1)
N <- n_schools * n_students

# 2. 학교(Level 2) 변수 생성
school_id <- rep(1:n_schools, each = n_students)
teacher_exp <- rep(rnorm(n_schools, mean = 10, sd = 5), each = n_students) # 교사 경력
# 학교마다 출발점(절편)과 독서 효과(기울기)가 다름을 가정
u0 <- rep(rnorm(n_schools, mean = 0, sd = 5), each = n_students) # 학교별 절편 차이 (Random Intercept)
u1 <- rep(rnorm(n_schools, mean = 0, sd = 2), each = n_students) # 학교별 기울기 차이 (Random Slope)

# 3. 학생(Level 1) 변수 생성
enjoyment <- rnorm(N, mean = 50, sd = 10) # 독서 즐거움
error <- rnorm(N, mean = 0, sd = 5)       # 개인 오차

# 4. 종속변수 생성 (다층 구조 반영)
# 성취도 = 전체평균 + (전체기울기 * 즐거움) + 학교별절편 + (학교별기울기 * 즐거움) + (상호작용: 교사경력 * 즐거움) + 오차
beta0 <- 40 # 기본 절편
beta1 <- 0.5 # 독서 즐거움의 기본 효과
beta2 <- 0.3 # 교사 경력의 조절 효과 (Cross-level interaction)

achievement <- (beta0 + u0) + (beta1 + u1 + beta2 * teacher_exp) * enjoyment + error

# 데이터프레임 생성
data <- data.frame(SchoolID = as.factor(school_id), 
                   Achievement = achievement, 
                   Enjoyment = enjoyment, 
                   TeacherExp = teacher_exp)

# 데이터 확인 (상위 5개)
head(data)

# CSV 저장 (jamovi에서 불러오기 위함)
write.csv(data, "chap01.csv", row.names = FALSE)

이 데이터에서 학생(ii)은 학교(jj)에 내재되어 있습니다(iji \subset j).


3. 다층모형의 기초: 고정효과와 무선효과

다층모형을 이해하려면 두 가지 핵심 단어를 구별해야 합니다.

  1. 고정효과 (Fixed Effects): 전체 데이터에 공통적으로 적용되는 평균적인 효과입니다. “일반적으로 독서를 좋아하면 성적이 오른다”라는 명제에서 ‘오른다’의 평균값입니다.
  2. 무선효과 (Random Effects): 집단(학교)마다 달라지는 고유한 특성입니다. 어떤 학교는 평균보다 성적이 더 높고(절편의 차이), 어떤 학교는 독서의 효과가 더 강력합니다(기울기의 차이). 이 차이를 확률분포(주로 정규분포)로 가정합니다.

모형 1: 무선 절편 모형 (Random Intercept Model)

가장 기초적인 모형입니다. 우리는 먼저 “어떤 학교는 애초에 성적이 더 잘 나오는가?”를 묻습니다. 이를 그림으로 그리면 모든 학교의 기울기는 같지만, 출발점(절편)의 높낮이가 다른 평행선들이 나타납니다.

수식으로는 다음과 같습니다.

Level 1 (학생):yij=β0j+β1xij+ϵijLevel 2 (학교):β0j=β0+u0j\begin{aligned} \text{Level 1 (학생):} & \quad y_{ij} = \beta_{0j} + \beta_{1}x_{ij} + \epsilon_{ij} \\ \text{Level 2 (학교):} & \quad \beta_{0j} = \beta_{0} + u_{0j} \end{aligned}

  • yijy_{ij}: jj학교 ii학생의 성취도
  • β0j\beta_{0j}: jj학교의 평균 성취도 (학교마다 다름)
  • β0\beta_{0}: 전체 학교의 평균 성취도 (고정효과)
  • u0ju_{0j}: jj학교가 전체 평균에서 얼마나 벗어났는가? (무선효과, 잔차)

[jamovi 분석 방법]

  1. Linear Models -> Linear Mixed Model 선택
  2. Dependent Variable: Achievement
  3. Covariates: Enjoyment
  4. Cluster Variable (Grouping): SchoolID
  5. Random Effects: Intercept | SchoolID 체크

이 분석을 통해 우리는 급내상관계수(ICC)를 구할 수 있습니다. 이는 전체 성적 차이 중 학교 간 차이가 얼마나 되는지를 보여줍니다. 만약 ICC가 0에 가깝다면 굳이 다층모형을 쓸 필요가 없겠지만, 학교 데이터에서는 보통 0.1~0.3 정도가 나옵니다.

모형 2: 무선 기울기 모형 (Random Slope Model)

이제 더 흥미로운 질문을 던집니다. “독서의 즐거움이 성적에 미치는 영향이 학교마다 다른가?”

어떤 학교에서는 독서를 좋아하면 성적이 쑥쑥 오르지만, 어떤 학교에서는 별 차이가 없을 수 있습니다. 즉, 기울기가 학교마다 다릅니다.

수식이 조금 더 복잡해집니다.

Level 1:yij=β0j+β1jxij+ϵijLevel 2:β0j=β0+u0j(절편도 다름)β1j=β1+u1j(기울기도 다름)\begin{aligned} \text{Level 1:} & \quad y_{ij} = \beta_{0j} + \beta_{1j}x_{ij} + \epsilon_{ij} \\ \text{Level 2:} & \quad \beta_{0j} = \beta_{0} + u_{0j} \quad (\text{절편도 다름}) \\ & \quad \beta_{1j} = \beta_{1} + u_{1j} \quad (\text{기울기도 다름}) \end{aligned}

이 모형은 아래 그림처럼 각 학교의 회귀선들이 출발점도 다르고 기울기도 제각각인 ‘스파게티’ 같은 모양을 띱니다.

[jamovi 분석 방법]

  • 위의 설정에서 Random EffectsEnjoyment 변수를 추가하여 Slope를 허용합니다. (Enjoyment + Intercept | SchoolID)

4. 설명변수의 추가와 상호작용 (Contextual Effects)

이제 데이터의 계층 구조를 완전히 활용해 봅시다.

“왜 어떤 학교는 독서 효과(기울기)가 더 클까?”

우리는 그 이유가 ‘선생님의 경력(TeacherExp)’ 때문이라고 가설을 세웠습니다. 이것은 학교 수준(Level 2)의 변수입니다.

이것을 수식에 넣으면 놀라운 일이 벌어집니다. 2수준 변수(교사 경력)가 1수준 변수(독서 즐거움)의 기울기를 설명하게 되는데, 이를 ‘층간 상호작용(Cross-level Interaction)’이라고 합니다.

yij=β0+β1xij+β2Wj+β3(xij×Wj)+(u0j+u1jxij+ϵij)y_{ij} = \beta_{0} + \beta_{1}x_{ij} + \beta_{2}W_{j} + \beta_{3}(x_{ij} \times W_{j}) + (u_{0j} + u_{1j}x_{ij} + \epsilon_{ij})

여기서 xijx_{ij}는 독서 즐거움, WjW_{j}는 교사 경력입니다. β3\beta_{3}가 유의미하다면, “교사의 경력이 많을수록 학생의 독서 즐거움이 성적에 미치는 긍정적 효과가 더 커진다”고 해석할 수 있습니다.

library(lme4)
library(lmerTest) # p-value 확인용
library(ggplot2)

# 모형 적합: 성취도 ~ 독서*경력 + (1+독서|학교)
# * 기호를 쓰면 주효과와 상호작용 효과가 모두 포함됩니다.
full_model <- lmer(Achievement ~ Enjoyment * TeacherExp + (1 + Enjoyment | SchoolID), 
                   data = data)

# 결과 요약
summary(full_model)

# --- 시각화: 상호작용 효과 확인 ---
# 교사 경력을 '고경력'과 '저경력' 집단으로 구분 (시각화 목적)
data$ExpGroup <- ifelse(data$TeacherExp > mean(data$TeacherExp), 
                        "High Experience", "Low Experience")
data$pred <- predict(full_model)

ggplot(data, aes(x = Enjoyment, y = pred, color = ExpGroup)) +
  geom_point(alpha = 0.1) + # 개별 학생 점수 (흐릿하게)
  geom_smooth(method = "lm", se = FALSE, linewidth = 1.5) + # 집단별 회귀선 (굵게!)
  theme_minimal() +
  scale_color_manual(values = c("blue", "orange")) +
  labs(title = "교사 경력이 독서 효과를 조절하는가?",
       subtitle = "High Experience 집단의 기울기가 더 가파르다면 조절효과가 있는 것입니다.",
       x = "독서 즐거움", y = "예측된 학업 성취도")

[jamovi 분석 방법]

  • ★ 핵심: 상호작용 항 만들기 (Fixed Effects):
    • Fixed Effects 탭을 엽니다.
    • 왼쪽 변수 목록에서 EnjoymentTeacherExp동시에 선택(Ctrl/Shift 클릭)합니다.
    • 가운데 [Interaction] 버튼을 누릅니다.
    • 오른쪽 박스에 Enjoyment ✻ TeacherExp 항목이 생성되었는지 확인합니다.
  • 결과 확인:
    • Fixed Effects Parameter Estimates 표에서 상호작용 항(Enjoyment ✻ TeacherExp)의 p-value가 0.05 미만인지 확인합니다.
  • 그래프 그리기:
    • Estimated Marginal Means 탭에서 Enjoyment ✻ TeacherExp 항을 선택하여 아래로 내립니다.

5. 결과의 해석과 교훈

분석 결과를 보면 다음과 같은 패턴을 발견할 수 있습니다.

  1. Intercept (절편): 학교 간 성적 차이가 존재합니다. (ICC > 0)
  2. Enjoyment (주효과): 독서를 좋아할수록 성적이 오릅니다. (기울기 > 0)
  3. Interaction (상호작용): 교사 경력이 높은 학교일수록 독서의 효과(기울기)가 더 가파릅니다. 즉, 노련한 선생님은 독서를 좋아하는 아이들의 잠재력을 더 크게 성적으로 연결해 줍니다.

6. 풀링(Pooling)의 미학: 정보의 줄다리기

다층모형은 “완전 결합(Fully Pooled)”과 “비결합(Fully Unpooled)” 사이의 타협점입니다. 이 개념이 아주 중요합니다.

1) 완전 결합 (Complete Pooling)

  • 개념: “학교 차이는 없어!” 하고 모든 데이터를 한 통에 넣고 분석하는 것입니다.
  • 문제: 학교 간의 고유한 특성을 완전히 무시합니다.

2) 비결합 (No Pooling)

  • 개념: “학교는 완전히 달라!” 하고 각 학교마다 따로따로 회귀분석을 20번 돌리는 것입니다.
  • 문제: 학생 수가 적은 학교는 데이터가 부족해 결과가 엉망이 됩니다(과적합).

3) 부분 결합 (Partial Pooling) = 다층모형

  • 개념: 다층모형은 이 둘의 중간입니다. 학교별 특성을 인정하되, 전체 데이터의 경향성도 빌려옵니다.
  • 수축 효과 (Shrinkage): 학생 수가 적거나 데이터가 불안정한 학교의 추정치는 전체 평균 쪽으로 살짝 당겨집니다. 이것은 마치 “잘 모를 때는 남들이 하는 만큼은 한다고 치자”는 지혜와 같습니다. 이를 통해 훨씬 안정적이고 정확한 추정치를 얻습니다.

7. 시각화: R을 이용한 그래프

R

library(ggplot2)
library(lme4)

# 모형 적합 (Random Slope Model)
model <- lmer(Achievement ~ Enjoyment + (1 + Enjoyment | SchoolID), data = data)

# 예측값 생성
data$pred <- predict(model)

# 시각화
ggplot(data, aes(x = Enjoyment, y = Achievement, group = SchoolID)) +
  geom_point(alpha = 0.3, color = "gray") + # 실제 데이터 점
  geom_line(aes(y = pred, color = as.factor(SchoolID)), size = 0.8) + # 학교별 회귀선 (Random Slopes)
  geom_abline(intercept = fixef(model)[1], slope = fixef(model)[2], 
              color = "black", size = 1.5, linetype = "dashed") + # 전체 고정효과 (평균선)
  theme_minimal() +
  labs(title = "다층모형 분석 결과: 학교별 독서 즐거움과 성취도",
       subtitle = "검은 점선은 전체 평균(Fixed Effect), 색깔 선은 학교별 특성(Random Effects)",
       x = "독서 즐거움", y = "학업 성취도", color = "학교 ID") +
  theme(legend.position = "none")

8. 확장과 적용: 더 복잡한 세상으로

다층모형은 여기서 멈추지 않습니다. 현실은 더 복잡하니까요.

  • 3수준 모형: 학생 \subset 학급 \subset 학교 \subset지역구… 이렇게 계속 확장할 수 있습니다.
  • 교차 분류 (Cross-classified) 모형: 학생이 ‘학교’에도 속하지만 동시에 ‘거주 지역(동네)’에도 속할 때, 학교와 동네는 서로 완전히 포함관계가 아닐 수 있습니다(예: A학교에 사는 애들이 1동, 2동에 섞여 삼). 이럴 때도 다층모형은 유연하게 대처합니다.
  • 일반화 선형 혼합모형 (GLMM): 종속변수가 점수가 아니라 ‘합격/불합격(0/1)’인 경우(로지스틱)에도 다층모형을 적용할 수 있습니다.

9. 맺음말

다층모형은 단순히 통계 기법이 아닙니다. 세상을 바라보는 ‘관점’입니다. 개인이 처한 환경(Context)을 무시하지 않고, 개인과 환경의 상호작용을 있는 그대로 존중하며 분석하는 방법입니다.

여러분도 jamovi와 R을 통해 교실 속 아이들, 그리고 그 아이들을 감싸고 있는 학교의 이야기를 숫자로 풀어내는 즐거움을 느껴보시길 바랍니다.

참고문헌 (References)

Gill, J., & Womack, A. J. (2014). The Multilevel Model Framework. In The SAGE Handbook of Multilevel Modeling (pp. 3–20). SAGE Publications Ltd.


[WaurimaL의 팁]

jamovi에서 lmer (Linear Mixed Effects Regression) 결과를 해석할 때, Fixed Effects Parameter Estimates 표는 전체적인 경향성을, Random Components 표의 Variance(분산)는 집단 간의 차이 크기를 나타낸다는 점을 꼭 기억하세요!

다층모형의 기초 – 회귀분석을 넘어 데이터의 ‘맥락’을 읽다

안녕하세요? 다층모형(Multilevel Modeling) 강의에 오신 여러분을 환영합니다. 저는 이번 다층모형 시리즈를 여러분과 함께 헤쳐나갈 WaurimaL입니다.

오늘 우리는 단순히 통계 공식을 외우는 것이 아니라, 왜 우리가 다층모형이라는 렌즈를 통해 세상을 봐야 하는지를 아주 기초적인 원리부터 다뤄보려 합니다. 초등학생도 이해할 수 있도록 쉬운 비유를 섞어가며, 하지만 대학원 수준의 깊이까지 놓치지 않고 설명해 드리겠습니다.

우리가 다룰 교재의 서론(Introduction) 부분을 바탕으로, 실제 학교 현장의 데이터를 가정한 실습까지 진행해 봅시다.


1. 서론: 우리는 왜 ‘다층’적인가?

여러분이 교육학 연구자라고 가정해 봅시다. 여러분은 “학생의 학습 동기가 학업 성취도에 미치는 영향”을 알고 싶습니다. 데이터를 모으기 위해 전국의 초등학교를 돌아다니며 설문조사를 했죠. 그런데 여기서 중요한 질문이 하나 생깁니다.

“서울 강남의 A 초등학교 학생들과 시골 분교의 B 초등학교 학생들이 완전히 똑같은 환경에 있을까요?”

당연히 아닙니다. 같은 학교, 같은 반 친구들은 담임 선생님의 지도 방식, 학교의 분위기, 급식의 맛(?)까지 공유합니다. 즉, 학생들은 독립적인 섬(Island)이 아니라, ‘학급’이나 ‘학교’라는 집단(Cluster) 안에 내재되어(Nested) 있습니다.

전통적인 통계 방법은 이 ‘내재구조’를 무시했습니다. 다층모형은 바로 이 맥락(Context)을 통계적으로 정교하게 모델링하기 위해 탄생했습니다.


2. 전통적 회귀분석의 한계: ‘모든 사람은 섬이다?’

가장 널리 쓰이는 통계 방법인 회귀분석(Regression Analysis)을 떠올려 봅시다.

기본 식은 다음과 같습니다.

yi=β0+β1x1i+ϵiy_{i} = \beta_{0} + \beta_{1}x_{1i} + \epsilon_{i}

여기서 ϵi\epsilon_{i}(오차항)는 평균이 0이고 분산이 σ2\sigma^{2}인 정규분포를 따른다고 가정합니다. 이 가정의 핵심은 “모든 데이터(ii)는 서로 독립적이다”라는 믿음입니다.

🚩 무엇이 문제인가요?

학교 데이터를 예로 들어봅시다.

  • 현실: 같은 반 학생들의 성적은 서로 비슷할 가능성이 높습니다(담임 선생님의 영향 등).
  • 문제: 이렇게 되면 오차들(ϵi\epsilon_{i})끼리 서로 상관관계(Correlation)를 가지게 되어, “오차는 독립적이어야 한다”는 회귀분석의 대전제가 깨집니다. 결과적으로 통계적 추정이 부정확해집니다.

3. ANOVA와 변량효과(Random Effects): 집단을 바라보는 두 가지 시선

이 문제를 해결하기 위해 우리는 집단을 어떻게 처리할지 고민해야 합니다.

(1) 고정효과(Fixed Effects) 모형: ANOVA의 접근

만약 우리가 “A반, B반, C반 딱 이 세 반만 비교하고 싶다”면, 각 반을 하나의 고유한 특성으로 보고 더미 변수(Dummy variable) 등을 이용해 분석합니다. 이를 일원분산분석(One-way ANOVA) 모형이라고 합니다.

yij=μ+αj+ϵijy_{ij} = \mu + \alpha_{j} + \epsilon_{ij}

  • yijy_{ij}: jj번째 반의 ii번째 학생 점수(또는 성취도)
  • αj\alpha_{j}: jj번째 반의 고유한 효과 (고정효과)

이 방법은 그 특정 반들에 대한 예측은 정확할지 몰라도(yj\bar{y}_j), 이 결과를 다른 학교나 반으로 일반화하기 어렵다는 단점이 있습니다.

(2) 변량효과(Random Effects) 모형: 다층모형의 시작

하지만 보통 연구자들은 “A반 그 자체”보다는 “일반적인 학급 간의 차이”에 관심이 많습니다. 즉, 우리가 뽑은 학급들이 전체 학급 모집단에서 무작위로 추출된 표본이라고 보는 것이죠.

yij=μ+uj+ϵijy_{ij} = \mu + u_{j} + \epsilon_{ij}

  • uju_{j}: jj번째 반의 효과. 하지만 이번엔 고정된 값이 아니라, 평균이 0이고 분산이 σu2\sigma_{u}^{2}인 확률변수입니다.

이 모형의 가장 큰 특징은 분산을 두 개로 쪼갠다는 점입니다.

  1. 집단 내 분산(σ2\sigma^{2}): 같은 반 학생들끼리의 성적 차이
  2. 집단 간 분산(σu2\sigma_{u}^{2}): 반 평균 성적끼리의 차이

(3) 급내상관계수(ICC)와 ‘정보 빌려오기’

여기서 아주 중요한 개념인 ICC(Intraclass Correlation, ρ\rho)가 등장합니다.

ρ=σu2σu2+σ2\rho = \frac{\sigma_{u}^{2}}{\sigma_{u}^{2} + \sigma^{2}}

  • 의미: 전체 성적 차이 중에서 “학교(반)가 달라서 생기는 차이”가 몇 %인가?를 나타냅니다.
  • 또한, 같은 반 학생 두 명을 뽑았을 때 그들의 성적이 얼마나 비슷할지를 나타내는 상관계수이기도 합니다.

💡 부분 풀링(Partial Pooling)의 마법

다층모형은 ‘부분 풀링(Partial Pooling)’ 전략을 씁니다.

  • 완전 풀링(Complete Pooling): 반 차이를 무시하고 전체 평균으로 퉁침.
  • 풀링 없음(No Pooling): 각 반을 완전히 별개로 보고 각 반 평균만 믿음.
  • 부분 풀링(다층모형): 표본이 적은 반의 결과는 전체 평균 쪽으로 살짝 당겨줍니다(Shrinkage). 즉, “데이터가 부족한 반은 다른 반들의 정보(Strength)를 좀 빌려와서 추정하자”는 아주 합리적인 타협안입니다.

4. 다층모형(Multilevel Model)의 완성

이제 위에서 본 회귀분석과 변량효과 모형을 합쳐봅시다. 이것이 바로 우리가 배울 임의 절편 모형(Random Intercept Model)입니다.

yij=β0+β1x1ij++u0j+ϵijy_{ij} = \beta_{0} + \beta_{1}x_{1ij} + \dots + u_{0j} + \epsilon_{ij}

  • β0+β1x1ij\beta_{0} + \beta_{1}x_{1ij}: 고정효과 부분 (일반 회귀식과 동일)
  • u0ju_{0j}: 임의 절편(Random Intercept). jj번째 학교가 전체 평균보다 얼마나 더 잘하거나 못하는지를 나타내는 그 학교만의 ‘고유한 특성’ (오차)
  • ϵij\epsilon_{ij}: 학생 개인의 오차

이 식은 “학생의 성적(yy)은 전체 평균적인 경향(β\beta)에다가, 그 학생이 속한 학교의 특성(uu)을 더하고, 학생 개인의 운이나 특성(ϵ\epsilon)을 더해서 결정된다”라고 해석할 수 있습니다.


5. 실습: jamovi를 활용한 다층분석 시뮬레이션

이제 이론을 바탕으로 가상의 데이터를 생성하고 직접 분석해 보겠습니다. jamovi는 R 기반의 무료 통계 소프트웨어로, 클릭만으로 다층모형을 쉽게 돌릴 수 있습니다.

(1) 가상의 시나리오: 수원시 초등학생 학업성취도 연구

  • 상황: 수원시에 있는 20개 초등학교를 대상으로, ‘사교육 시간(시간/주)’‘수학 성취도’에 미치는 영향을 연구합니다.
  • 가설: 사교육 시간이 길수록 성취도가 높을 것이다. 하지만 학교마다 기본 학력 수준(절편)은 다를 것이다.

(2) 데이터 생성 (R 코드)

jamovi에서 불러올 데이터를 생성하기 위해 R 코드를 작성해 드립니다. (이 코드는 실제 데이터와 매우 유사한 구조를 만듭니다.)

R

# R 코드: 다층모형 실습 데이터 생성
set.seed(2026) # 재현성을 위해 시드 설정

# 설정
n_schools <- 20    # 학교 수 (Level 2)
n_students <- 30   # 학교당 학생 수 (Level 1)
total_n <- n_schools * n_students

# 파라미터 (참값)
grand_intercept <- 50       # 전체 평균 수학 점수
slope_private_edu <- 3      # 사교육 시간 1시간 증가당 점수 상승분
sigma_u <- 10              # 학교 간 차이 (표준편차) -> 꽤 큼
sigma_e <- 5               # 학생 개인 오차 (표준편차)

# 데이터 생성
school_id <- rep(1:n_schools, each = n_students)
student_id <- 1:total_n

# 학교별 효과 (Random Intercept) 생성
u_j <- rnorm(n_schools, mean = 0, sd = sigma_u)
school_effect <- rep(u_j, each = n_students)

# 독립변수: 주당 사교육 시간 (0~10시간, 정규분포 + 약간의 학교별 차이 반영)
# 부촌 학교는 사교육 시간이 더 길 수 있으므로 학교 효과와 약간의 상관관계 부여
private_edu <- pmax(0, rnorm(total_n, mean = 4 + 0.1*school_effect, sd = 2))

# 종속변수: 수학 점수 생성 (다층모형 식 적용)
# Score = 50 + 3*Time + School_Effect + Error
math_score <- grand_intercept + slope_private_edu * private_edu + school_effect + rnorm(total_n, 0, sigma_e)

# 데이터프레임 생성
data <- data.frame(
  School = factor(school_id),
  Student = factor(student_id),
  Private_Edu = private_edu,
  Math_Score = math_score
)

# CSV 저장 (jamovi에서 불러오기 위함)
write.csv(data, "Suwon_Math_Study.csv", row.names = FALSE)

(위 코드를 실행하면 Suwon_Math_Study.csv 파일이 생성됩니다. 이 파일을 jamovi에서 엽니다.)

(3) jamovi 분석 가이드

자, 이제 생성된 데이터를 가지고 jamovi에서 분석하는 절차를 단계별로 설명합니다. 우리는 GAMLj 모듈(jamovi의 강력한 혼합모형 모듈)이나 기본 Linear Models를 사용할 수 있습니다. 여기서는 기본 내장된 기능을 기준으로 설명합니다.

단계 1: 기초 모형 (Null Model) – 학교 효과 확인하기

아무런 설명 변수 없이, 단지 “성적이 학교에 따라 얼마나 다른가?”만 확인합니다.

  1. 메뉴: Analyses > Linear Models > Mixed Model 선택
  2. 변수 설정:
    • Dependent Variable (종속변수): Math_Score
    • Cluster Variables (집단 변수): School
  3. 결과 확인 (Random Effects Table):
    • School (Intercept)의 분산(Variance)과 Residual (Error)의 분산을 확인합니다.
    • ICC 계산: jamovi 결과표 아래에 ICC가 자동으로 출력됩니다.
    • School 분산이 146.583, Residual 분산이 58.083이라면, ICC=146.583/(146.583+58.083)=0.716ICC = 146.583 / (146.583+58.083) = 0.716. 즉, 성적 차이의 71.6%는 학교 차이 때문입니다! (우리 시뮬레이션에서는 대략 0.8 정도로 높게 설정했습니다.)

단계 2: 임의 절편 모형 (Random Intercept Model)

이제 ‘사교육 시간’이 미치는 영향을 봅니다.

  1. Covariates (공변량): Private_Edu를 추가합니다.
  2. Fixed Effects (고정 효과): Private_Edu를 오른쪽으로 옮깁니다. (전체적인 사교육 효과를 보겠다는 뜻)
  3. Random Effects (변량 효과): Intercept | School이 기본으로 설정되어 있을 겁니다. 이는 “학교마다 출발점(평균 점수)은 다르다”는 것을 허용한다는 뜻입니다.

(4) 결과 해석 (가상)

효과 (Effect)추정치 (Estimate)의미
Intercept (절편)57.326사교육을 전혀 안 했을 때의 전체 평균 점수
Private_Edu (사교육)3.024사교육 시간이 1시간 늘 때마다 수학 점수가 약 3.024점 오름
Random Effect (School)Variance \approx 97.085학교 간 평균 점수 차이가 매우 큼

결론: 수원시 초등학생들의 수학 성취도에는 사교육 시간이 유의미한 긍정적 영향을 미칩니다(β3\beta \approx 3). 하지만, 학교 간의 편차(σu2\sigma_u^2)가 매우 크므로, 어떤 학교에 다니느냐가 성적에 큰 영향을 미치고 있음을 알 수 있습니다. 만약 일반 회귀분석을 했다면, 이 거대한 ‘학교 효과’를 무시하여 사교육의 효과를 과대/과소 추정하거나 유의성 검정에 오류가 있었을 것입니다.


6. 요약 및 다음 단계

오늘 우리는 왜 다층모형이 필요한지 배웠습니다.

  1. 데이터의 구조: 학생은 학교에, 환자는 병원에 ‘내재(Nested)’되어 있습니다.
  2. 독립성 위반: 이를 무시하면 통계적 오류가 발생합니다.
  3. 해결책: 변량효과(Random Effect)를 도입하여 집단 간 차이와 집단 내 차이를 분리하고, 더 정확한 추정을 합니다.

참고문헌 (References)

  • Aitkin, M., & Longford, N. (1986). Statistical modeling issues in school effectiveness studies. Journal of the Royal Statistical Society, Series A, 149, 1-43.
  • Chatterjee, S., & Simonoff, J. S. (2013). Handbook of regression analysis. Hoboken, NJ: John Wiley and Sons.
  • Gelman, A., & Hill, J. (2007). Data analysis using regression and multilevel/hierarchical models. Cambridge: Cambridge University Press.
  • Laird, N. M., & Ware, J. H. (1982). Random effects models for longitudinal data. Biometrics, 38, 963-974.
  • Raudenbush, S. W., & Bryk, A. S. (2002). Hierarchical linear models: Applications and data analysis methods (2nd ed.). Newbury Park, CA: Sage.
  • Simonoff, J. S., Scott, M. A., & Marx, B. D. (2013). The SAGE handbook of multilevel modeling. SAGE Publications.

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 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 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 23. 잠재 상호작용 효과(Latent Interaction Effects)

안녕하십니까?
이번에는 잠재 상호작용 효과(Latent Interaction Effects)에 대해 깊이 있게 다루어 보겠습니다.

우리는 흔히 “A가 B에 영향을 준다”는 선형적인 관계에 익숙하지만, 실제 교육 현장은 훨씬 복잡합니다. 예를 들어, 학습자의 ‘학습 동기’가 ‘학업 성취’에 미치는 영향은 학습자의 ‘자기효능감’ 수준에 따라 달라질 수 있습니다. 이러한 현상을 통계적으로 모델링하는 것이 바로 상호작용 효과입니다. 특히, 측정 오차를 배제하고 이론적 구조를 더 정확히 파악하기 위해 구조방정식 모델(SEM) 내에서 이를 추정하는 방법을 상세히 살펴보겠습니다.

1. 잠재 상호작용 모델의 기초

1.1. 왜 잠재 상호작용인가?

많은 심리학 및 교육학 이론은 인간 행동의 복잡한 패턴을 설명하기 위해 변수 간의 관계가 다른 변수에 의해 조절되는 중재(moderated) 관계를 상정합니다. 대표적인 예가 기대-가치 이론(Expectancy-Value Theory)입니다. 이 이론에 따르면, 특정 과목(예: 수학)에 대한 ‘성공 기대’와 그 과목에 부여하는 ‘가치’는 서로 상호작용하여 학업 성취나 진로 선택을 예측합니다.

전통적인 회귀분석에서는 관측 변수들을 곱해 상호작용 항을 만들지만, 이는 변수에 포함된 측정 오차(Measurement Error)를 무시한다는 치명적인 단점이 있습니다. 구조방정식을 이용한 잠재 상호작용 모델은 이 오차를 고려하여 통계적 검정력(Power)을 높이고 이론적 구성을 더 정교하게 반영합니다.

1.2. 수식적 표현

잠재 상호작용 모델의 구조식은 다음과 같습니다:

η=α+γ1ξ1+γ2ξ2+ω12ξ1ξ2+ζ\eta = \alpha + \gamma_1 \xi_1 + \gamma_2 \xi_2 + \omega_{12} \xi_1 \xi_2 + \zeta

  • η\eta: 잠재 종속 변수 (예: 수학 실력)
  • ξ1,ξ2\xi_1, \xi_2: 잠재 독립 변수 (예: 성공 기대, 내재적 가치)
  • ω12\omega_{12}: 잠재 상호작용 효과 (두 독립 변수의 곱에 의한 효과)
  • ζ\zeta: 회귀식의 잔차

2. 잠재 상호작용 추정의 어려움

잠재 상호작용을 추정하는 것은 일반적인 SEM보다 훨씬 까다롭습니다. 그 이유는 다음과 같습니다.

  1. 비정규성(Non-normality): 두 잠재 변수(ξ1,ξ2\xi_1, \xi_2)가 각각 정규분포를 따르더라도, 그 곱인 ξ1ξ2\xi_1\xi_2는 필연적으로 비정규분포를 따르게 됩니다.
  2. 추정의 편향: 표준 최대우도법(ML)을 그대로 사용하면 모수 추정치는 일치할 수 있으나, 표준오차(SE)가 과소추정되어 1종 오류(Type I error)가 발생할 위험이 커집니다.
  3. 계산 복잡성: 관측 변수들의 결합 우도(Likelihood)가 닫힌 형태(closed form)로 존재하지 않아 매우 복잡한 알고리즘(예: EM 알고리즘)이 필요합니다.

3. 주요 추정 접근법

다양한 연구자들이 지난 30년간 이 문제를 해결하기 위해 여러 접근법을 개발해 왔습니다.

3.1. 적률 지표 접근법 (Product Indicator, PI)

가장 고전적인 방법으로, 잠재 변수의 지표(Indicator)들을 서로 곱하여 상호작용 잠재 변수의 지표로 사용하는 방식입니다.

  • UPI (Unconstrained Product Indicator): Marsh 등(2004)이 제안한 방식으로, 복잡한 비선형 제약 조건을 생략하고 지표를 자유롭게 추정하게 하여 편의성을 높였습니다.

3.2. 분포 분석적 접근법 (Distribution Analytic)

제품 지표를 직접 만들지 않고 분포의 특성을 이용하는 방식입니다.

  • LMS (Latent Moderated Structural Equations): 비정규 분포를 조건부 정규 분포의 혼합으로 근사하여 추정합니다. 현존하는 방법 중 가장 효율적이고 검정력이 높다고 알려져 있습니다.
  • QML (Quasi-Maximum Likelihood): LMS보다 계산 속도가 빠르고 독립 변수가 비정규 분포일 때 약간 더 강건(robust)합니다.

3.3. 강건한 접근법 (Robust Approaches)

데이터가 정규성 가정을 심하게 위반할 때 사용합니다.

  • MIIV-2SLS: 도구 변수(Instrumental Variables)를 사용하여 측정 오차와 구조적 오분류에 강건하게 대응합니다.
  • 2SMM (Two-Stage Method of Moments): 요인 점수를 기반으로 적률을 수정하여 추정하는 방식입니다.

4. 실전 분석 예시: 고등학교 수학 성취도 데이터

이해를 돕기 위해 교육 현장의 시나리오를 바탕으로 모의 데이터를 생성하고 분석해 보겠습니다.

시나리오:

어느 고등학교 1학년 학생 400명을 대상으로 수학 학습 성향을 조사했습니다. 연구자는 ‘수학 자기효능감(Expectancy)’‘수학에 대한 흥미(Intrinsic Value)’가 실제 ‘수학 성적(Achievement)’을 어떻게 예측하는지, 그리고 ‘흥미’가 높을수록 ‘자기효능감’이 성적에 미치는 영향이 더 강해지는지(상호작용)를 확인하고자 합니다.

4.1. 데이터 생성 (R 코드)

분석 도구로 Rlavaan 패키지를 사용하겠습니다. (jamovi에서는 GAMLj 모듈을 통해 일부 가능하지만, 복잡한 잠재 상호작용은 R 코드가 더 정확합니다.)

R

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

set.seed(123)
N <- 400

# 1. 잠재 변수 생성 (성공 기대 xi1, 내재적 가치 xi2)
sigma_xi <- matrix(c(1.0, 0.4, 0.4, 1.0), 2, 2)
xi <- mvrnorm(N, mu = c(0, 0), Sigma = sigma_xi)
xi1 <- xi[,1]
xi2 <- xi[,2]

# 2. 구조 모델 설정 (상호작용 효과 포함)
# Achievement = 0.5*Expectancy - 0.1*Value + 0.2*(Expectancy*Value) + Error
eta <- 0.5 * xi1 - 0.1 * xi2 + 0.15 * (xi1 * xi2) + rnorm(N, sd = 0.5)

# 3. 측정 모델 생성 (각 잠재변수당 3개의 문항)
# Expectancy 지표 (x1-x3), Value 지표 (x4-x6), Achievement 지표 (y1-y3)
x1 <- 1.0*xi1 + rnorm(N, sd=0.5); x2 <- 0.8*xi1 + rnorm(N, sd=0.5); x3 <- 0.7*xi1 + rnorm(N, sd=0.5)
x4 <- 1.0*xi2 + rnorm(N, sd=0.5); x5 <- 0.9*xi2 + rnorm(N, sd=0.5); x6 <- 0.8*xi2 + rnorm(N, sd=0.5)
y1 <- 1.0*eta + rnorm(N, sd=0.5); y2 <- 1.1*eta + rnorm(N, sd=0.5); y3 <- 0.9*eta + rnorm(N, sd=0.5)

df <- data.frame(x1, x2, x3, x4, x5, x6, y1, y2, y3)

4.2. UPI 접근법을 이용한 분석

가장 널리 쓰이는 UPI 방식을 lavaan으로 구현해 보겠습니다.

R

# 제품 지표 생성 (x1*x4, x2*x5, x3*x6)
df$x1x4 <- df$x1 * df$x4
df$x2x5 <- df$x2 * df$x5
df$x3x6 <- df$x3 * df$x6

model_upi <- '
  # 측정 모델
  Expectancy =~ x1 + x2 + x3
  Value      =~ x4 + x5 + x6
  Interact   =~ x1x4 + x2x5 + x3x6
  Achieve    =~ y1 + y2 + y3

  # 구조 모델
  Achieve ~ g1*Expectancy + g2*Value + w12*Interact
'
fit <- sem(model_upi, data = df)
summary(fit, standardized = TRUE)

4.3. 결과 해석

분석 결과, 다음과 같은 수치들이 도출되었다고 가정해 봅시다(실제 위 데이터 분석 시 유사하게 나옵니다).

  • 자기효능감(γ1\gamma_1): 0.52 (p < .001) → 평균적인 흥미 수준에서 자기효능감은 성적에 강한 정적 영향을 미칩니다.
  • 흥미(γ2\gamma_2): -0.11 (p = .12) → 자기효능감이 평균일 때 흥미 자체의 직접 효과는 미미할 수 있습니다.
  • 상호작용(ω12\omega_{12}): 0.18 (p = .03) → 유의미한 상호작용 효과 발견!

조절 효과 그래프(Simple Slopes):

그래프를 보면 수학에 대한 흥미가 높은 학생일수록, 자기효능감이 성적 향상으로 이어지는 정도가 훨씬 가파른 것을 알 수 있습니다.

5. 연구자를 위한 제언

데이터 상황에 따라 어떤 알고리즘을 선택해야 할까요?

데이터 상황추천 접근법이유
잠재 변수가 정규분포를 따를 때LMS, QML가장 높은 검정력과 효율성을 가짐
잠재 변수가 비정규분포일 때2SMM, NSEMM정규성 위반에 강건함
모델 오분류가 우려될 때MIIV-2SLS특정 부분의 오류가 모델 전체로 퍼지는 것을 방지
매우 유연한 비선형 관계 탐색세미/비모수 접근법복잡한 곡선 관계 추정 가능

WaurimaL의 한마디:

잠재 상호작용 모델은 처음에는 어렵게 느껴지지만, 교육 현장의 역동성을 포착하는 데 이보다 강력한 도구는 없습니다. 단순히 통계량을 계산하는 데 그치지 말고, 그 상호작용이 우리 학생들에게 어떤 교육적 함의를 주는지 항상 고민해 보시기 바랍니다.

6. 참고문헌

  • Bauer, D. J. (2005). A semiparametric approach to modeling nonlinear relations among latent variables. Structural Equation Modeling, 12(4), 513–535.
  • Bollen, K. A., & Paxton, P. (1998). Interactions of latent variables in structural equation models. Structural Equation Modeling, 5(3), 267–293.
  • Eccles, J., Adler, T. F., Futterman, R., Goff, S. B., Kaczala, C. M., Meece, J., et al. (1983). Expectancies, values and academic behaviors. In J. T. Spence (Ed.), Achievement and achievement motives (pp. 75–146). San Francisco: Freeman.
  • Kelava, A., & Brandt, H. (2014). A general nonlinear multilevel structural equation mixture model. Frontiers in Psychology, 5, Article 748.
  • Kenny, D., & Judd, C. M. (1984). Estimating the nonlinear and interactive effects of latent variables. Psychological Bulletin, 96(1), 201–210.
  • Klein, A. G., & Moosbrugger, H. (2000). Maximum likelihood estimation of latent interaction effects with the LMS method. Psychometrika, 65(4), 457–474.
  • Marsh, H. W., Wen, Z., & Hau, K.-T. (2004). Structural equation models of latent interactions: Evaluation of alternative estimation strategies and indicator construction. Psychological Methods, 9(3), 275–300.
  • Wall, M. M., & Amemiya, Y. (2003). A method of moments technique for fitting interaction effects in structural equation models. British Journal of Mathematical and Statistical Psychology, 56(1), 47-63.

Chap 22. 구조방정식 모델링에서의 매개 및 간접효과

안녕하세요?

본 내용은 매개효과(Mediation)와 간접효과(Indirect Effects)를 중심으로 교육 현장의 실제적인 예시와 함께 jamoviR을 활용한 분석 방법을 살펴보겠습니다.

1. 개요 및 역사적 배경

매개분석은 독립변수(XX)가 종속변수(YY)에 영향을 미치는 과정에서 제3의 변수인 매개변수(MM)가 어떤 역할을 하는지 탐구하는 방법입니다. 이 개념의 뿌리는 1920년대 Sewall Wright의 경로 분석(Path Analysis)에서 시작되었습니다. Wright는 경로 도표를 통해 변수 간의 인과 관계를 시각화하고, 연쇄적인 경로 계수들의 곱으로 간접적인 영향력을 수치화했습니다.

1970~80년대에 들어서면서 이러한 경로 분석 전통은 측정 오차를 고려하는 심리측정학적 전통과 결합하여 현대의 구조방정식 모델링(SEM)으로 발전했습니다. 이제 우리는 관찰 변수뿐만 아니라 직접 측정하기 어려운 잠재 변수(Latent Variables)를 포함하여 더욱 정교한 매개 모델을 검증할 수 있게 되었습니다.

2. 매개변수의 정의와 유사 개념 구분

연구자는 매개변수를 설정할 때, 유사한 역할을 하는 다른 변수들과 혼동하지 않아야 합니다.

개념정의인과 구조
매개변수 (Mediator)독립변수와 종속변수 사이에서 효과를 전달하는 변수XMYX \rightarrow M \rightarrow Y
교란변수 (Confounder)XXYY 모두에 영향을 주어 둘 사이의 관계를 왜곡하는 변수XCYX \leftarrow C \rightarrow Y
통제변수 (Collider)XXYY 모두로부터 영향을 받는 변수 (분석 시 통제하면 관계가 왜곡됨)XCYX \rightarrow C \leftarrow Y

[WaurimaL Note] 교육 연구에서 ‘학습 동기’가 ‘학습 시간’을 거쳐 ‘성적’에 영향을 준다면 이는 매개 효과입니다. 하지만 ‘지능’이 ‘학습 시간’과 ‘성적’ 모두에 영향을 준다면 이는 교란 효과이므로 지능을 통제해야 정확한 인과 파악이 가능합니다.

3. 매개 모델의 수리적 이해

3.1. 기본 방정식

SEM에서 매개 모델은 다음과 같은 행렬식으로 표현됩니다.

η=Bη+Γξ+ζ\eta = B\eta + \Gamma\xi + \zeta

  • η\eta (Eta): 내생변수(매개변수와 종속변수) 벡터
  • ξ\xi (Xi): 외생변수(독립변수) 벡터
  • Γ\Gamma (Gamma): 외생변수가 내생변수에 미치는 직접 효과 행렬
  • BB (Beta): 내생변수 간의 직접 효과 행렬
  • ζ\zeta (Zeta): 잔차(Residuals) 벡터

3.2. 효과의 분해 (Decomposition)

전체 효과(Total Effect)는 다음과 같이 분해됩니다.

  1. 직접 효과 (Direct Effect): 매개변수를 거치지 않고 직접 전달되는 경로 (XYX \rightarrow Y)
  2. 간접 효과 (Indirect Effect): 매개변수를 통해 전달되는 경로 (XMYX \rightarrow M \rightarrow Y). 경로 계수들의 곱으로 계산합니다.
  3. 총 효과 (Total Effect): 직접 효과 + 간접 효과

4. [실습] 교육 현장 모의 사례 분석

4.1. 연구 시나리오: “교사 열정이 학생 성적에 미치는 영향”

  • 독립변수(X): 교사의 교수 열정 (Teaching Passion, 3개 문항)
  • 매개변수(M): 학생의 학습 몰입 (Student Engagement, 3개 문항)
  • 종속변수(Y): 학업 성취도 (Academic Achievement, 3개 문항)

우리는 교사의 열정이 학생들의 학습 몰입을 높이고, 이것이 최종적으로 성적 향상으로 이어지는지 확인하고자 합니다.

4.2. 모의 데이터 생성 (R 코드)

실제 분석을 위해 다음과 같이 상관관계가 있는 모의 데이터를 생성합니다.

R

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

# 데이터 생성 설정
set.seed(2025)
n <- 500

# 잠재변수 생성
Teacher_Passion <- rnorm(n)
Student_Engagement <- 0.5 * Teacher_Passion + rnorm(n, sd = 0.8)
Achievement <- 0.2 * Teacher_Passion + 0.4 * Student_Engagement + rnorm(n, sd = 0.7)

# 관찰변수(문항) 생성 (측정모델)
df <- data.frame(
  x1 = Teacher_Passion + rnorm(n, sd = 0.5), x2 = Teacher_Passion + rnorm(n, sd = 0.5), x3 = Teacher_Passion + rnorm(n, sd = 0.5),
  m1 = Student_Engagement + rnorm(n, sd = 0.5), m2 = Student_Engagement + rnorm(n, sd = 0.5), m3 = Student_Engagement + rnorm(n, sd = 0.5),
  y1 = Achievement + rnorm(n, sd = 0.5), y2 = Achievement + rnorm(n, sd = 0.5), y3 = Achievement + rnorm(n, sd = 0.5)
)

4.3. jamovi에서의 분석 방법

  1. SEMLj 모듈 설치: jamovi의 Modules -> jamovi library에서 SEMLj를 설치합니다.
  2. 모델 설정:
    • 측정 모델(Measurement Model):
      • Passion =~ x1 + x2 + x3
      • Engagement =~ m1 + m2 + m3
      • Achievement =~ y1 + y2 + y3
    • 구조 모델(Structural Model):
      • Engagement ~ a*Passion
      • Achievement ~ b*Engagement + c*Passion
    • 매개효과 정의:
      • Indirect := a * b
      • Total := c + (a * b)
  3. Bootstrapping 설정: Options에서 Standard ErrorsBootstrap으로 설정합니다 (권장 횟수 5,000회 이상).

5. 통계적 유의성 검증: Sobel vs. Bootstrapping

간접효과(a×ba \times b)의 유의성을 검증하는 방법에는 크게 두 가지가 있습니다.

  1. Sobel Test (Delta Method): 간접효과값이 정규분포를 따른다는 가정하에 표준오차를 구합니다. 하지만 간접효과(a×ba \times b)는 대개 비대칭적인 분포를 보이기 때문에 표본이 아주 크지 않으면 제1종 오류나 낮은 검정력의 문제가 발생합니다.
  2. Bootstrapping (권장): 표본 데이터에서 수천 번 재표집하여 간접효과의 경험적 분포를 만듭니다. 정규성 가정이 필요 없으며, 현재 SEM 소프트웨어(Mplus, lavaan, AMOS 등)에서 표준적으로 사용됩니다.

6. 현대적 접근: 인과적 매개 분석 (Causal Mediation)

최근에는 잠재적 결과(Potential Outcomes) 프레임워크를 기반으로 한 인과적 매개 분석이 주목받고 있습니다. 이는 다음과 같은 세부 효과를 정의합니다.

  • TNDE/PNDE (자연적 직접 효과): 매개변수를 통제했을 때 독립변수가 종속변수에 미치는 순수한 효과
  • TNIE/PNIE (자연적 간접 효과): 독립변수가 매개변수의 변화를 통해 종속변수에 미치는 효과

이 접근법은 변수 간 상호작용(X×MX \times M)이 존재하거나 종속변수가 이분형인 비선형 모델에서도 정확한 효과 분해를 가능하게 합니다.

7. 측정상의 가정 및 주의점

매개분석의 결과는 측정의 질에 의존합니다.

  • 신뢰도(Reliability): 매개변수의 측정 오차는 매개효과를 과소추정(attenuation)하게 만듭니다. SEM은 잠재변수를 사용함으로써 이 문제를 보완합니다.
  • 타당도(Validity): 매개변수가 다차원적 구조를 가질 경우, 이를 단일 차원으로 묶어 분석하면 결과가 왜곡될 수 있습니다. 이 경우 Bifactor 모델 등을 통해 일반 요인과 특수 요인의 매개 효과를 각각 검증해야 합니다.
  • 측정 불변성(Measurement Invariance): 집단 비교 시(예: 남학생 vs 여학생), 문항들이 각 집단에서 동일하게 기능하는지 먼저 확인해야 합니다. 그렇지 않으면 가짜 상호작용 효과가 나타날 수 있습니다.

8. 결론

매개분석은 단순히 “영향이 있다”를 넘어 “어떻게(How)” 영향이 전달되는지를 설명해 줍니다. 교육 현장에서는 특정 프로그램이 학생의 심리적 기제를 어떻게 변화시켜 성취도를 높이는지 파악함으로써, 보다 효과적인 교육 개입 전략을 수립하는 데 기여할 수 있습니다.

참고문헌 (APA Style)

  • Alwin, D. F., & Hauser, R. M. (1975). The decomposition of effects in path analysis. American Sociological Review, 40(1), 37–47.
  • Baron, R. M., & Kenny, D. A. (1986). The moderator-mediator variable distinction in social psychological research: Conceptual, strategic, and statistical considerations. Journal of Personality and Social Psychology, 51(6), 1173–1182.
  • Gonzalez, O., Valente, M. J., Cheong, J., & MacKinnon, D. P. (2025). Mediation/indirect effects in structural equation modeling. In Handbook of Structural Equation Modeling.
  • MacKinnon, D. P., Lockwood, C. M., & Williams, J. (2004). Confidence limits for the indirect effect: Distribution of the product and resampling methods. Multivariate Behavioral Research, 39(1), 99–128.
  • Muthen, L. K., & Muthen, B. O. (1998/2014). Mplus user’s guide. Muthen & Muthen.
  • Pearl, J. (2012). The causal mediation formula—A guide to the assessment of pathways and mechanisms. Prevention Science, 13(4), 426–436.
  • Sobel, M. E. (1982). Asymptotic confidence intervals for indirect effects in structural equation models. Sociological Methodology, 13, 290–312.

Chap 21. 평균 분석을 위한 유연한 구조방정식 모델링(Structural Equation Modeling, SEM) 접근법

안녕하세요!

오늘 우리가 함께 살펴볼 내용은 평균 분석을 위한 유연한 구조방정식 모델링(Structural Equation Modeling, SEM) 접근법입니다. 흔히들 평균 차이를 비교한다고 하면 ANOVA(분산분석)나 t-검정만을 떠올리곤 하죠. 하지만 SEM을 활용하면 기존의 OLS(최소자승법) 방식이 가진 한계를 뛰어넘어 훨씬 더 정교하고 유연한 분석이 가능해집니다.

이 내용을 여러분이 교육 현장에서 바로 활용할 수 있도록, ‘교수법에 따른 수학 학습 만족도 차이’라는 가상 시나리오를 바탕으로 살펴보겠습니다. 분석 도구는 jamovi를 기본으로 하되, 복잡한 제약 조건이 필요한 경우 R(lavaan 패키지) 코드를 병행하여 설명하겠습니다.

1. 왜 ANOVA 대신 구조방정식(SEM)인가?

사회과학자들은 집단 간 평균 차이를 검정하기 위해 ANOVA나 MANOVA를 자주 사용합니다. 하지만 이러한 전통적인 방식은 ‘교과서적인(cookbook)’ 방식에 치우쳐 통계적 가정이 충족되는지, 혹은 연구 가설을 가장 잘 반영하는 모델인지 비판적으로 평가하지 못할 때가 많습니다.

SEM을 활용한 평균 분석은 다음과 같은 강력한 장점을 가집니다:

  • 유연성: 관찰변수뿐만 아니라 잠재변수(Latent Variable)에 대한 평균 차이를 검정할 수 있습니다.
  • 가정의 완화: 전통적인 ANOVA가 요구하는 엄격한 가정(오차의 등분산성 등)을 우회하거나 모델 내에서 직접 수정할 수 있습니다.
  • 모델 비교: 단순히 ‘차이가 있다/없다’를 넘어, 이론에 근거한 여러 대안 모델들을 설정하고 데이터와 얼마나 잘 맞는지(Model Fit) 비교 평가할 수 있습니다.

2. 교육 현장 시나리오 및 모의 데이터 생성

🏫 시나리오: “AI 보조 교사 도입에 따른 수학 만족도 분석”

한 고등학교에서 수학 수업의 질을 높이기 위해 세 가지 교수법을 적용했습니다.

  1. 집단 1 (통제집단): 기존 강의식 수업
  2. 집단 2 (토론집단): 소집단 협력 학습
  3. 집단 3 (AI집단): AI 튜터를 활용한 개별화 학습

연구자는 ‘사후 수학 만족도’가 집단별로 차이가 있는지 확인하고자 합니다. 이때, 학생들의 ‘사전 수학 만족도’를 공변량(Covariate)으로 통제하고 싶어 합니다.

📊 모의 데이터 생성 (R 코드)

분석을 위해 N=150N=150 (집단당 50명)의 데이터를 생성하겠습니다. 만족도는 4개의 문항(y1~y4)으로 측정되는 잠재변수라고 가정합니다.

R

# R을 이용한 모의 데이터 생성
set.seed(2025)
n <- 50
# 사전 점수 (Covariate)
pre_score <- rnorm(150, mean=50, sd=10)

# 집단별 사후 잠재평균 설정 (AI집단이 가장 높다고 가정)
group <- c(rep("Control", n), rep("Discussion", n), rep("AI", n))
latent_mean <- c(0, 0.3, 0.7) # 표준화된 차이

# 데이터 생성
y_latent <- c(rnorm(n, 0), rnorm(n, 0.3), rnorm(n, 0.7)) + 0.5 * (pre_score - 50)/10
y1 <- 0.8 * y_latent + rnorm(150, 0, 0.6)
y2 <- 0.7 * y_latent + rnorm(150, 0, 0.7)
y3 <- 0.9 * y_latent + rnorm(150, 0, 0.5)
y4 <- 1.0 * y_latent + rnorm(150, 0, 0.4)

df <- data.frame(group = as.factor(group), pre_score, y1, y2, y3, y4)
# 사후 점수 평균(관찰치) 생성
df$post_sat <- (y1 + y2 + y3 + y4) / 4

3. SEM을 이용한 일원분산분석(One-Way ANOVA)

전통적인 ANOVA는 집단별로 가변수(Dummy variable)를 만들어 회귀분석을 하는 것과 같습니다. SEM에서는 이를 ‘Cell Means Model’로 접근하면 훨씬 이해하기 쉽습니다.

3.1. Cell Means Model의 원리

이 모델은 절편(Intercept)을 제거하는 대신, 모든 집단에 대한 인디케이터 변수를 포함합니다.

  • 비제약 모델(Less Constrained, LC): 각 집단의 평균을 자유롭게 추정합니다.
  • 제약 모델(More Constrained, MC): 모든 집단의 평균이 같다고 제약합니다.

이 두 모델의 적합도(Chi-square) 차이를 비교하여 평균 차이의 유의성을 검정합니다.

3.2. jamovi 및 R 구현

jamovi에서는 SEMLj 모듈을 사용하거나, Rj 모듈에서 lavaan 코드를 직접 입력할 수 있습니다.

R

# lavaan을 이용한 일원분산분석 SEM
library(lavaan)

# 1. 비제약 모델 (집단별 평균 자유 추정)
model_lc <- '
  post_sat ~ c(m1, m2, m3)*1 
'
fit_lc <- sem(model_lc, data=df, group="group")

# 2. 제약 모델 (모든 평균을 m으로 통일)
model_mc <- '
  post_sat ~ c(m, m, m)*1
'
fit_mc <- sem(model_mc, data=df, group="group")

# 모델 비교 (ANOVA와 동일한 결과)
lavTestLRT(fit_lc, fit_mc)

4. SEM을 이용한 공분산분석(ANCOVA)

사전 점수(pre_score)가 사후 점수에 영향을 미칠 때, 이를 통제하고 순수한 교수법의 효과를 보려면 ANCOVA가 필요합니다.

4.1. 분석 특징

  • 공변량을 중심화(Grand-mean centering)하여 투입하면 SEM의 절편이 ‘조정된 평균(Adjusted Means)’이 됩니다.
  • SEM에서는 집단 간 회귀 계수(Slope)가 동일하다는 가정을 검정하거나, 오히려 이 가정을 풀어 ‘이질적 회귀선’ 모델을 만들 수도 있어 매우 유연합니다.

5. 잠재평균분석(Latent Mean Analysis): SEM의 진수

사실 우리가 측정한 만족도 문항(y1~y4)에는 측정 오차가 포함되어 있습니다. ANOVA는 이 오차를 무시하지만, SEM은 잠재변수를 통해 오차를 제거한 순수한 특성치 간의 평균을 비교합니다.

5.1. 측정 불변성(Measurement Invariance) 검정

잠재평균을 비교하기 전에는 반드시 “서로 다른 집단이 이 문항들을 동일한 의미로 응답했는가?”를 확인해야 합니다.

  1. 형태 불변성: 모델의 구조가 같은가?
  2. 측정치 불변성(Metric): 요인 적재량(Loadings)이 같은가?
  3. 절편 불변성(Scalar): 관찰변수의 절편이 같은가?

최소한 절편 불변성까지 만족해야 잠재평균을 비교할 자격이 생깁니다.

5.2. 분석 결과 해석

잠재평균분석에서는 한 집단의 평균을 0으로 고정하고, 나머지 집단의 평균이 그로부터 얼마나 떨어져 있는지(상대적 차이)를 추정합니다.

집단잠재평균 (Estimate)p-value해석
기존 강의0 (고정)기준 집단
토론 학습0.32.042기존보다 유의하게 높음
AI 학습0.75<.001기존보다 매우 유의하게 높음

6. 결론 및 제언

SEM을 활용한 평균 분석은 기존 OLS 기반의 ANOVA보다 훨씬 풍부한 정보를 제공합니다.

  • 측정 오차 통제: 더 정확한 효과 크기를 산출합니다.
  • 다양한 가정 검정: 등분산성 위배 시에도 강건한(Robust) 추정치를 얻을 수 있습니다.
  • 통합적 결론: 여러 측정 문항을 개별 ANOVA로 돌리는 ‘단편적 분석’에서 벗어나, 구조적 차원의 ‘통합적 결론’을 내릴 수 있습니다.

학교 현장에서도 단순한 평균 비교를 넘어, 잠재변수 모델링을 통해 교육 효과를 더욱 정밀하게 검증해 보시길 권장합니다.

📚 참고문헌

  • Aiken, L. S., West, S. G., & Millsap, R. E. (2008). Doctoral training in statistics, measurement, and methodology in psychology: Replication and extension of the Aiken, West, Sechrest, and Reno (1990) survey of PhD programs in North America. American Psychologist, 63(1), 32–50.
  • Bollen, K. A. (1989). Structural equations with latent variables. Wiley.
  • Fan, W., & Hancock, G. R. (2012). Robust means modeling: An alternative to hypothesis testing of independent means under variance heterogeneity and nonnormality. Journal of Educational and Behavioral Statistics, 37(1), 137–156.
  • Hancock, G. R. (2010). Life after ANOVA: Reframing and extending analysis of variance using a likelihood/information paradigm. Presented at the meeting of the Structural Equation Modeling Special Interest Group of the American Educational Research Association, Denver, CO.
  • Thompson, M. S., & Green, S. B. (2013). Evaluating between-group differences in latent variable means. In G. R. Hancock & R. O. Mueller (Eds.), A second course in structural equation modeling (2nd ed., pp. 163–218). Information Age.

Chap 20. 확인적 요인분석을 활용한 측정 동일성 검사

안녕하세요?
이번에는 여러분과 함께 확인적 요인분석(CFA)을 활용한 측정 동일성(Measurement Invariance, MI)에 대해 살펴보고자 합니다.

측정 동일성은 우리가 만든 심리 검사나 시험이 서로 다른 집단(예: 남학생과 여학생, 도시와 농촌 학생)에게 ‘공정하게’ 작용하는지 확인하는 필수적인 과정입니다. 만약 측정 동일성이 확보되지 않는다면, 집단 간 점수 차이가 실제 능력의 차이인지 아니면 검사 도구의 편향성 때문인지 알 수 없게 됩니다.

이 내용은 교육 현장의 사례를 들어 측정 동일성의 개념과 절차를 상세히 설명합니다. 분석 도구로는 jamovi를 우선적으로 사용하며, 필요한 경우 R (lavaan) 코드를 병행하겠습니다.

1. 측정 동일성의 기초: 회귀 모델을 통한 이해

측정 동일성을 이해하기 위해 먼저 관찰 변수들 사이의 회귀 모델에서 나타날 수 있는 예측 편향(Prediction Bias)을 살펴보겠습니다.

1.1. 기본 회귀 모델

두 집단(예: 일반고와 자사고)에서 고교 내신(XX)으로 대학 성적(YY)을 예측한다고 가정해 봅시다. 회귀 방정식은 다음과 같습니다.

Yi=a+bXi+eiY_{i} = a + bX_{i} + e_{i}

여기서 aa는 절편, bb는 기울기입니다. 측정 동일성(또는 예측 동일성)이 성립하려면 집단에 관계없이 동일한 회귀 식이 적용되어야 합니다.

1.2. 편향의 형태

  • 무편향 (No Bias): 두 집단의 절편과 기울기가 모두 동일합니다.
  • 절편 편향 (Intercept Bias): 기울기는 같지만 절편이 다릅니다. 동일한 내신 점수임에도 한 집단의 대학 성적이 항상 높게 예측되는 경우입니다.
  • 기울기 편향 (Slope Bias): 절편은 같지만 기울기가 다릅니다. 내신 점수가 대학 성적에 미치는 영향력(민감도)이 집단마다 다른 경우입니다.

2. 공통 요인 모델과 측정 동일성

이제 관찰 변수에서 잠재 변수(Latent Variable)를 다루는 요인 분석 모델로 확장해 보겠습니다. 확인적 요인분석(CFA)에서는 다음과 같은 파라미터들이 중요합니다.

  • 요인 부하량 (λ\lambda, Lambda): 잠재 요인이 관찰 변수에 미치는 영향(회귀의 기울기 역할).
  • 절편 (vv, Nu): 잠재 요인 점수가 0일 때 관찰 변수의 기댓값.
  • 오차 분산 (uu, Unique factor): 요인으로 설명되지 않는 변량.

3. 측정 동일성의 4단계 절차

측정 동일성은 일반적으로 제약이 가장 적은 모델부터 가장 엄격한 모델 순으로 검증합니다.

1단계: 형태 동일성 (Configural Invariance)

  • 정의: 각 집단에서 요인 구조(요인의 수와 지표 변수의 구성)가 동일한지 확인합니다.
  • 교육 사례: ‘수학 효능감’ 검사가 남학생과 여학생 모두에게 동일하게 3개의 문항으로 구성된 단일 요인 구조를 갖는지 확인합니다.

2단계: 측정 동일성/약한 동일성 (Weak/Metric Invariance)

  • 정의: 집단 간 요인 부하량(λ\lambda)을 동일하게 제약합니다.
  • 의미: 요인이 변화할 때 문항 반응이 변화하는 정도가 두 집단에서 같음을 의미합니다. 이것이 충족되어야 요인 간 상관이나 회귀 계수를 비교할 수 있습니다.

3단계: 강한 동일성 (Strong/Scalar Invariance)

  • 정의: 요인 부하량과 더불어 문항 절편(vv)을 동일하게 제약합니다.
  • 의미: 동일한 잠재 수준을 가진 학생이라면 집단에 상관없이 문항에서 동일한 점수를 얻을 것으로 기대합니다. 이 단계가 통과되어야 집단 간 평균 비교가 가능합니다.

4단계: 엄격한 동일성 (Strict Invariance)

  • 정의: 앞선 제약에 오차 분산(uu)까지 동일하게 제약합니다.
  • 의미: 측정의 정밀도(신뢰도)까지 두 집단에서 동일함을 의미합니다.

4. 모의 자료를 활용한 실습: “자기주도학습 검사”

4.1. 가상 시나리오

경기도 교육청 소속 연구사인 당신은 중학생용 ‘자기주도학습 능력’ 검사 도구(3문항)를 개발했습니다. 이 도구가 도시 지역 학생들과 농촌 지역 학생들에게 동일하게 작동하는지 확인하고자 합니다.

4.2. 모의 자료 생성 (R 코드)

R

# 데이터 생성을 위한 R 코드
set.seed(2025)
n <- 200

# 도시 집단 (City): 높은 부하량, 평균 0
city_latent <- rnorm(n, 0, 1)
city_y1 <- 0.8 * city_latent + rnorm(n, 0, 0.6) + 0.5
city_y2 <- 0.7 * city_latent + rnorm(n, 0, 0.6) + 0.5
city_y3 <- 0.9 * city_latent + rnorm(n, 0, 0.6) + 0.5
city_data <- data.frame(y1=city_y1, y2=city_y2, y3=city_y3, group="City")

# 농촌 집단 (Rural): 도시와 동일한 구조 (강력 동일성 가정)
rural_latent <- rnorm(n, -0.5, 1) # 평균이 0.5 낮음
rural_y1 <- 0.8 * rural_latent + rnorm(n, 0, 0.6) + 0.5
rural_y2 <- 0.7 * rural_latent + rnorm(n, 0, 0.6) + 0.5
rural_y3 <- 0.9 * rural_latent + rnorm(n, 0, 0.6) + 0.5
rural_data <- data.frame(y1=rural_y1, y2=rural_y2, y3=rural_y3, group="Rural")

# 통합 데이터
sim_data <- rbind(city_data, rural_data)

4.3. jamovi에서의 분석 단계

jamoviFactor -> Confirmatory Factor Analysis 메뉴를 사용합니다.

  1. Model Builder: y1, y2, y3를 하나의 요인으로 설정합니다.
  2. Filters/Group: group 변수를 ‘Group’ 칸에 넣습니다.
  3. Measurement Invariance: jamovi의 최신 버전(또는 SEMLj 모듈)에서는 측정 동일성 옵션을 체크하면 단계별 모델 비교 표를 자동으로 생성해 줍니다.

분석 결과 예시

모델χ2dfpCFIRMSEA비고
1. 형태 동일성4.212.122.998.032모델 적합함
2. 측정 동일성5.884.208.997.0251번과 차이 없음 (Δp>.05\Delta p > .05)
3. 강한 동일성7.126.310.998.0182번과 차이 없음

해석: 강한 동일성까지 확보되었으므로, 도시 학생과 농촌 학생의 자기주도학습 능력 평균을 비교하는 것은 통계적으로 타당합니다.

5. 결론 및 제언

측정 동일성 검증은 복잡해 보이지만, “우리가 잰 자(Scale)가 모든 집단에게 똑같이 눈금이 매겨져 있는가?”를 묻는 아주 상식적인 과정입니다.

  • 만약 특정 문항이 동일성을 해친다면 해당 문항의 제약을 풀어주는 부분 동일성(Partial Invariance) 모델을 고려할 수 있습니다.
  • 대규모 국제 학업성취도 평가(PISA)와 같이 많은 집단을 비교할 때는 베이지안 접근법이나 정렬(Alignment) 방법이 대안이 될 수 있습니다.

교육 연구자로서 여러분의 도구가 모든 학생에게 공정하게 적용되기를 바랍니다.

참고문헌

  • Chen, F. F. (2007). Sensitivity of goodness of fit indexes to lack of measurement invariance. Structural Equation Modeling, 14(3), 464-504.
  • Cheung, G. W., & Rensvold, R. B. (2002). Evaluating goodness-of-fit indexes for testing measurement invariance. Structural Equation Modeling, 9(2), 233-255.
  • Meredith, W. (1993). Measurement invariance, factor analysis and factorial invariance. Psychometrika, 58(4), 525-543.
  • Millsap, R. E. (2011). Statistical approaches to measurement invariance. Routledge.
  • Widaman, K. F., & Reise, S. P. (1997). Exploring the measurement invariance of psychological instruments: Applications in the substance abuse domain. In K. J. Bryant, M. Windle, & S. G. West (Eds.), The science of prevention: Methodological advances from alcohol and substance use research (pp. 281-324). American Psychological Association.

Chap 15. 이분형(Dichotomous) 및 서열형(Ordered Polytomous) 문항에 대한 확인적 측정 모델

안녕하십니까,
우리가 교육 현장에서 흔히 마주하는 범주형 데이터(Categorical Data)를 어떻게 과학적으로 측정하고 분석할 것인지에 대해 심도 있게 다뤄보겠습니다.

우리가 흔히 사용하는 ‘기초학력 진단평가(정답/오답)’나 ‘학교생활 만족도(리커트 척도)’는 일반적인 확인적 요인분석(CFA)이 가정하는 ‘연속성’과 ‘정규성’을 충족하지 못하는 경우가 많습니다. 이를 무시하고 분석할 경우, 결과가 왜곡될 수 있죠. 이 장에서는 이러한 한계를 극복하기 위한 이분형 및 서열형 문항에 대한 확인적 측정 모델을 살펴보겠습니다.

1. 전통적 확인적 요인분석(CFA)의 한계와 도전

전통적인 CFA 모델은 요인 지표가 연속적이며 기저 요인과 선형 관계를 맺고 있다고 가정합니다. 하지만 교육 현장의 데이터는 다음과 같은 특성을 보입니다.

  • 이분형 지표: 수학 문제의 정답(1)과 오답(0)
  • 서열형 지표: “전혀 그렇지 않다”에서 “매우 그렇다”까지의 리커트형 설문

이러한 데이터를 연속형으로 간주하고 최대우도법(ML)을 적용하면, 문항 간의 연관성이 저평가되거나 부적절한 표준오차가 산출될 위험이 있습니다. 특히 응답 범주가 5개 미만인 경우 이러한 문제는 더욱 심각해집니다.

2. 가상의 시나리오: “김 교사의 수학 학습 태도 및 성취도 연구”

이론적 이해를 돕기 위해, 고등학교 수학교사인 ‘김 교사’의 데이터를 가정해 봅시다.

시나리오: 김 교사는 학생들의 ‘수학적 자신감(정의적 영역)’과 ‘기초 대수 능력(인지적 영역)’을 측정하고자 합니다.

  • 기초 대수 능력 (MATH_SKILL): 5개의 이분항 문항 (정답 1, 오답 0).
  • 수학적 자신감 (MATH_CONF): 5개의 리커트 4점 척도 문항 (1=전혀 그렇지 않다 ~ 4=매우 그렇다).

3. 범주형 지표를 위한 두 가지 틀 (Frameworks)

범주형 지표를 모델링하는 데는 두 가지 주요 접근 방식이 있습니다.

3.1 잠재 응답 공식화 (Latent Response Formulation)

이 방식은 관찰된 범주형 변수 YY 이면에는 정규분포를 따르는 연속적인 잠재 변수 YY^*가 존재한다고 가정합니다.

Yi=νi+λif+ϵiY_{i}^{*} = \nu_{i} + \lambda_{i}f + \epsilon_{i}

여기서YY^*가 특정 임계치(Threshold, τ\tau)를 넘을 때 응답 범주가 바뀐다고 봅니다. 이 방식은 주로 범주형 CFA(CCFA)에서 사용됩니다.

3.2 일반화 선형 혼합 모델 (GLMM)

문항 반응 이론(IRT)에서 주로 사용하는 방식으로, 비선형 관계를 직접 모델링합니다. 예를 들어, 이분형 데이터에서는 로짓(Logit) 혹은 프로빗(Probit) 링크 함수를 사용하여 성공 확률을 예측합니다.

4. 추정 방법: 제한 정보 vs. 전체 정보

어떤 추정치를 사용할지는 분석의 정확도와 복잡도에 큰 영향을 미칩니다.

구분제한 정보 추정 (Limited-Information)전체 정보 추정 (Full-Information)
대표 추정치WLSMV (Weighted Least Squares Mean and Variance adjusted)MML (Marginal Maximum Likelihood) / FIML
입력 데이터요약 통계량 (Polychoric correlation matrix 등)원시 응답 데이터
장점표본 크기가 클 때 빠르고 적합도 지수(CFI, RMSEA) 제공더 정밀한 파라미터 추정 가능, 결측치 처리(MAR)에 강함
단점결측치 처리에 취약(MCAR 가정)잠재 요인이 많아질수록 계산 복잡도 급증

5. 이분형 문항 모델 (Dichotomous Indicators)

수학 문제 정답 여부를 분석할 때 사용되는 모델들입니다.

5.1 1모수 모델 (1PL / Rasch)

모든 문항의 변별도(aa)가 동일하다고 가정하고 난이도(bb)만 추정합니다.

Pi(Yi=1|θ)=11+exp(a(θbi))P_{i}(Y_{i}=1|\theta) = \frac{1}{1+\exp(-a(\theta-b_{i}))}

5.2 2모수 모델 (2PL)

문항마다 변별도(aia_i)와 난이도(bib_i)를 모두 다르게 추정합니다. 김 교사의 데이터에서 특정 수학 문제가 우등생과 열등생을 더 잘 구분한다면 이 모델이 적합합니다.

5.3 3모수 및 4모수 모델 (3PL, 4PL)

  • 3PL: ‘추측 파라미터(cic_i)’를 추가하여, 능력이 낮아도 맞출 확률을 고려합니다.
  • 4PL: ‘실수 파라미터(did_i)’를 추가하여, 능력이 높아도 틀릴 확률(상한 점근선)을 모델링합니다.

6. 서열형(리커트) 문항 모델 (Ordinal Indicators)

‘수학 자신감’ 설문과 같은 데이터에 적합한 모델입니다.

6.1 등급 반응 모델 (Graded Response Model, GRM)

응답 범주가 순서대로 나열되어 있을 때, “k 범주 이상에 응답할 확률”을 모델링합니다.

Pi(Yik|θ)=11+exp(ai(θbij))P_{i}(Y_{i} \ge k|\theta) = \frac{1}{1+\exp(-a_{i}(\theta-b_{ij}))}

여기서 bijb_{ij}는 범주 간의 경계 지점을 의미합니다.

6.2 일반화 부분 점수 모델 (Generalized Partial Credit Model, GPCM)

각 범주 간의 전이(transition)를 일련의 2PL 모델처럼 다룹니다. 문항마다 부분 점수의 부여 방식이 다를 때 유용합니다.

7. jamovi 및 R을 활용한 실무 가이드

jamovi에서의 분석 (기본)

  1. IRT 모듈 설치: ‘Library’에서 ‘snowIRT’ 모듈을 설치합니다.
  2. 분석 수행:
    • 이분형: ‘IRT’ -> ‘Dichotomous’ -> 문항 선택.
    • 서열형: ‘IRT’ -> ‘Polytomous’ -> ‘Rating Scale Model’ 또는 ‘Partial Credit Model’ 선택.
  3. 결과 확인: 난이도, 문항 특성 곡선(ICC)을 확인합니다.

R을 활용한 정밀 분석 (mirt 패키지 활용)

jamovi에서 제공하지 않는 세부 모델(4PL 등)이나 복잡한 CCFA는 R의 mirt 또는 lavaan 패키지를 사용합니다.

R

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

# 2. 가상 데이터 생성 (N=500)
set.seed(123)
N <- 500
theta <- rnorm(N) # 잠재 능력 (평균 0, 표준편차 1) [cite: 154, 176]

# 기초 대수 능력 (이분형: 2PL 모델 기반 생성)
# a: 변별도, b: 난이도
a_skill <- c(1.5, 2.0, 1.2, 1.8, 2.5)
b_skill <- c(-1.0, -0.5, 0, 0.5, 1.0)
data_skill <- matrix(NA, N, 5)
for(i in 1:5) {
  prob <- 1 / (1 + exp(-a_skill[i] * (theta - b_skill[i])))
  data_skill[,i] <- rbinom(N, 1, prob)
}
colnames(data_skill) <- paste0("SKILL_", 1:5)

# 수학적 자신감 (서열형: GRM 모델 기반 생성)
# data_conf 객체 생성
data_conf <- simdata(a = rep(1.5, 5), d = matrix(c(2, 0, -2), 5, 3, byrow=TRUE), 
                     N = N, itemtype = 'graded', Theta = as.matrix(theta))
colnames(data_conf) <- paste0("CONF_", 1:5)

# 3. 분석 수행 (2PL 및 GRM)
# 이분형 분석
fit_skill <- mirt(as.data.frame(data_skill), 1, itemtype = '2PL')
coef(fit_skill, IRTpars = TRUE, simplify = TRUE)

# 서열형 분석 (GRM)
fit_conf <- mirt(as.data.frame(data_conf), 1, itemtype = 'graded')
plot(fit_conf, type = 'trace') # 카테고리 반응 곡선 (CRC) 확인

8. 결론 및 제언

범주형 지표를 활용한 측정 모델링은 단순히 통계 기법의 선택을 넘어, 우리가 측정하고자 하는 교육적 구인(Construct)의 본질을 얼마나 정확하게 반영하느냐의 문제입니다.

  • 연속성 가정이 깨진다면: 지체 없이 범주형 CFA나 IRT 모델을 고려하십시오.
  • 적합도 확인: WLSMV를 통해 CFI, TLI, RMSEA 등 익숙한 지표를 확인할 수 있지만, 범주형 데이터에서의 컷오프 기준은 주의해서 해석해야 합니다.

참고문헌

  • Asparouhov, T., & Muthén, B. (2020). IRT in Mplus (Version 4). Mplus webnote. https://www.statmodel.com/download/mplusirt.pdf
  • Brown, T. A. (2006). Confirmatory factor analysis for applied research. Guilford Press.
  • de Ayala, R. J. (2009). The theory and practice of item response theory. Guilford Press.
  • Embretson, S. E., & Reise, S. P. (2000). Item response theory for psychologists. Erlbaum.
  • Koziol, N. A. (2025). Confirmatory measurement models for dichotomous and ordered polytomous indicators. In Handbook of Structural Equation Modeling (Chapter 15).
  • Muthén, L. K., & Muthén, B. O. (1998-2020). Mplus user’s guide (8th ed.). Authors.
  • Skrondal, A., & Rabe-Hesketh, S. (2004). Generalized latent variable modeling: Multilevel, longitudinal, and structural equation models. CRC Press.