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

교육통계

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 19. 다중특성-다중방법(MTMM; Multitrait-Multimethod) 모델

안녕하세요, 이번에는 다중특성-다중방법(MTMM; Multitrait-Multimethod) 모델의 세계를 탐구하려 합니다.

연구자가 학생의 ‘자기통제력’이나 ‘창의성’ 같은 심리적 특성을 측정할 때, 우리는 흔히 한 가지 설문지만을 사용하곤 합니다. 하지만 학생의 답변(자기보고), 교사의 관찰, 학부모의 평가가 서로 다르다면 무엇이 진짜일까요? 이 질문에 답하기 위해 1959년 캠벨(Campbell)과 피스크(Fiske)가 제안한 것이 바로 MTMM입니다.

이 챕터에서는 구조방정식 모델링(SEM)을 활용하여 MTMM 데이터를 분석하는 최신 기법들을 교육 현장의 사례와 함께 아주 자세히 살펴보겠습니다.

1. MTMM의 핵심 개념: 수렴 타당도와 판별 타당도

MTMM의 목적은 명확합니다. 우리가 측정한 점수가 실제 측정하고자 하는 ‘특성(Trait)’ 때문인지, 아니면 측정한 ‘방법(Method)’ 때문인지를 가려내는 것입니다.

  • 수렴 타당도(Convergent Validity): 서로 다른 방법(예: 교사 관찰, 학생 자기보고)으로 동일한 특성(예: 성실성)을 측정했을 때, 그 결과들이 얼마나 일치하는지를 의미합니다.
  • 판별 타당도(Discriminant Validity): 동일한 방법으로 서로 다른 특성(예: 성실성과 외향성)을 측정했을 때, 이들이 충분히 구별되는지를 의미합니다. 만약 방법 효과가 너무 크면, 성실성과 외향성이 실제로는 다른데도 방법이 같다는 이유만으로 비슷하게 나타날 수 있습니다.

[WaurimaL의 팁]

학교 현장에서 ‘수업 태도’를 측정할 때, 학생은 긍정적으로 답하지만 교사는 엄격하게 평가할 수 있습니다. 이때 두 점수 사이의 상관이 높다면 ‘수렴 타당도’가 확보된 것입니다. 반면, 교사가 한 학생의 ‘수업 태도’와 ‘교우 관계’를 모두 좋게 평가하는 경향이 있다면, 이는 특성의 차이가 아니라 교사의 ‘관대함’이라는 방법 효과(Method Effect)일 수 있습니다.

2. 구조적 비독립성 모델: 구조적으로 다른 방법들

현실적으로 가장 많이 쓰이는 설계는 구조적으로 다른 방법(Structurally Different Methods)입니다. 예를 들어, 한 학생을 평가할 때 ‘학생 본인’, ‘담임 교사’, ‘학부모’가 평가하는 경우입니다. 이들은 각기 다른 역할과 관점을 가진 고정된 평가자 그룹입니다.

2.1. 상관 특성-상관 방법(CTCM) 모델

가장 고전적인 CFA 기반 MTMM 모델입니다.

  • 특성 요인(Trait Factor): 동일한 특성을 측정하는 모든 문항에 영향을 미칩니다.
  • 방법 요인(Method Factor): 동일한 방법(평가자)을 사용하는 모든 문항에 영향을 미칩니다.

하지만 이 모델은 수렴 실패(Convergence problems)음수 분산(Heywood cases) 같은 통계적 결함이 자주 발생한다는 치명적인 단점이 있습니다. 이를 해결하기 위해 제안된 것이 바로 다음의 CTC(M-1) 모델입니다.

2.2. CTC(M-1) 모델: 기준 방법의 도입

이 모델은 하나의 방법을 ‘기준(Reference)’으로 정하고, 나머지 방법들을 이 기준과 비교하는 방식입니다. 교육 연구에서는 보통 ‘자기보고’를 기준으로 삼거나, 가장 객관적이라고 판단되는 ‘표준화 검사’를 기준으로 삼습니다.

  • 장점: 통계적으로 더 안정적이며, 기준 방법 대비 다른 방법들이 가지는 ‘고유한 관점’을 분산으로 추출할 수 있습니다.
  • 해석: 방법 요인의 점수가 0보다 크면 기준(예: 자기보고)보다 해당 특성을 과대평가하고 있음을 의미합니다.

3. 교체 가능한 방법들: 다층 구조방정식(ML-CFA)

학생 한 명을 여러 명의 또래 친구들이 평가하는 경우는 어떨까요? 이때 친구 A, B, C는 ‘친구’라는 동일한 집단에서 무작위로 추출된 교체 가능한 방법(Interchangeable Methods)입니다. 이 데이터는 다층(Multilevel) 구조를 가집니다.

  • 1수준(Level 1; 평가자 수준): 개별 평가자들의 독특한 편향이나 측정 오차를 모델링합니다.
  • 2수준(Level 2; 대상 수준): 평가 대상(학생)의 실제 특성 차이를 모델링합니다.

4. 실습: 교육용 가상 데이터 생성 및 분석 (R 기반)

jamovi의 기본 메뉴로는 복잡한 CTC(M-1) 제약 조건을 설정하기 어렵기 때문에, 구조방정식 분석의 표준인 R의 lavaan 패키지를 사용하여 실습을 진행하겠습니다.

[가상 시나리오]

중학교 1학년 학생 300명을 대상으로 ‘성실성(Con)’과 ‘협력성(Coop)’이라는 두 가지 특성을 측정합니다. 방법은 학생 자기보고(Self), 담임 교사(Teacher), 학부모(Parent) 세 가지를 활용합니다. 각 특성-방법 단위(TMU)당 2개의 문항(indicator)을 사용한다고 가정합니다.

R

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

# 1. 모의 데이터 생성 (Story-based Synthetic Data)
set.seed(2025)
N <- 300

# 잠재 변수 생성 (성실성, 협력성)
Con_Trait <- rnorm(N, 0, 1)
Coop_Trait <- rnorm(N, 0, 1)

# 방법 효과 생성 (교사 특유의 관점, 학부모 특유의 관점 - 자기보고 대비)
T_Method <- rnorm(N, 0, 0.5)
P_Method <- rnorm(N, 0, 0.6)

# 관측 변수 생성 (단순화를 위해 로딩 0.7, 오차 0.5)
# T1:성실성, T2:협력성 / M1:자기보고, M2:교사, M3:학부모
# Y(문항)(특성)(방법)
dat <- data.frame(
  Y111 = 0.8*Con_Trait + rnorm(N,0,0.6), # 성실성-자기보고 문항1
  Y211 = 0.7*Con_Trait + rnorm(N,0,0.6), # 성실성-자기보고 문항2
  
  Y112 = 0.6*Con_Trait + 0.4*T_Method + rnorm(N,0,0.6), # 성실성-교사 문항1
  Y212 = 0.5*Con_Trait + 0.5*T_Method + rnorm(N,0,0.6), # 성실성-교사 문항2
  
  Y113 = 0.5*Con_Trait + 0.6*P_Method + rnorm(N,0,0.6), # 성실성-학부모 문항1
  Y213 = 0.4*Con_Trait + 0.7*P_Method + rnorm(N,0,0.6),  # 성실성-학부모 문항2

  Y121 = 0.8*Coop_Trait + rnorm(N,0,0.6), # 협력성-자기보고
  Y221 = 0.7*Coop_Trait + rnorm(N,0,0.6),
  
  Y122 = 0.6*Coop_Trait + 0.4*T_Method + rnorm(N,0,0.6), # 협력성-교사
  Y222 = 0.5*Coop_Trait + 0.5*T_Method + rnorm(N,0,0.6),
  
  Y123 = 0.5*Coop_Trait + 0.6*P_Method + rnorm(N,0,0.6), # 협력성-학부모
  Y223 = 0.4*Coop_Trait + 0.7*P_Method + rnorm(N,0,0.6)
)

# 2. CTC(M-1) 모델 정의 (자기보고를 기준 방법으로 설정)
ctcm1_model <- '
  # 특성 요인 (기준 방법인 자기보고의 TMU 요인이 곧 특성 요인이 됨)
  Con  =~ 1*Y111 + Y211 + Y112 + Y212 + Y113 + Y213
  Coop =~ 1*Y121 + Y221 + Y122 + Y222 + Y123 + Y223

  # 방법 요인 (자기보고를 제외한 교사, 학부모 요인 설정)
  # 특성별 방법 효과 (Trait-specific method factors)
  M_Teacher_Con  =~ 1*Y112 + Y212
  M_Parent_Con   =~ 1*Y113 + Y213
  M_Teacher_Coop =~ 1*Y122 + Y222
  M_Parent_Coop  =~ 1*Y123 + Y223

  # 직교 제약 (방법 요인은 해당 특성 요인과 상관이 0이어야 함)
  Con  ~~ 0*M_Teacher_Con
  Con  ~~ 0*M_Parent_Con
  Coop ~~ 0*M_Teacher_Coop
  Coop ~~ 0*M_Parent_Coop
'

# 3. 모델 적합
fit <- cfa(ctcm1_model, data = dat, std.lv = TRUE)
summary(fit, standardized = TRUE, fit.measures = TRUE)

5. 결과 해석 및 주요 계수

분석 결과에서 우리는 다음의 네 가지 핵심 계수를 산출하여 측정의 품질을 평가합니다.

주요 분산 분해 지표

지표 (Coefficient)정의 및 의미교육적 해석 예시
신뢰도 (Reliability)관측 분산 중 오차를 제외한 진점수 분산의 비율검사 도구가 학생의 상태를 얼마나 정확하게 측정하는가?
일관성 (Consistency)기준 방법(자기보고)과 공유하는 분산의 비율 (수렴 타당도 지표)교사의 평가가 학생의 실제 자기 인식과 얼마나 일치하는가?
방법 특수성 (Method Specificity)기준 방법과 공유되지 않는 해당 방법만의 고유한 분산 비율교사만이 포착할 수 있는 학생의 특별한 행동 특성이 존재하는가?
문항 특수성 (Indicator Specificity)특정 문항(지표)에만 존재하는 고유한 특성 분산이 질문이 다른 질문들과 달리 측정하는 독특한 내용이 있는가?

[계산 원리]

한 문항의 전체 분산(Var(Y)Var(Y))은 특성 분산 + 방법 분산 + 문항 특수 분산 + 오차 분산으로 구성됩니다.

Rel=Var(Trait)+Var(Method)+Var(ISpe)Var(Total)Rel = \frac{Var(Trait) + Var(Method) + Var(ISpe)}{Var(Total)}

6. 결론 및 향후 과제

MTMM 모델은 단순한 통계 기법을 넘어, “우리가 사람을 어떻게 이해해야 하는가”에 대한 철학적 질문을 던집니다. 한 사람의 특성은 하나의 점수로 고정되는 것이 아니라, 누구의 눈으로(방법) 보느냐에 따라 달라질 수 있다는 점을 데이터로 보여주기 때문입니다.

최근에는 이를 확장하여 종단적 MTMM(시간에 따른 타당도 변화), 잠재 중재 분석(방법 효과가 성별에 따라 다른지 등) 등 매우 정교한 분석들이 이루어지고 있습니다.

참고문헌

  • Campbell, D. T., & Fiske, D. W. (1959). Convergent and discriminant validation by the multitrait-multimethod matrix. Psychological Bulletin, 56(2), 81–105.
  • Eid, M., Koch, T., & Geiser, C. (2025). Multitrait-multimethod models. In Handbook of Structural Equation Modeling (Chap. 19).
  • Eid, M., Geiser, C., & Koch, T. (2016). Measuring method effects: From traditional to design-oriented approaches. Current Directions in Psychological Science, 25(4), 275–280.
  • Geiser, C., Eid, M., & Nussbeck, F. W. (2012). On the meaning of the latent variables in the Correlated Trait-Correlated Method-1 model. Structural Equation Modeling, 19(3), 409–436.
  • Marsh, H. W., Byrne, B. M., & Craven, R. (1992). Overcoming problems in confirmatory factor analyses of MTMM data: The correlated uniqueness model and factorial invariance. Multivariate Behavioral Research, 27(4), 489–507.

    Chap 18. 이요인(Bifactor) 측정 모델

    안녕하세요! 이번엔 여러분과 함께 이요인 측정 모델(Bifactor Measurement Models)의 깊이 있는 세계를 탐구하게 되어 기쁩니다.

    이요인 모델은 1930년대 홀징거(Holzinger)에 의해 처음 제안된 이후, 최근 10년 사이 심리 및 교육 측정 분야에서 비약적인 발전을 이루었습니다. 이 모델의 핵심은 우리가 측정하고자 하는 심리적 구인이 ‘위계적’이라는 점을 인정하는 데서 출발합니다.

    본 강의 노트를 통해 이요인 모델의 이론적 기초부터 실무적인 분석 방법까지, 교육 현장의 데이터를 예로 들어 상세히 살펴보겠습니다.

    1. 이요인 모델의 기초: 왜 이요인(Bifactor)인가?

    교육 현장에서 우리가 측정하는 많은 구인(Construct)은 복합적입니다. 예를 들어, ‘학업적 자기효능감’을 측정할 때 이는 전반적인 자신감을 반영하기도 하지만, 과목별(국어, 수학, 영어) 특수성도 함께 포함합니다.

    1.1 두 가지 핵심 원리

    이요인 모델을 이해하기 위해서는 다음 두 가지 원리를 기억해야 합니다.

    1. 구인의 위계성: 심리적 구인은 광범위한 수준(일반 요인)부터 좁은 수준(집단 요인)까지 위계적으로 존재합니다.
    2. 분산의 분할: 개별 문항의 분산은 네 가지로 나뉩니다.
      • 일반 분산(General): 모든 문항이 공유하는 것.
      • 집단 분산(Group): 특정 하위 문항들끼리만 공유하는 것.
      • 특수 분산(Specific): 해당 문항만의 고유한 체계적 분산.
      • 오차 분산(Error): 비체계적 분산.

    2. 탐색적 이요인 모델 (Exploratory Bifactor Models)

    탐색적 단계에서는 각 문항이 일반 요인이나 어떤 집단 요인에도 자유롭게 부하(load)될 수 있도록 허용합니다.

    2.1 주요 분석 접근법

    1. Schmid-Leiman (SL) 해법: 상관 요인 모델을 직교화(orthogonalization)하여 이요인 구조로 변환하는 고전적 방식입니다. 하지만 교차 부하가 있는 데이터에서는 일반 요인을 과대추정하는 경향이 있습니다.
    2. Jennrich-Bentler (JB) 해법: 분석적 회전(Analytic rotation)을 통해 직접 이요인 구조를 찾아냅니다.
    3. 직접 방법 (DSL, DBI): 타겟 행렬을 사용하여 유클리드 거리가 가장 가까운 최적의 해를 찾습니다.

    3. 확인적 이요인 모델 (Confirmatory Bifactor Models)

    최근 학계에서는 “이요인 열풍(bifactor mania)”이라고 불릴 만큼 이 모델이 자주 사용됩니다. 그 이유는 이요인 모델이 기존의 2차(Second-order) 모델보다 데이터 적합도가 더 좋게 나오는 경우가 많기 때문입니다.

    3.1 주의할 점: “적합도가 높다고 항상 좋은 모델인가?”

    많은 연구에서 이요인 모델이 승리하지만, 전문가들은 주의를 당부합니다.

    • 복잡성 수용: 이요인 모델은 데이터 내의 사소한 복잡성(작은 교차 부하 등)을 더 잘 흡수하기 때문에 적합도가 인위적으로 높게 나타날 수 있습니다.
    • 무작위 데이터의 함정: 심지어 무작위로 생성된 노이즈 데이터조차 이요인 모델이 다른 모델보다 더 잘 설명하는 경향이 있습니다.
    • 실질적 의미: 통계적 적합도보다는 추출된 ‘일반 요인’과 ‘집단 요인’이 개념적으로 어떤 의미를 갖는지 해석하는 것이 훨씬 중요합니다.

    4. 교육 연구를 위한 가상 데이터 실습

    이요인 모델의 유용성을 살펴보기 위해 ‘창의적 문제해결 역량 검사’ 데이터를 가정해 보겠습니다.

    [스토리 배경]

    A 교육청에서는 중학생들의 ‘창의적 문제해결력’을 측정하기 위해 15문항으로 구성된 척도를 개발했습니다. 이론적으로는 (1) 유창성, (2) 융통성, (3) 독창성이라는 3개의 하위 요인이 존재한다고 보지만, 모든 문항은 궁극적으로 하나의 ‘일반 창의성’을 측정한다고 가정합니다.

    4.1 데이터 생성 및 분석 (jamovi & R)

    jamovi의 jmv 라이브러리나 lavaan 패키지를 사용하여 분석할 수 있습니다.

    R

    # R을 활용한 이요인 CFA 예시 (lavaan 패키지)
    library(lavaan)
    
    # 모델 정의: 일반 요인(G)과 3개의 집단 요인(S1, S2, S3)
    # 모든 요인은 서로 독립(직교)한다고 가정함
    bifactor_model <- '
      G  =~ q1 + q2 + q3 + q4 + q5 + q6 + q7 + q8 + q9 + q10 + q11 + q12 + q13 + q14 + q15
      S1 =~ q1 + q2 + q3 + q4 + q5
      S2 =~ q6 + q7 + q8 + q9 + q10
      S3 =~ q11 + q12 + q13 + q14 + q15
      
      # 요인 간 상관을 0으로 고정 (이요인 모델의 기본 가정)
      G ~~ 0*S1; G ~~ 0*S2; G ~~ 0*S3
      S1 ~~ 0*S2; S1 ~~ 0*S3; S2 ~~ 0*S3
    '
    # jamovi에서는 'SEMLj' 모듈에서 위 구문을 입력하여 분석 가능합니다.
    

    5. 핵심 심리측정 지표 (Bifactor Indices)

    이요인 모델을 보고할 때 단순히 적합도(CFICFI, RMSEARMSEA)만 제시하는 것은 불충분합니다. 다음 지표들을 반드시 포함해야 합니다.

    지표명설명해석 기준
    ECV (Explained Common Variance)전체 공통 분산 중 일반 요인이 설명하는 비중값이 클수록(예: .70 이상) 데이터가 본질적으로 단일차원임을 의미
    ωH\omega_H (Omega Hierarchical)총점 분산 중 일반 요인에 의해 설명되는 신뢰도.80 이상이면 하위 요인이 있더라도 총점을 단일 점수로 해석 가능
    ωHS\omega_{HS} (Omega Hierarchical Subscale)일반 요인을 통제한 후 하위 요인이 가진 고유한 신뢰도이 값이 낮으면 해당 하위 점수(Subscale score)를 별도로 보고할 근거가 약함

    5.1 실습 예시 해석

    우리의 ‘창의성’ 데이터 분석 결과가 다음과 같다고 가정해 봅시다.

    • ωH=.85\omega_H = .85: 학생들의 총점은 매우 신뢰할 만하며, 대부분 ‘일반 창의성’을 반영합니다.
    • ωHS=.05\omega_{HS} = .05: 일반 요인을 제거하고 나니 ‘유창성’이나 ‘독창성’ 자체의 고유 분산은 거의 없습니다.
    • 결론: 이 검사는 하위 점수를 각각 매기기보다는, 하나의 전체 점수로 학생을 평가하는 것이 훨씬 정확합니다.

    6. 이요인 문항반응이론 (Bifactor IRT)

    IRT에서도 이요인 모델은 강력합니다. 특히 단일차원 IRT 모델을 적용했을 때 발생하는 모수 추정의 편향을 확인하는 데 유용합니다.

    • 조건부 경사(Conditional Slopes): 집단 요인이 0인 특정 상황에서의 문항 변별도.
    • 주변 경사(Marginal Slopes): 집단 요인의 영향을 통합(integrating)하여 계산한 변별도로, 단일차원 IRT 모델과 직접 비교 가능합니다.
    • 만약 단일차원 모델의 정보 함수가 이요인 모델보다 훨씬 높게 나온다면, 이는 다차원성으로 인해 정보량이 과대추정된 것일 수 있습니다.

    7. 결론 및 제언

    이요인 모델은 우리에게 중요한 질문을 던집니다. “우리가 측정하는 하위 요인들이 정말로 독립적인 의미가 있는가, 아니면 일반 요인의 그림자에 불과한가?”

    교육 측정 전문가로서 여러분께 권장하는 분석 절차는 다음과 같습니다.

    1. 다양한 모델 비교: 단일차원, 상관 요인, 이요인 모델을 모두 적합시켜 보세요.
    2. 지표 보고: 적합도에만 매몰되지 말고 ECV, ωH,ωHS\omega_H, \omega_{HS}를 통해 하위 점수의 유용성을 검증하세요.
    3. 이론적 정당성: 통계적으로 적합도가 좋다고 해서 무조건 수용하지 말고, 일반 요인에서 정제된(cleansed) 집단 요인이 교육적으로 어떤 의미가 있는지 고민하세요.

    참고문헌

    • Abad, F. J., Garcia-Garzon, E., Garrido, L. E., & Barrada, J. R. (2017). Iteration of partially specified target matrices: Application to the bi-factor case. Multivariate Behavioral Research, 52(4), 416–429.
    • Bonifay, W., & Cai, L. (2017). On the complexity of item response theory models. Multivariate Behavioral Research, 52(4), 465–484.
    • Jennrich, R. I., & Bentler, P. M. (2011). Exploratory bi-factor analysis. Psychometrika, 76(4), 537–549.
    • Reise, S. P. (2012). The rediscovery of bifactor measurement models. Multivariate Behavioral Research, 47(5), 667–696.
    • Rodriguez, A., Reise, S. P., & Haviland, M. G. (2016). Applying bifactor statistical indices in the evaluation of psychological measures. Journal of Personality Assessment, 98(3), 223–237.
    • Schmid, J., & Leiman, J. M. (1957). The development of hierarchical factor solutions. Psychometrika, 22(1), 53–61.
    • Waller, N. G. (2018). Direct Schmid-Leiman transformations and rank-deficient loadings matrices. Psychometrika, 83(4), 858–870.

    Chap 17. 구조방정식에서 요인 점수 사용하기

    반갑습니다, 여러분. 이번엔 교육통계학의 ‘꽃’이라 불리는 구조방정식 모델링(SEM)을 공부하다 보면 한 번쯤 마주하게 되는 현실적인 고민, 바로 “표본 크기가 작을 때 어떻게 해야 하는가?”“요인 점수(Factor Scores)를 그냥 회귀분석에 써도 되는가?”에 대해 심도 있게 다뤄보겠습니다.

    우리는 보통 SEM이 잠재 변수 간의 관계를 파악하는 가장 완벽한 도구라고 배웁니다. 하지만 실제 교육 현장에서 데이터를 수집하다 보면 표본 200~300명을 모으는 것이 하늘의 별 따기처럼 느껴질 때가 많죠. 이럴 때 대안으로 제시되는 요인 점수 회귀분석(FSR)과 그 편향을 획기적으로 해결한 Croon 방법(SAM 접근법)에 대해 자세히 살펴보겠습니다.

    1. 구조방정식(SEM)의 명암: 왜 대안이 필요한가?

    SEM은 잠재 변수를 다룰 때 측정 오차(Measurement Error)를 통계적으로 고려하기 때문에 비편향된(Unbiased) 추정치를 얻을 수 있다는 강력한 장점이 있습니다. 또한 모델이 데이터에 얼마나 잘 맞는지 다양한 적합도 지수를 통해 확인할 수 있죠.

    하지만 현실적인 제약이 따릅니다.

    • 대표본의 필요성: 추정해야 할 파라미터가 많아질수록 아주 큰 표본 크기가 필요합니다. 예산이나 시간 제약이 큰 학교 현장 연구에서는 이를 충족하기 어렵습니다.
    • 오차의 전이: 모델의 어느 한 부분만 잘못 설정(Misspecification)되어도 모델 전체의 파라미터가 왜곡될 위험이 있습니다.

    이런 이유로 연구자들은 잠재 변수 대신 요인 점수(Factor Scores)를 계산하여 일반적인 회귀분석을 돌리는 방식을 택하곤 합니다. 이것이 바로 요인 점수 회귀분석(FSR)입니다.

    2. 요인 점수 활용의 함정: “나이브(Naive)한 접근의 위험성”

    많은 연구자가 단순히 요인 분석으로 점수를 뽑아 회귀분석을 수행하지만, 이는 편향된 결과를 낳을 확률이 매우 높습니다.

    왜 편향이 발생하는가?

    요인 점수 Fi=AyF_{i} = Ay는 관측 변수들의 선형 결합으로 계산되는데, 이 과정에서 측정 오차가 완전히 제거되지 않고 점수에 포함됩니다. 결과적으로 요인 점수의 분산-공분산 행렬(Var(F)Var(F))은 실제 잠재 변수의 그것(Var(η)Var(\eta))과 달라지게 되며, 이를 바탕으로 계산된 회귀 계수는 대개 과소 추정(Downward bias)되거나 왜곡됩니다.

    요인 점수 산출 방식에 따른 차이

    방법설명결과의 특성
    Regression Predictor (ARA^R)Thomson, Thurstone이 제안독립 변수만 잠재 변수일 때 비편향
    Bartlett Predictor (ABA^B)Bartlett이 제안종속 변수만 잠재 변수일 때 비편향
    합산 점수 (Sum Scores)단순히 문항 점수를 더함병행 측정 모델(Parallel Model) 가정이 깨지면 큰 편향 발생

    3. 해결사: Croon 방법과 SAM (Structural After Measurement)

    이런 편향 문제를 해결하기 위해 Croon(2002)은 요인 점수의 분산-공분산 행렬을 수학적으로 보정하는 공식을 제안했습니다.

    Croon의 보정 공식

    잠재 변수의 실제 분산과 공분산을 추정하기 위해 다음과 같은 행렬 연산을 수행합니다.

    Var(ηk)^=(AkΛk)1[Var(Fk)AkΘkAk](ΛkAk)1\widehat{Var(\eta_{k})} = (A_{k}\Lambda_{k})^{-1}[Var(F_{k}) – A_{k}\Theta_{k}A_{k}’](\Lambda_{k}’A_{k}’)^{-1}

    Cov(ηk,ηm)^=(AkΛk)1Cov(Fk,Fm)(ΛmAm)1\widehat{Cov(\eta_{k}, \eta_{m})} = (A_{k}\Lambda_{k})^{-1}Cov(F_{k}, F_{m})(\Lambda_{m}’A_{m}’)^{-1}

    이 방법은 먼저 측정 모델을 개별적으로 추정한 뒤(Step 1), 그 정보를 바탕으로 구조 모델을 추정하는(Step 2) 2단계 접근법의 일종입니다. 최근에는 이를 SAM(Structural After Measurement)이라는 더 넓은 프레임워크로 부르기도 합니다.


    4. 실전 사례: 학교급별 디지털 리터러시와 학습 참여도

    이해를 돕기 위해 교육 현장의 가상 시나리오를 만들어 보았습니다.

    [가상 시나리오: 디지털 선도학교 연구]

    A 교수는 초등학교 50개교의 교장 선생님을 대상으로 ‘학교의 디지털 인프라 수준’이 ‘교사의 디지털 교수 역량’을 매개로 ‘학생의 학습 참여도’에 미치는 영향을 연구하고자 합니다. 하지만 관측 변수는 40개가 넘는데 표본(교장단)은 50명뿐입니다. 일반적인 SEM으로는 추정이 불가능한 상황입니다.

    모의 데이터 생성 및 분석 (R 기반)

    jamovi의 기본 SEM 모듈은 표준적인 SEM 위주이므로, SAM(Croon 방법)을 정확히 구현하기 위해 jamovi 내부의 Rj Editor를 사용하거나 R을 활용하는 것이 좋습니다.

    R

    # 필요한 라이브러리 로드
    library(lavaan)
    
    # 1. 가상 데이터 생성 (N=50, 소표본 상황)
    set.seed(2025)
    model_pop <- '
      Infrastructure =~ 0.8*i1 + 0.7*i2 + 0.9*i3
      Competency =~ 0.8*c1 + 0.7*c2 + 0.6*c3
      Engagement =~ 0.9*e1 + 0.8*e2 + 0.7*e3
      Competency ~ 0.5*Infrastructure
      Engagement ~ 0.4*Competency
    '
    data_school <- simulateData(model_pop, sample.nobs = 50)
    
    # 2. 일반 SEM 시도 (표본이 작아 수렴 실패나 불안정한 결과 가능성)
    fit_sem <- sem(model_pop, data = data_school)
    
    # 3. SAM (Croon 방법 적용) 분석
    # local SAM은 Croon의 보정법과 수학적으로 동일함 [cite: 409]
    fit_sam <- sam(model_pop, data = data_school, sam.method = "local")
    
    # 결과 비교 출력
    summary(fit_sam)
    

    분석 결과 해석

    1. 일반 SEM: 표본 크기(N=50N=50)에 비해 파라미터가 너무 많아 적합도 지수가 신뢰하기 어렵거나 추정치가 불안정할 수 있습니다.
    2. SAM(Croon 방법): 측정 모델을 먼저 블록별로 분리해서 추정하므로 소표본에서도 안정적으로 수렴하며, 요인 점수 사용 시 발생하는 편향을 보정하여 비편향된 경로 계수를 산출합니다.

    5. 요약 및 결론

    연구자로서 우리는 언제나 ‘완벽한’ SEM을 꿈꾸지만, 현장은 늘 우리에게 ‘작은 표본’이라는 과제를 던져줍니다.

    • 나이브한 요인 점수 사용은 금물: 측정 오차로 인해 결과가 왜곡됩니다.
    • 소표본이나 복잡한 모델에는 SAM(Croon)이 대안: 모델을 부분적으로 나누어 추정하므로 강건(Robust)하며, 오차 전이 문제를 방지할 수 있습니다.
    • 도구 활용: R의 lavaan 패키지에 있는 sam() 함수를 활용하면 전문가 수준의 보정된 분석이 가능합니다.

    교육학 연구의 가치는 데이터의 양보다 그 해석의 정교함에 있습니다. Croon 방법을 통해 작은 데이터에서도 빛나는 통찰을 얻으시길 바랍니다.

    참고문헌

    • Croon, M. A. (2002). Using predicted latent scores in general latent structure models. In G. Marcoulides & I. Moustaki (Eds.), Latent variable and latent structure modeling (pp. 195–223). Erblbaum.
    • Devlieger, I., Mayer, A., & Rosseel, Y. (2016). Hypothesis testing using factor score regression: A comparison of four methods. Educational and Psychological Measurement, 76(5), 741–770.
    • Devlieger, I., & Rosseel, Y. (2017). Factor score path analysis: An alternative for SEM? Methodology, 13, 31–38.
    • Devlieger, I., Talloen, W., & Rosseel, Y. (2019). New developments in factor score regression: Fit indices and a model comparison test. Educational and Psychological Measurement, 79(6), 1017–1037.
    • Rosseel, Y., & Loh, W. W. (in press). A structural-after-measurement (SAM) approach to structural equation modeling. Psychological Methods.

    Chap 16. 구조방정식 모델링에서의 문항 꾸러미화: 기회주의적 사용의 위험성과 올바른 지침

    안녕하세요.
    이번에는 구조방정식 모델링(SEM)에서 자주 사용되지만 동시에 오용되기도 쉬운 ‘문항 꾸러미화(Item Parceling)’에 대해 깊이 있게 다뤄보겠습니다.

    이 글은 단순한 이론 요약을 넘어, 실제 교육 현장에서 데이터를 분석하는 연구자들이 마주할 수 있는 고민과 해결책을 담고 있습니다. 특히 구조방정식 전용 툴인 jamovi와 더 정밀한 분석을 위한 R 코드를 병행하여 설명하겠습니다.

    1. 문항 꾸러미화(Item Parceling)란 무엇인가?

    문항 꾸러미화는 잠재변수를 측정하기 위한 원래의 개별 문항들을 2개 이상의 소그룹으로 묶어, 그 점수의 평균이나 합계를 지표(Indicator)로 사용하는 기법을 말합니다.

    교육 연구에서 우리는 종종 다음과 같은 상황에 직면합니다:

    • 표본 크기는 작은데 문항 수는 너무 많을 때 (예: 학생 150명인데 문항은 40개)
    • 개별 문항의 신뢰도가 낮거나 데이터가 정규분포를 따르지 않을 때
    • 모델의 적합도가 낮아 논문 통과가 걱정될 때

    이때 연구자들은 ‘쉬운 해결책’으로 꾸러미화를 선택합니다. 꾸러미화를 하면 지표의 수가 줄어들어 추정해야 할 모수가 감소하고, 분포가 더 정규성을 띠며, 모델 적합도가 ‘마법처럼’ 좋아지기 때문입니다. 하지만 이는 ‘양날의 검’입니다.

    2. 꾸러미화 전략: 어떻게 묶을 것인가?

    문항을 묶는 방법은 크게 세 가지로 나뉩니다.

    1) 단순 무작위 전략 (Simple Random Strategy)

    문항들을 아무런 규칙 없이 무작위로 할당하는 방법입니다. 이론적으로 문항들이 단일차원(Unidimensional)을 이룰 때 가장 보편적으로 사용됩니다.

    2) 내용 중심 전략 (Content-Driven Strategy)

    이론적 배경을 바탕으로 문항을 묶는 방법입니다.

    • 분산형(Distributed) 꾸러미화: 각 꾸러미가 전체 요인을 대표하도록 하위 요인 문항들을 골고루 섞습니다.
    • 고립형(Isolated) 꾸러미화: 같은 성격의 문항(예: 역채점 문항들, 동일 소검사 문항들)끼리만 묶습니다.

    3) 경험적 전략 (Empirical Strategy)

    데이터의 통계적 특성(요인 부하량, 상관관계 등)을 보고 결정합니다. 예를 들어 부하량이 높은 문항과 낮은 문항을 짝지어 꾸러미 간 균형을 맞추는 ‘Balancing’ 방법이 있습니다.

    3. 꾸러미화의 위험성: 감춰진 진실

    꾸러미화가 적합도를 높여주는 이유는 모델의 오류를 은폐하기 때문입니다.

    1. 오류 탐지 능력 저하: 문항 수준에서 발생하는 교차 부하량(Cross-loading)이나 잔차 간 상관관계를 번들 안에 가두어 버립니다. 즉, “틀린 모델인데도 잘 맞는 것처럼” 보이게 합니다 (제2종 오류 증가).
    2. 구조계수 왜곡: 측정 모델의 오류가 가려진 상태에서 계산된 경로계수(Structural parameters)는 편향될 수 있습니다.
    3. 꾸러미 할당 가변성(Parcel-allocation variability): 같은 데이터를 가지고도 문항을 어떻게 묶느냐에 따라 결과가 달라집니다. 수억 가지의 조합 중 단 하나의 결과만 보고하는 것은 연구자의 기회주의적 선택일 수 있습니다.

    4. 실습: 교육 데이터 시뮬레이션 및 분석

    이제 가상의 스토리를 통해 문항 꾸러미화의 효과와 위험성을 확인해 보겠습니다.

    [시나리오]

    A 초등학교 교사인 김 연구원은 학생들의 ‘학업 참여도(Engagement)’‘학업 성취도(Achievement)’에 미치는 영향을 연구하고자 합니다. ‘학업 참여도’, ‘학업 성취도’는 모두 9개 문항으로 구성되어 있으나, 표본 수가 150명으로 적어 모델 수렴이 잘 안 되고 적합도가 낮게 나옵니다. 김 연구원은 이를 3개의 문항씩 3개의 문항 꾸러미로 묶어 분석하기로 했습니다.

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

    실제 상황과 유사하게 약간의 측정 오류(일부 문항의 상관성)를 포함한 데이터를 생성합니다.

    R

    # 1. 필요 라이브러리 로드
    if(!require(lavaan)) install.packages("lavaan")
    if(!require(semTools)) install.packages("semTools")
    library(lavaan)
    library(semTools)
    
    # 2. 교육 현장 모의 데이터 생성 (N=150)
    # 스토리: 성장 마음가짐(f1)이 수학 흥미(f2)를 예측함.
    # 일부러 문항 수준에서 '역채점 문항 효과'와 같은 오류를 심어둠.
    set.seed(2025)
    sim_model <- '
      f1 =~ 0.7*e1 + 0.6*e2 + 0.5*e3 + 0.7*e4 + 0.6*e5 + 0.5*e6 + 0.7*e7 + 0.6*e8 + 0.5*e9
      f2 =~ 0.8*a1 + 0.7*a2 + 0.6*a3 + 0.8*a4 + 0.7*a5 + 0.6*a6 + 0.8*a7 + 0.7*a8 + 0.6*a9
      f2 ~ 0.4*f1  # 경로계수 설정
      e1 ~~ 0.3*e2  # 문항 수준의 잔차 상관(오류)
    '
    school_data <- simulateData(sim_model, sample.nobs = 150)
    

    2) jamovi에서의 분석 (일반 SEM)

    jamovi의 SEMLj 모듈을 사용합니다.

    1. Engagement 요인에 e1~e9를 모두 넣고 분석합니다.
    2. Achievement 요인에 a1~a9를 모두 넣고 분석합니다.
    3. 아마도 RMSEA나 CFI 값이 권장 기준에 미치지 못할 것입니다. (문항 수준의 오류 때문)

    3) R을 이용한 문항 꾸러미화 민감도 분석 (Sensitivity Analysis)

    단순히 한 번 묶고 끝내는 것이 아니라, 무작위로 여러 번 묶었을 때 결과가 얼마나 널뛰는지 확인해야 합니다.

    R

    # 3. 모델 설정
    # 원래 문항 수준의 구조 (item.syntax)
    item_syntax <- '
      f1 =~ e1 + e2 + e3 + e4 + e5 + e6 + e7 + e8 + e9
      f2 =~ a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9
    '
    
    # 번들 수준의 구조 (mod.parcels)
    # 각 요인을 3개의 번들로 묶음
    parcel_model <- '
      f1 =~ p1 + p2 + p3
      f2 =~ p4 + p5 + p6
      f2 ~ f1
    '
    
    # 4. 민감도 분석 실행 (100번의 무작위 할당)
    # parcelAllocation 함수를 통해 가변성을 확인합니다.
    results <- parcelAllocation(
      model = parcel_model, 
      data = school_data, 
      nAlloc = 100, 
      parcel.names = c("p1","p2","p3","p4","p5","p6"),
      item.syntax = item_syntax
    )
    
    # 5. 결과 요약 및 해석
    summary(results)
    

    5. 연구자를 위한 최종 권고문

    문항 꾸러미화를 사용할 때는 다음의 7가지 원칙을 반드시 지켜야 합니다.

    1. 문항 수준 분석 선행: 꾸러미화 전, 반드시 개별 문항 수준에서의 확인적 요인분석(CFA)을 시도하고 그 결과를 보고하십시오.
    2. 동기 명시: 단순히 ‘적합도를 높이기 위해’가 아니라, 이론적 근거를 제시하십시오.
    3. 꾸러미화 전략 기술: 무작위인지, 내용 중심인지, 왜 그렇게 결정했는지 상세히 적으십시오.
    4. 민감도 분석 실시: 단 하나의 꾸러미 조합만 보고하지 말고, semTools 등을 활용해 여러 조합의 평균적인 결과를 보고하십시오.
    5. 측정 불변성 주의: 다집단 분석 시 꾸러미화는 집단 간 차이를 왜곡할 위험이 큽니다.
    6. 단일차원성 검증: 꾸러미로 묶이는 문항들이 정말 하나의 요인을 측정하는지 사전에 검증하십시오.
    7. 투명한 보고: 꾸러미화를 했다는 사실을 숨기지 마십시오. 이는 재현 가능한 과학을 위한 기본 매너입니다.

    참고문헌

    • Bandalos, D. L. (2002). The effects of item parceling on goodness-of-fit and parameter estimate bias in structural equation modeling. Structural Equation Modeling, 9(1), 78-102.
    • Bandalos, D. L., & Finney, S. J. (2001). Item parceling issues in structural equation modeling. In G. A. Marcoulides (Ed.), New developments and techniques in structural equation modeling (pp. 269–297). Lawrence Erlbaum Associates Publishers.
    • Little, T. D., Rhemtulla, M., Gibson, K., & Schoemann, A. M. (2013). Why the items versus parcels controversy needn’t be one. Psychological Methods, 18(3), 285-300.
    • Sterba, S. K. (2011). Implications of parcel-allocation variability for comparing fit of item-solutions and parcel-solutions. Structural Equation Modeling, 18(4), 554-577.
    • Sterba, S. K., & Rights, J. D. (2017). Effects of parceling on model selection: Parcel-allocation variability in model ranking. Psychological Methods, 22(1), 47-68.

    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.

    Chap 14. 확인적 요인분석(CFA)

    안녕하세요.
    여러분과 함께 확인적 요인분석(Confirmatory Factor Analysis, CFA)의 세계를 탐구하게 되어 기쁩니다.

    오늘 우리가 살펴볼 내용은 Timothy A. Brown의 핵심 이론을 바탕으로 하며, 실제 학교 현장에서 마주할 수 있는 ‘학업 자기효능감’과 **‘교사 지지’라는 두 가지 개념을 통해 CFA의 전 과정을 상세히 학습해 보겠습니다.

    1. 확인적 요인분석(CFA)의 본질

    확인적 요인분석은 구조방정식 모델링(SEM)의 핵심적인 부분으로, 측정 모델(Measurement Model)을 다룹니다. 즉, 우리가 직접 관찰한 지표들(시험 점수, 설문 문항 등)과 우리가 직접 볼 수 없는 잠재 변수(지능, 성격, 효능감 등) 사이의 관계를 규명하는 작업입니다.

    1.1 공통 요인 모델 (Common Factor Model)

    CFA의 기초는 모든 관찰 지표가 하나 이상의 공통 요인(Common Factor)과 하나의 고유 요인(Unique Factor)의 선형 결합이라는 가정에서 출발합니다.

    • 공통 변량(Common Variance): 잠재 변수에 의해 설명되는 부분으로, 여러 지표가 공유하는 변량입니다.
    • 고유 변량(Unique Variance): 해당 지표만이 가진 신뢰로운 특성과 측정 오차(Measurement Error)가 결합된 부분입니다.

    1.2 탐색적 요인분석(EFA) vs. 확인적 요인분석(CFA)

    가장 큰 차이는 ‘사전 제약(A priori specification)’에 있습니다.

    • EFA: 데이터가 스스로 구조를 드러내도록 두는 데이터 중심 접근법입니다. 어떤 문항이 어떤 요인에 묶일지 사전에 정하지 않습니다.
    • CFA: 연구자가 이론적 근거를 바탕으로 요인의 수, 문항과의 관계(요인 부하량) 등을 미리 지정하고, 이 모델이 실제 데이터와 얼마나 잘 맞는지 평가합니다.

    2. CFA의 주요 목적과 파라미터

    2.1 왜 CFA를 하는가?

    1. 척도 개발 및 타당화: 설문지가 의도한 구조대로 작동하는지 확인합니다.
    2. 방법 효과(Method Effects) 검출: 문항의 표현 방식(역채점 문항 등) 때문에 발생하는 오차의 상관을 모델링할 수 있습니다.
    3. 수렴 및 판별 타당도 검증: 비슷한 개념의 지표끼리 강하게 묶이는지(수렴), 서로 다른 개념이 충분히 구분되는지(판별) 확인합니다.
    4. 측정 동일성(Measurement Invariance) 평가: 성별이나 문화권에 따라 척도가 동일하게 기능하는지 분석합니다.

    2.2 모델의 주요 파라미터

    • 요인 부하량(Factor Loadings, λ\lambda): 요인이 지표를 예측하는 회귀 계수입니다.
    • 고유 변량(Unique Variances, δ\delta): 요인에 의해 설명되지 않는 나머지 오차 부분입니다.
    • 요인 분산 및 공분산(ϕ\phi): 잠재 변수 자체의 변동성과 변수 간의 관계를 나타냅니다.

    3. 실습을 위한 시나리오 및 모의 데이터 생성

    🏫 연구 시나리오: “중학생의 학습 동기 구조 분석”

    A 중학교 상담 교사인 당신은 학생들이 느끼는 ‘학업 자기효능감(Self-Efficacy, SE)’‘교사 지지(Teacher Support, TS)’가 서로 다른 개념인지, 그리고 각 문항이 적절한지 검증하고자 합니다.

    • 학업 자기효능감(SE): 문항 X1~X4 (예: “나는 어려운 문제도 풀 수 있다”)
    • 교사 지지(TS): 문항 X5~X8 (예: “선생님은 내가 힘들 때 도와주신다”)
    • 특이 사항: X7과 X8은 부정적인 뉘앙스의 역채점 문항으로 설계되어 문항 간 오차 상관이 예상됩니다.

    Jamovi 및 R 실습 코드

    Jamovi는 내부적으로 R의 lavaan 패키지를 사용합니다. 먼저 분석에 사용할 모의 데이터를 생성하고 분석하는 R 코드를 제시합니다.

    R

    # 필요한 패키지 로드
    if(!require(lavaan)) install.packages("lavaan")
    library(lavaan)
    
    # 1. 모의 데이터 생성 (N=300)
    set.seed(2025)
    model_sim <- '
      SE =~ 0.8*x1 + 0.7*x2 + 0.75*x3 + 0.6*x4
      TS =~ 0.85*x5 + 0.8*x6 + 0.75*x7 + 0.7*x8
      SE ~~ 0.4*TS  # 두 요인 간 상관
      x7 ~~ 0.3*x8  # 방법 효과 (오차 상관)
    '
    dat <- simulateData(model_sim, sample.nobs = 300)
    
    # 2. CFA 모델 설정
    cfa_model <- '
      Academic_SE =~ x1 + x2 + x3 + x4
      Teacher_TS  =~ x5 + x6 + x7 + x8
      
      # 오차 공분산 지정 (역채점 문항의 방법 효과 반영)
      x7 ~~ x8
    '
    
    # 3. 모델 추정
    fit <- cfa(cfa_model, data = dat, std.lv = TRUE)
    
    # 4. 결과 요약
    summary(fit, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
    

    4. 모델 식별과 평가

    4.1 모델 식별 (Identification)

    CFA를 수행하려면 잠재 변수의 척도를 정해야 합니다.

    1. 지표 고정법(Marker Indicator): 한 문항의 부하량을 1.0으로 고정하여 해당 문항의 단위를 잠재 변수에 부여합니다. (Jamovi/Mplus 기본값)
    2. 분산 고정법(Fixed Factor Variance): 요인의 분산을 1.0으로 고정합니다.

    또한, 알고 있는 정보(데이터의 분산/공분산)가 추정할 파라미터 수보다 많아야 합니다(과잉 식별, df > 0).

    4.2 적합도 지수 (Goodness-of-Fit)

    모델이 실제 데이터를 얼마나 잘 모사하는지 평가합니다.

    • χ2\chi^2 (Chi-square): p>.05p > .05이면 완벽한 적합을 의미하지만, 표본 크기에 민감하여 보통 참고용으로만 봅니다.
    • CFI / TLI: .95 이상이면 우수한 적합도로 봅니다.
    • RMSEA: .06 이하(또는 .08 이하)를 양호한 수준으로 봅니다.
    • SRMR: .08 이하일 때 모델이 데이터를 잘 설명한다고 봅니다.

    5. 모델 수정 (Respecification)

    만약 적합도가 낮다면 어떻게 해야 할까요?

    1. 수정 지표(Modification Indices, MI): “특정 오차끼리 상관을 맺어주면 χ2\chi^2가 이만큼 줄어들 것이다”라고 알려주는 지표입니다.
    2. χ2\chi^2 차이 검증: 원래 모델(경직된 모델)과 파라미터를 추가한 모델(유연한 모델)을 비교하여 통계적으로 유의한 개선이 있는지 확인합니다.

    ⚠️ 주의: 수정 지표에만 의존해 모델을 고치는 것은 ‘데이터 끼워맞추기(Overfitting)’가 될 수 있습니다. 반드시 이론적 근거가 있어야 합니다.

    6. 결론 및 요약

    확인적 요인분석은 우리가 측정하고자 하는 심리적 가설을 엄격하게 테스트하는 도구입니다. 단순히 통계치를 얻는 것을 넘어, 연구자가 가진 이론이 실제 교육 현장의 데이터와 부합하는지 증명하는 과정입니다.

    참고문헌

    • Brown, T. A. (2015). Confirmatory factor analysis for applied research (2nd ed.). Guilford Press.
    • Hu, L., & Bentler, P. M. (1999). Cutoff criteria for fit indexes in covariance structure analysis: Conventional criteria versus new alternatives. Structural Equation Modeling, 6(1), 1-55. https://doi.org/10.1080/10705519909540118
    • Muthén, L. K., & Muthén, B. O. (1998-2021). Mplus user’s guide. Author.