카테고리 보관물: 구조방정식

구조방정식 모델링에 관한 내용

Chap 09. 구조방정식 모델링(SEM)에서의 검증력 분석

안녕하세요, 여러분.
이번에는 구조방정식 모델링(SEM) 연구를 설계할 때 가장 많이 받는 질문 중 하나인 “샘플 사이즈를 얼마나 잡아야 하나요?”에 대해 심도 있게 다루어 보겠습니다. 단순히 “사람이 많을수록 좋다”는 식의 접근이 아니라, 우리가 세운 가설이 실제 효과가 있을 때 이를 통계적으로 유의하게 찾아낼 확률인 ‘통계적 검증력(Statistical Power)’ 관점에서 접근해 봅시다.

1. 검증력 분석의 기초: 왜 필요한가?

1.1. 사전 검증력 분석 (A priori Power Analysis)

연구를 시작하기 전, 즉 데이터를 수집하기 전에 필요한 표본 크기를 결정하는 과정을 말합니다. 이는 연구자의 소중한 자원과 시간을 낭비하지 않게 해주며, 특히 연구 재단에 연구비를 신청할 때 표본 크기의 타당성을 입증하는 근거로 필수적입니다.

1.2. 사후 검증력 분석 (Post hoc Power Analysis)의 함정

데이터 수집 후 결과가 유의하지 않게 나왔을 때 “혹시 검증력이 부족해서인가?”를 확인하는 과정입니다. 하지만 많은 학자들은 사후 검증력 분석이 이미 나온 p-값의 다른 표현일 뿐이며, 큰 의미를 갖기 어렵다고 비판합니다. 따라서 우리는 오직 사전 검증력 분석에 집중할 것입니다.

2. SEM 검증력의 결정 요인

전통적인 통계(ANOVA 등)보다 SEM에서의 검증력 분석은 훨씬 복잡합니다. 다음과 같은 수많은 ‘움직이는 과녁’들이 검증력에 영향을 미치기 때문입니다.

  • 표본 크기 (Sample Size): 가장 핵심적인 요인입니다.
  • 모델의 복잡성: 측정 변수와 잠재 변수의 개수.
  • 데이터의 분포: 정규성 위반 여부.
  • 결측치 패턴: 데이터가 얼마나 빠져 있는가.
  • 모델 오지정(Misspecification)의 정도: 실제 모델과 가설 모델의 차이.

3. 분석 전략 (1): 전체 모델 적합도 중심 (RMSEA 방식)

SEM은 모델이 데이터에 얼마나 잘 맞는지를 평가하는 ‘전체 적합도’가 중요합니다. MacCallum 등(1996)은 RMSEA 지수를 활용한 검증력 분석법을 제안했습니다.

3.1. 영가설과 대립가설의 설정

보통 SEM에서는 “모델이 완벽하게 맞는다(Exact fit, RMSEA=0RMSEA=0)”를 영가설로 두지만, 현실적으로 모델은 복잡한 현실의 단순화이기에 어느 정도의 오차는 존재합니다. 따라서 우리는 다음과 같이 설정합니다.

  • 영가설(H0H_0): 모델 적합도가 좋지 않다 (RMSEA.05RMSEA \ge .05).
  • 대립가설(H1H_1): 모델 적합도가 우수하다 (RMSEA<.05RMSEA < .05).

이때, 우리가 실제로 기대하는 모델의 적합도(ϵ1\epsilon_1)를 설정(예: .02)하여 분석을 수행합니다.

위 그림처럼, 표본 크기가 커질수록 영가설 분포와 대립가설 분포 사이의 거리가 멀어지며 검증력이 높아집니다.

4. 분석 전략 (2): 개별 파라미터 중심 (Satorra-Saris 방식)

모델 전체가 잘 맞는 것보다 특정 경로(예: 교사 지지가 학업 성취에 미치는 영향)의 유의성을 검증하는 것이 주 목적인 경우입니다.

4.1. 분석 단계

  1. 유의수준(α\alpha)과 목표 검증력(π\pi) 설정: 보통 α=.05\alpha=.05, π=.80\pi=.80으로 설정합니다.
  2. 모수치 설정 (Population Values): 선행 연구를 바탕으로 기대되는 경로 계수값들을 정합니다.
  3. 모델 비교: 특정 경로가 ‘있는’ 모델(Full Model)과 ‘없는’ 모델(Reduced Model)의 카이스퀘어(χ2\chi^2) 차이를 이용해 필요한 표본 크기를 계산합니다.

5. 교육 연구 사례를 통한 실습

5.1. 가상 시나리오: “중학생의 학업 성취 모델”

중학교 상담 교사인 김 박사는 다음과 같은 가설을 세웠습니다.

  • 잠재변수: 수학 자기효능감(F1), 수학 불안(F2), 교사 지지(F3) \rightarrow 수학 성취도(F4)에 영향.
  • 각 잠재변수는 여러 개의 설문 문항(관측변수)으로 측정됩니다.

5.2. 모의 자료 생성 (Story-based Simulation)

김 박사가 238명의 학생을 대상으로 설문했다고 가정하고, R을 이용해 실제와 유사한 데이터를 생성해 보겠습니다.

R

# R을 이용한 모의 데이터 생성 코드
library(lavaan)

# 1. 인구 모델 정의 (Population Parameter Values 기준) [cite: 421, 492]
pop_model <- '
  F1 =~ 0.9*v1 + 0.8*v2 + 0.7*v3
  F2 =~ 0.8*v4 + 0.7*v5 + 0.8*v6
  F3 =~ 0.9*v7 + 0.8*v8 + 0.8*v9 + 0.7*v10
  F4 =~ 0.95*v11 + 0.9*v12
  
  # 경로 계수 설정 [cite: 492]
  F4 ~ 0.2*F1 + (-0.25)*F2 + 0.3*F3
  
  # 요인 간 상관 및 잔차 [cite: 492]
  F1 ~~ -0.3*F2
  F1 ~~ 0.4*F3
  F2 ~~ -0.3*F3
'

# 2. 데이터 생성 (N=238) 
set.seed(123)
sim_data <- simulateData(pop_model, sample.nobs = 238)
write.csv(sim_data, "school_achievement_data.csv", row.names = FALSE)

5.3. jamovi에서의 구현

현재 jamovi의 기본 SEM 모듈(jSEM)은 사후 적합도 평가는 우수하지만, ‘사전 검증력 분석’ 기능을 내장하고 있지는 않습니다. 따라서 jamovi에서 모델을 돌리기 전, WebPower 사이트나 R의 simsem 패키지를 활용해 계산해야 합니다.

실무 지침:

  1. WebPower(webpower.psychstat.org)에 접속합니다.
  2. ‘Statistical Power Analysis for Structural Equation Modeling’ 메뉴를 선택합니다.
  3. 앞서 설정한 자유도(df)와 기대하는 RMSEA 값을 입력하여 필요 샘플 수를 확인합니다.
  4. 확인된 샘플 수만큼 데이터를 수집한 후, jamovi의 jSEM 모듈에서 분석을 수행합니다.

6. 몬테카를로(Monte Carlo) 접근법의 활용

데이터가 정규분포를 따르지 않거나 결측치가 많을 것으로 예상될 때는 수식에 의존하는 분석보다 몬테카를로 시뮬레이션이 훨씬 정확합니다. 이는 컴퓨터가 가상의 데이터를 수천 번 생성하여 실제로 가설이 기각되는 비율을 직접 계산하는 방식입니다.

  • 장점: 결측치 처리 방식(MAR, MNAR 등)을 미리 반영하여 검증력을 예측할 수 있습니다.
  • 도구: R의 simsem 패키지가 대표적입니다.

7. 결론 및 제언

구조방정식 연구에서 검증력 분석은 단순히 통과해야 할 관문이 아니라, 연구 결과의 재현성(Reproducibility)을 보장하는 장치입니다.

  1. 모델이 복잡할수록 더 많은 표본이 필요합니다.
  2. 표준적인 ‘경험 법칙'(n=200n=200 등)에 의존하기보다 자신의 모델에 맞춘 맞춤형 검증력 분석을 실시하십시오.
  3. 예산이 부족하다면 계획된 결측 설계(Planned Missing Design)를 통해 효율적으로 검증력을 확보하는 방법도 고려해 볼 수 있습니다.

참고문헌

  • Bentler, P. M., & Chou, C.-P. (1987). Practical issues in structural modeling. Sociological Methods & Research, 16(1), 78–117.
  • Browne, M. W., & Cudeck, R. (1992). Alternative ways of assessing model fit. Sociological Methods & Research, 21(2), 230–258.
  • Feng, Y., & Hancock, G. R. (2025). Power analysis within a structural equation modeling framework. In Handbook of Structural Equation Modeling.
  • Hancock, G. R., & French, B. F. (2013). Power analysis in structural equation modeling. In G. R. Hancock & R. O. Mueller (Eds.), Structural equation modeling: A second course (2nd ed., pp. 117–159). Information Age.
  • MacCallum, R. C., Browne, M. W., & Sugawara, H. M. (1996). Power analysis and determination of sample size for covariance structure modeling. Psychological Methods, 1(2), 130–149.
  • Muthén, L. K., & Muthén, B. O. (2002). How to use a Monte Carlo study to decide on sample size and determine power. Structural Equation Modeling, 9(4), 599–620.
  • Satorra, A., & Saris, W. E. (1985). Power of the likelihood ratio test in covariance structure analysis. Psychometrika, 50(1), 83–90.

Chap 08. 잠재변수 모형과 구조방정식의 추정: 원리와 실제

안녕하세요, 여러분.
이번 장에서는 구조방정식 모형(SEM)과 잠재변수 모형(LVM)의 핵심 엔진이라고 할 수 있는 ‘추정(Estimation)’에 대해 깊이 있게 다뤄보겠습니다. 우리는 흔히 모형을 설정하고 버튼을 눌러 결과값을 얻지만, 그 이면에서 어떤 수학적, 통계적 과정이 일어나는지 이해하는 것은 매우 중요합니다. 특히 교육학 데이터처럼 문항 반응이 범주형(예: 리커트 척도)이거나 결측치가 있는 경우, 올바른 추정 방법을 선택하는 것이 연구의 타당성을 결정짓습니다.

1. 기초: 표기법과 모형의 프레임워크

우리가 다룰 모형은 크게 측정 모형(Measurement Model)구조 모형(Structural Model)으로 나뉩니다.

1.1 변수의 정의

Bollen(1989)의 표기법을 따르되, 범주형 데이터까지 포괄할 수 있도록 확장합니다.

  • η\eta (에타): 내생 잠재변수 (구조 모형에 의해 설명되는 잠재변수, 예: 학업 성취도)
  • ξ\xi (크사이): 외생 잠재변수 (다른 변수에 영향을 주는 잠재변수, 예: 가정 배경)
  • YY: η\eta의 관측지표 (예: 성취도 검사 점수)
  • XX: ξ\xi의 관측지표 (예: 부모 소득, 부모 학력)

1.2 모형의 구조

SEM은 관측 데이터 (Y,X)(Y, X)와 잠재변수 (η,ξ)(\eta, \xi)의 결합 분포를 다룹니다.

  • 측정 모형: 잠재변수가 관측변수를 어떻게 설명하는가? (예: X=Λxξ+δX = \Lambda_x \xi + \delta)
  • 구조 모형: 잠재변수 간의 관계는 어떠한가? (예: η=Bη+Γξ+ζ\eta = B\eta + \Gamma\xi + \zeta)

WaurimaL의 팁: 교육 연구에서 흔히 사용하는 문항반응이론(IRT) 모델도 사실은 구조적 파트가 없는(혹은 간단한) 잠재변수 모형의 일종입니다.

2. 추정 방법 선택의 5가지 기준

어떤 추정 방법을 사용할지 결정할 때, 다음 5가지 기준을 고려해야 합니다.

  1. 효율성 (Efficiency): 추정량이 참값(True Parameter)에 얼마나 빠르고 정확하게 수렴하는가? 표본이 클수록 효율적인 추정량이 선호됩니다.
  2. 모형 비교 (Model Comparison): 내재된 모형(Nested Model) 간의 비교가 용이한가? (예: χ2\chi^2 차이 검증 가능 여부)
  3. 강건성 (Robustness): 데이터가 정규분포 가정을 위반했을 때도 믿을 만한 결과를 주는가? 교육 데이터는 종종 정규성을 위반하므로 매우 중요합니다.
  4. 결측 데이터 (Missing Data): 결측치가 무작위(MCAR)인지, 아니면 특정 패턴이 있는지(MAR)에 따라 사용할 수 있는 방법이 다릅니다.
  5. 계산 비용 (Computational Cost): 계산이 얼마나 복잡하고 시간이 오래 걸리는가?

3. 완전 정보 추정량 (Full Information Estimators)

데이터의 전체 반응 패턴을 사용하여 우도(Likelihood)를 최대화하는 방법입니다.

3.1 주변최대우도추정법 (Marginal Maximum Likelihood; MML)

가장 대표적인 방법으로, 잠재변수를 적분하여 제거한 후 관측 데이터의 우도함수를 최대화합니다.

  • 장점: 모형이 정확하다면 가장 효율적입니다. 결측치가 MAR(Missing At Random)일 때도 편향 없는 추정을 제공합니다.
  • 단점: 고차원 적분이 필요하여 잠재변수가 많아지면 계산이 매우 느려집니다. 정규성 가정이 위배되면 결과가 왜곡될 수 있습니다.

3.2 베이지안 추정량 (Bayesian Estimator)

모수를 고정된 상수가 아닌 확률변수로 취급합니다. 사전분포(Prior)와 데이터(Likelihood)를 결합하여 사후분포(Posterior)를 구합니다.

  • 특징: 표본이 작거나 모형이 매우 복잡할 때 유용합니다. MCMC(Markov Chain Monte Carlo) 알고리즘을 사용하여 계산합니다.

4. 제한 정보 추정량 (Limited Information Estimators)

전체 데이터 패턴 대신, 일차(평균) 및 이차(공분산) 적률 정보만을 사용합니다. 계산이 빠르고 특정 상황에서 더 강건합니다.

4.1 연속형 변수: 모멘트 기반 추정 (ULS, GLS, WLS)

관측된 공분산 행렬(SS)과 모형이 예측하는 공분산 행렬(Σ(θ)\Sigma(\theta))의 차이를 최소화합니다.

  • WLS (Weighted Least Squares): 정규성 가정이 깨졌을 때(예: 첨도가 높을 때) 사용하지만, 매우 큰 표본이 필요합니다. 이를 보완한 것이 jamovi나 Mplus에서 자주 보는 WLSMV 같은 방법들입니다.

4.2 범주형 변수: 다단계(Multistage) 및 쌍대 우도(PML)

교육학 설문조사(예: “매우 그렇다” ~ “전혀 그렇지 않다”)는 연속형이 아닙니다. 이를 연속형처럼 다루면 오차가 발생합니다.

  • 기본 아이디어: 범주형 반응 이면에 연속적인 기저변수(Underlying Variable, XX^*)가 있다고 가정합니다.
  • 다단계(MS) 추정: 1단계에서 문항 간의 폴리코릭(Polychoric) 상관계수를 구하고, 2단계에서 이를 이용해 모수를 추정합니다.
  • 쌍대 우도 (Pairwise Maximum Likelihood; PML): 전체 우도 대신, 모든 변수 쌍(Pair)의 우도를 곱해서 추정합니다. MML보다 계산이 훨씬 빠르면서도 효율성이 높습니다.

5. 실습: 교육학 예제를 통한 적용

이제 이론을 실제 데이터에 적용해 봅시다.

시나리오: 여러분은 중학생의 ‘디지털 리터러시(DL)’‘STEM 교과 흥미(STEM)’에 미치는 영향을 연구합니다.

  • DL: 3개의 문항 (5점 리커트 척도 – 범주형)
  • STEM: 3개의 문항 (0~100점 점수 – 연속형)

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

jamovi의 Rj 에디터나 R Studio에서 아래 코드를 실행하여 데이터를 생성합니다.

R

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

set.seed(1228)

# 1. 표본 크기 설정
N <- 500

# 2. 잠재변수 생성 (Digital Literacy -> STEM Interest)
# DL은 STEM에 0.6 정도의 영향력을 가짐
DL_latent <- rnorm(N, 0, 1)
STEM_latent <- 0.6 * DL_latent + rnorm(N, 0, sqrt(1 - 0.6^2))

# 3. 관측변수 생성
# DL 문항 (범주형, Threshold 적용)
dl1_star <- 0.8 * DL_latent + rnorm(N, 0, sqrt(1 - 0.8^2))
dl2_star <- 0.7 * DL_latent + rnorm(N, 0, sqrt(1 - 0.7^2))
dl3_star <- 0.85 * DL_latent + rnorm(N, 0, sqrt(1 - 0.85^2))

# 컷오프를 사용하여 5점 척도로 변환 (1~5)
cutoffs <- c(-1.5, -0.5, 0.5, 1.5)
DL1 <- as.numeric(cut(dl1_star, breaks=c(-Inf, cutoffs, Inf), labels=1:5))
DL2 <- as.numeric(cut(dl2_star, breaks=c(-Inf, cutoffs, Inf), labels=1:5))
DL3 <- as.numeric(cut(dl3_star, breaks=c(-Inf, cutoffs, Inf), labels=1:5))

# STEM 문항 (연속형)
STEM1 <- 50 + 10 * (0.8 * STEM_latent + rnorm(N, 0, 0.6))
STEM2 <- 50 + 10 * (0.75 * STEM_latent + rnorm(N, 0, 0.65))
STEM3 <- 50 + 10 * (0.9 * STEM_latent + rnorm(N, 0, 0.45))

# 데이터 프레임 생성
data <- data.frame(DL1, DL2, DL3, STEM1, STEM2, STEM3)

# 데이터 확인
head(data)

5.2 분석: jamovi (SEMLj 모듈) 활용

jamovi에서는 SEMLj 모듈을 사용하여 쉽게 분석할 수 있습니다.

  1. 데이터 불러오기: 위에서 생성한 데이터를 csv로 저장 후 jamovi에서 엽니다.
  2. 모듈 선택: SEMLj > Structural Equation Models.
  3. 모형 설정:
    • Measurement Model:
      • Latent Variable DL =~ DL1 + DL2 + DL3
      • Latent Variable STEM =~ STEM1 + STEM2 + STEM3
    • Structural Model:
      • STEM ~ DL (STEM is regressed on DL)
  4. 추정 방법(Estimation) 선택 – 중요!
    • 이 데이터에는 범주형 변수(DL1~3)가 포함되어 있습니다.
    • 일반적인 ML (Maximum Likelihood)을 사용하면 범주형 변수를 연속형으로 취급하여 편향이 발생할 수 있습니다.
    • 옵션: Estimation Method에서 Robust 또는 DWLS(Diagonally Weighted Least Squares)를 선택해야 합니다. SEMLj는 변수 타입을 자동으로 감지하여 적절한 추정법을 제안하기도 하지만, 명시적으로 설정하는 것이 좋습니다.
    • 참고: 본 내용에서 다룬 PML(Pairwise Maximum Likelihood)lavaan 패키지의 옵션(estimator="PML")을 통해 R에서 구현 가능합니다. jamovi에서는 주로 DWLS 계열이 범주형 데이터의 표준으로 쓰입니다.

5.3 분석 결과 해석 (예시)

분석 결과 테이블을 볼 때 다음 사항을 확인합니다.

  • 적합도 지수 (Goodness of Fit): CFI, TLI > 0.90, RMSEA < 0.08 인가?
    • 교재 내용 연결: WLS나 DWLS를 사용할 때는 χ2\chi^2 검증 통계량이 평균과 분산이 조정된(scaled) 형태를 띱니다.
  • 회귀계수 (Regression Weights): DL이 STEM에 미치는 영향(β\beta)이 유의한가?
    • 범주형 변수를 고려한 추정(DWLS/PML)은 일반 ML보다 표준오차(SE)를 더 정확하게 추정하여 1종 오류를 줄여줍니다.

6. 계산 알고리즘 (Computation: Under the Hood)

우리가 버튼을 누를 때 컴퓨터 내부는 어떻게 작동할까요?

6.1 수치 최적화 (Numerical Optimization)

목적함수(예: logL-log L)의 최솟값을 찾아가는 과정입니다.

  • 경사 하강법 (Gradient Descent): 가장 가파른 경사를 따라 내려갑니다. 단순하지만 느릴 수 있습니다.
  • 뉴턴-랩슨 (Newton-Raphson): 곡률(2차 미분, Hessian) 정보까지 사용하여 더 빨리 수렴합니다. 하지만 계산량이 많습니다.
  • Quasi-Newton (BFGS): Hessian 행렬을 근사하여 계산 속도와 효율성의 균형을 맞춥니다. 대부분의 SEM 소프트웨어 기본값입니다.

6.2 EM 알고리즘 (Expectation-Maximization)

잠재변수처럼 관측되지 않은 데이터가 있을 때 강력합니다.

  • E-Step: 현재 파라미터로 잠재변수의 기대치를 계산(채워 넣기).
  • M-Step: 채워진 데이터를 바탕으로 우도를 최대화(파라미터 업데이트).
  • 이 과정을 수렴할 때까지 반복합니다.

결론 및 제언

SEM 추정은 단순히 “소프트웨어 돌리기”가 아닙니다. 여러분의 데이터가 정규성을 띠는지, 범주형인지, 결측치가 있는지에 따라 적절한 도구(추정량)를 꺼내 써야 합니다.

  • 연속형 데이터 + 정규성 만족 \to MML (ML)
  • 범주형 데이터 (리커트 척도) \to WLSMV (DWLS) 또는 PML
  • 복잡한 모형 + 소표본 \to Bayesian

이 원칙을 지킬 때, 여러분의 연구 결과는 통계적으로 견고해집니다.

참고문헌

  • Bollen, K. A. (1989). Structural equations with latent variables. New York: Wiley.
  • Chen, Y., Moustaki, I., & Zhang, S. (n.d.). On the Estimation of Structural Equation Models with Latent Variables. In Chapter 8
  • Jöreskog, K. G., & Moustaki, I. (2001). Factor analysis of ordinal variables: A comparison of three approaches. Multivariate Behavioral Research, 36, 347-387.
  • Katsikatsou, M., Moustaki, I., Yang-Wallentin, F., & Jöreskog, K. G. (2012). Pairwise likelihood estimation for factor analysis models with ordinal data. Computational Statistics and Data Analysis, 56, 4243-4258.
  • Rosseel, Y. (2012). lavaan: An R package for structural equation modeling. Journal of Statistical Software, 48(2), 1-36.

Chap 07. 구조방정식 모형(SEM)의 가정과 실제

안녕하세요, 여러분.
이번에는 구조방정식 모형(SEM) 분석을 수행하기 전에 반드시 점검해야 할 ‘가정(Assumptions)’에 대해 깊이 있게 다뤄보겠습니다.

많은 연구자가 모델을 그리고, 데이터를 넣고, ‘실행(Run)’ 버튼을 누르는 데 급급합니다. 하지만 렉스 클라인(Rex B. Kline)이 인용한 앨런 알다(Alan Alda)의 말처럼, “여러분의 가정은 세상을 바라보는 창문입니다. 가끔 닦아내지 않으면 빛이 들어오지 않을 것입니다”. 가정을 무시한 분석 결과는 먼지 낀 창문으로 세상을 보는 것과 같아, 왜곡된 결론에 도달할 수 있습니다.

이 글은 학교 현장에서 마주할 수 있는 예시와 함께 재구성했습니다. 분석 도구로는 jamovi (SEMLj 모듈)를 중심으로 설명하되, 고급 기능이 필요한 경우 R (lavaan 패키지)을 함께 제시하겠습니다.

1. 서론: 왜 가정을 점검해야 하는가?

복잡한 다변량 통계 기법인 SEM은 표본 추출, 데이터의 성격, 변수 간의 관계에 대해 많은 가정을 전제로 합니다. 연구자가 자신의 결과가 어떤 전제 위에서 도출되었는지 설명할 수 없다면, 그 결과는 신뢰받기 어렵습니다. 최근 APA의 저널 보고 표준(JARS)에서도 이러한 가정에 대한 명시적 언급을 요구하고 있습니다.

2. 표본 추출에 대한 가정 (Sampling Assumptions)

2.1. 이상과 현실: 무작위 표본 vs. 편의 표본

전통적인 유의성 검정(Significance Testing)은 모집단으로부터의 단순 무작위 추출(Simple Random Sampling)을 가정합니다. 하지만 학교 현장에서 전국의 모든 중학생 명단을 확보하여 무작위로 뽑는 것은 거의 불가능합니다.

  • 현실 (교육 연구): 우리는 대개 편의 표본(Convenience Sampling)을 사용합니다. 예를 들어, “섭외가 가능한 A중학교 2학년 학생들”을 대상으로 하죠.
  • 문제점: 편의 표본에서 도출된 p-값(유의확률)이 과연 모집단을 대표할 수 있는가에 대한 논란이 있습니다.

2.2. 대처 방안

  1. 신뢰구간(Confidence Intervals) 보고: 단순한 유의성 여부(p < .05)보다는 파라미터 추정치의 신뢰구간을 제시하여 결과의 정밀성을 보여주는 것이 좋습니다.
  2. 이분법적 사고 지양: “유의하다/아니하다”로 나누기보다 정확한 p-값을 보고하고 효과크기를 논의하십시오.

3. 데이터 관련 가정 (Data-Related Assumptions)

3.1. 관측치의 독립성 (Independence of Observations)

SEM의 추정법은 점수들이 서로 독립적이라고 가정합니다.

  • 교육학적 위반 사례: 한 학급에 속한 학생들은 같은 담임 교사, 같은 교실 환경을 공유하므로 성적이나 태도가 비슷할 수 있습니다(군집화). 이 경우 독립성 가정이 위배됩니다.
  • 해결: 이럴 때는 다수준 SEM (Multilevel SEM)을 적용해야 합니다. (jamovi에서는 제한적일 수 있으므로 R의 lavaan.survey나 Mplus 등을 고려해야 합니다).

3.2. 다변량 정규성 (Multivariate Normality)

가장 널리 쓰이는 추정법인 최대우도법(ML, Maximum Likelihood)은 내생변수들이 조건부 다변량 정규분포를 따른다고 가정합니다.

  • 교육학적 위반 사례: ‘학교 폭력 경험 횟수’와 같은 변수는 대다수 학생이 ‘0’이고 소수만 높은 점수를 가지므로 정규분포를 심각하게 위배합니다.
  • 해결 (Robust FIML): 정규성이 깨진 경우, ML 대신 로버스트(Robust) ML 추정치를 사용해야 합니다. 이는 표준오차와 모델 적합도 지수를 교정해 줍니다.
    • jamovi Tip: SEMLj 모듈 옵션에서 EstimatorMLR (Robust Maximum Likelihood)로 설정하세요.

3.3. 척도의 연속성: 리커트(Likert) 척도 이슈

교육 심리 검사에서 “매우 그렇다(5점)” ~ “전혀 아니다(1점)”와 같은 리커트 척도를 자주 사용합니다. 이를 연속변수로 볼 수 있을까요?

  • 기준: 선택지가 6개 이상이고 분포가 대칭에 가깝다면 연속변수로 취급해도 큰 무리가 없습니다.
  • 주의: 선택지가 5개 이하이거나 분포가 심하게 치우친 경우, 이를 연속변수로 다루면 표준오차 편향 등의 문제가 발생합니다.
  • 해결: 이 경우 범주형 CFA (Categorical CFA)를 수행해야 하며, WLSMV (Robust Weighted Least Squares) 추정법을 사용하는 것이 좋습니다.

4. 결측 데이터 가정 (Missing Data Assumptions)

데이터가 빠진 경우(결측), 과거에는 단순히 그 케이스를 삭제(Listwise Deletion)했지만, 이는 데이터가 MCAR(완전 무작위 결측)일 때만 타당합니다.

  • MAR (무작위 결측): 결측이 다른 관측 변수와 관련이 있는 경우입니다. (예: 성적 낮은 학생이 우울 검사에 응답하지 않음, 단 성적 데이터는 있음).
    • 대부분의 현대적 기법(FIML, 다중대체)은 MAR을 가정합니다.
  • MNAR (비무작위 결측): 결측 자체가 결측된 변수의 값 때문에 발생한 경우입니다. (예: 너무 우울해서 우울 검사를 못함).
  • Jamovi/R 활용: FIML (Full Information Maximum Likelihood) 방식을 사용하면 결측치가 있어도 사용 가능한 모든 정보를 활용하여 추정하므로 삭제법보다 훨씬 우수합니다.

5. 방향성 및 인과관계 가정 (Directionality Assumptions)

SEM에서 화살표(XYX \rightarrow Y)를 그리는 것은 X가 Y의 원인이라는 가정이지, 분석 결과가 인과성을 입증하는 것은 아닙니다.

5.1. 등가 모델 (Equivalent Models)

  • 개념: XYX \rightarrow Y 모델과 YXY \rightarrow X 모델은 데이터 적합도가 수학적으로 완전히 동일할 수 있습니다.
  • 교육 예시: “자기효능감이 높아서 성적이 올랐다”는 모델은 “성적이 높아서 자기효능감이 올랐다”는 모델과 통계적으로 구분이 안 될 수 있습니다.
  • 해결: 통계 수치가 아닌, 이론적 배경이나 연구 설계(예: 종단 연구)로 방향성을 정당화해야 합니다.

5.2. 매개효과 (Mediation)

매개(XMYX \rightarrow M \rightarrow Y)를 주장하려면 시간적 선행성이 필수입니다.

  • 가정: 원인(X)은 매개변수(M)보다, 매개변수(M)는 결과(Y)보다 시간적으로 앞서야 합니다.
  • 경고: 횡단 연구(한 시점에서 한 번 조사) 데이터로 매개효과를 검증하는 것은 매우 조심스러워야 하며, 많은 가정이 필요합니다.

6. 측정 가정 (Measurement Assumptions)

6.1. 반영 지표 (Reflective) vs. 조형 지표 (Formative)

우리가 흔히 쓰는 요인분석 모델은 반영 지표(Reflective) 모델입니다 (LatentIndicatorsLatent \rightarrow Indicators).

  • 가정: 잠재변수가 변하면 모든 지표가 함께 변해야 하며, 지표들끼리는 높은 상관을 가져야 합니다.
  • 대안(조형 지표): 사회경제적 지위(SES)를 생각해 봅시다. 부모의 소득과 교육수준이 합쳐져서 SES를 형성합니다(IndicatorsCompositeIndicators \rightarrow Composite). 소득이 높다고 교육수준이 반드시 높은 것은 아닙니다(상관이 낮을 수 있음). 이 경우 조형 지표(Formative) 모델이 적합합니다.

[실습] Jamovi & R을 활용한 가정 점검 및 분석

이해를 돕기 위해 가상의 시나리오를 만들고 데이터를 생성해 보겠습니다.

1. 시나리오: 교사 지지와 학업 소진

  • 연구 주제: 중학생이 지각한 교사 지지(Teacher Support)학업적 자기효능감(Self-Efficacy)을 매개로 학업 소진(Burnout)에 미치는 영향
  • 변수:
    • TS (교사 지지): 5점 리커트, 4문항 (반영 지표)
    • SE (자기효능감): 5점 리커트, 4문항 (반영 지표)
    • BO (학업 소진): 5점 리커트, 4문항 (반영 지표)
  • 데이터 특성: 현실성을 위해 약간의 비정규성과 결측치를 포함하겠습니다.

2. R을 이용한 데이터 생성

Jamovi는 자체적인 데이터 생성 기능이 약하므로, R 코드로 데이터를 생성한 후 CSV로 저장하여 Jamovi에서 불러오는 과정을 가정합니다. (물론 R에서 바로 분석도 가능합니다.)

R

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

set.seed(1228) # 재현 가능성을 위해 시드 설정

# 1. 표본 크기 설정 (N=300)
N <- 300

# 2. 잠재변수 간의 관계 설정 (공분산 행렬)
# TS -> SE (0.4), SE -> BO (-0.5), TS -> BO (-0.3) 정도의 상관 가정
Sigma <- matrix(c(1.0, 0.4, -0.4,
                  0.4, 1.0, -0.5,
                  -0.4, -0.5, 1.0), 
                nrow=3, ncol=3)
mu <- c(0, 0, 0)

# 잠재변수 점수 생성 (다변량 정규분포)
LatentData <- mvrnorm(n = N, mu = mu, Sigma = Sigma)
colnames(LatentData) <- c("F_TS", "F_SE", "F_BO")

# 3. 관측변수 생성 (측정 오차 포함)
# 요인부하량은 대략 0.7~0.8로 설정
# 5점 리커트 척도로 변환 (Rounding 및 절단)

make_item <- function(latent, loading, error_sd) {
  raw <- loading * latent + rnorm(N, 0, error_sd)
  # 5점 척도로 변환 (평균 3, 표준편차 1 정도가 되도록 이동 후 반올림)
  scaled <- round(raw + 3)
  scaled[scaled < 1] <- 1
  scaled[scaled > 5] <- 5
  return(scaled)
}

# 데이터 프레임 생성
Data <- data.frame(id = 1:N)

# 문항 생성
for(i in 1:4) Data[paste0("TS", i)] <- make_item(LatentData[,"F_TS"], 0.8, 0.6)
for(i in 1:4) Data[paste0("SE", i)] <- make_item(LatentData[,"F_SE"], 0.7, 0.7)
for(i in 1:4) Data[paste0("BO", i)] <- make_item(LatentData[,"F_BO"], 0.75, 0.65)

# 4. 결측치(Missing Data) 생성 (MAR 상황 가정)
# TS가 낮은 학생이 BO 응답을 일부 누락함
low_support <- which(rowMeans(Data[,2:5]) < 2.5)
Data[sample(low_support, 10), c("BO1", "BO2")] <- NA

# 5. 비정규성 추가 (BO4 문항을 편포되게 만듦)
Data$BO4 <- ifelse(Data$BO4 > 3, 5, Data$BO4) 

# 데이터 확인
head(Data)
write.csv(Data, "mock_education_data.csv", row.names = FALSE) # 파일로 저장

3. Jamovi (SEMLj) 분석 절차 및 가정 점검

이제 위에서 생성된 mock_education_data.csv를 Jamovi에서 분석한다고 가정하고 절차를 설명합니다.

단계 1: 데이터 탐색 및 가정 점검 (Descriptive)

  1. 빈도분석:Exploration > Descriptives에서 모든 변수의 왜도(Skewness)와 첨도(Kurtosis)를 확인합니다.
    • 점검: 왜도의 절댓값이 2, 첨도가 7을 넘는지 확인합니다 (West et al., 1995 기준). 우리 데이터의 BO4는 의도적으로 왜곡시켰으므로 높게 나올 것입니다.
  2. 결측치 확인: Missing 통계를 통해 결측 비율을 봅니다.

단계 2: 모형 설정 (SEMLj > Structural Equation Models)

  1. Measurement Model (측정 모형):
    • Latent variables 정의:
      • TeacherSupport =~ TS1 + TS2 + TS3 + TS4
      • SelfEfficacy =~ SE1 + SE2 + SE3 + SE4
      • Burnout =~ BO1 + BO2 + BO3 + BO4
  2. Structural Model (구조 모형):
    • SelfEfficacy ~ TeacherSupport
    • Burnout ~ TeacherSupport + SelfEfficacy

단계 3: 추정 방법(Estimator) 선택 – 핵심!

이 장의 핵심인 가정 위반에 대한 대처입니다.

  • 일반적인 경우: Estimation MethodMaximum Likelihood (ML)로 둡니다.
  • 비정규성 발견 시 (BO4 문제): 옵션을 Robust ML (MLR) 혹은 Robust standard errors로 변경합니다. 이는 다변량 정규성 가정이 깨졌을 때 표준오차를 교정해 줍니다.
  • 결측치 처리: Missing Data Handling 옵션에서 FIML을 선택합니다. 이는 결측 데이터를 삭제하지 않고 정보를 최대한 활용합니다.

단계 4: 결과 해석 시 주의점 (가정 검증)

  • 모델 적합도: CFI, TLI, RMSEA를 확인하되, 등가 모델(Equivalent Models)의 가능성을 염두에 둡니다. 즉, 모델이 데이터에 잘 맞는다고 해서 인과관계가 증명된 것은 아닙니다.
  • 매개효과: 간접효과(Indirect effect)가 유의하게 나오더라도, 이것이 횡단 연구(Cross-sectional)임을 명시하고, 인과적 결론보다는 “관련성” 혹은 “모형에 부합함” 정도로 조심스럽게 기술해야 합니다.

7. 결론 및 제언 (Next Steps)

이 장을 마무리하며, 클라인(Kline) 교수가 강조한 핵심을 다시 새겨봅시다.

  1. 모델에 대한 겸손함: 여러분의 모델은 데이터를 설명하는 수많은 모델 중 하나일 뿐입니다.
  2. 가정의 명시: 논문을 쓸 때, 결측치는 어떻게 처리했는지, 정규성은 점검했는지, 왜 이 추정법(Robust ML 등)을 썼는지 투명하게 밝히십시오.

참고문헌

  • Kline, R. B. (2016). Principles and practice of structural equation modeling (4th ed.). New York: Guilford Press.

Chap 06. 구조방정식 모형에서의 시뮬레이션 방법

안녕하세요, 여러분.
구조방정식 모형(SEM) 연구에서 매우 중요하지만 종종 어렵게 느껴지는 ‘시뮬레이션 방법(Simulation Methods)’에 대해 말씀해 드리겠습니다.

우리가 흔히 수행하는 연구가 “한 번 수집된 데이터로 결론을 내리는 것”이라면, 시뮬레이션 연구는 “가상의 데이터를 수천 번 생성하여 통계적 방법의 성능을 실험하는 것”입니다.

분석 도구와 관련하여, jamovi는 훌륭한 분석 도구이지만, 수천 번의 반복 시뮬레이션(Looping)을 수행하는 기능은 제한적입니다. 따라서 본 강의에서는 R(lavaan 패키지)을 사용하여 시뮬레이션을 구현하는 방법을 보여드리고, 그 결과를 해석하는 방식에 집중하겠습니다.

1. 서론: 왜 시뮬레이션이 필요한가?

여러분이 새로운 교육 프로그램을 개발했다고 가정해 봅시다. 이 프로그램의 효과를 검증하기 위해 복잡한 구조방정식 모형을 세웠습니다. 그런데 고민이 생깁니다.

“표본(학생 수)이 100명이면 충분할까? 데이터가 정규분포를 따르지 않으면 어떡하지?”

기존의 교과서나 가이드라인을 찾아봐도 내 연구 상황에 딱 맞는 답을 찾기 힘든 경우가 많습니다. 바로 이럴 때 시뮬레이션 연구(몬테카를로 연구)가 필요합니다.

시뮬레이션 연구의 핵심은 “정답(참값)을 알고 있는 모집단(Population)을 연구자가 직접 만드는 것”입니다.

  • 실제 연구: 참값(Parameter)을 모름 \rightarrow 데이터를 통해 추정함.
  • 시뮬레이션 연구: 참값을 내가 설정함 \rightarrow 데이터를 생성하고 분석해서 분석 방법이 참값을 잘 맞추는지 확인함.

시뮬레이션이 필요한 대표적인 상황

  1. 새로운 통계 기법 검증: 새로운 분석 방법이 다양한 조건(예: 작은 표본, 결측치)에서 잘 작동하는지 확인할 때.
  2. 가이드라인 개발: 우리가 흔히 쓰는 CFI > .90 같은 적합도 기준은 수학 공식이 아니라 시뮬레이션 연구를 통해 만들어진 경험적 기준입니다.
  3. 검증력 분석(Power Analysis): 내 연구 모형에서 유의미한 결과를 얻기 위해 필요한 최소 표본 수를 계산할 때.

2. 시뮬레이션 연구의 설계 (Design)

시뮬레이션 연구도 일반적인 실험 연구와 똑같습니다. 독립변수(조건)를 조작하고, 종속변수(결과)를 관찰합니다.

2.1 독립변수 (우리가 조작하는 조건)

크게 데이터 특성모형 특성으로 나뉩니다.

  1. 표본 크기 (Sample Size):
    • 교육 연구에서는 학급 단위나 학교 단위 수집이 많아 표본 확보가 어렵습니다. N=50,100,200,500N=50, 100, 200, 500 등으로 변화를 주어, 언제 모수 추정이 안정되는지 확인합니다.
  2. 데이터의 비정규성 (Non-normality):
    • 학생들의 ‘학업 스트레스’ 설문은 종종 한쪽으로 치우친(Skewed) 분포를 보입니다. 정규분포를 위반했을 때 추정치가 얼마나 왜곡되는지 봅니다. 이를 생성하기 위해 Vale & Maurelli (1983) 방법이 자주 쓰입니다.
  3. 결측치 (Missing Data):
    • 종단 연구에서 학생들이 전학을 가거나 응답을 안 하는 경우입니다. 결측 메커니즘(MCAR, MAR, MNAR)과 결측 비율을 조작합니다.
  4. 모형 오설정 (Model Misspecification):
    • 현실 데이터는 완벽하지 않습니다. 시뮬레이션에서는 일부러 ‘중요한 경로를 빠뜨린 모델’을 만들어, 적합도 지수가 이를 얼마나 잘 잡아내는지 테스트합니다.

2.2 종속변수 (우리가 확인하는 결과)

시뮬레이션의 성능을 평가하는 지표들입니다.

  1. 수렴률 (Convergence Rate): 분석이 에러 없이 완료된 비율.
  2. 편의 (Bias): 추정된 값과 내가 설정한 참값의 차이(공식: Relative Bias=θ^θθ\text{Relative Bias} = \frac{\hat{\theta} – \theta}{\theta}). 일반적으로 5% 미만이면 양호하다고 봅니다.
  3. 표준오차 (Standard Errors): 추정치의 변동성. 이게 정확해야 유의성 검정(pp값)을 믿을 수 있습니다.
  4. 검증력 (Power): 실제로 효과가 있을 때, 있다고 찾아낼 확률.

3. 실전: 교육 연구 시뮬레이션 예제 (R 활용)

이제 구체적인 시나리오를 통해 시뮬레이션을 수행해 보겠습니다.

[시나리오: 교사의 자율성 지지가 학생 성취도에 미치는 영향]

  • 배경: 한 교육청에서 교사가 학생의 자율성을 지지해주면(X), 학생의 자기효능감(M)이 오르고, 결국 학업 성취도(Y)가 오르는지 확인하고자 합니다.
  • 문제: 예산 문제로 데이터를 100명밖에 못 모을 것 같습니다. 이 인원으로 매개효과를 검증할 수 있을까요? (검증력 0.80 이상 목표)

이 문제는 R의 lavaan 패키지를 사용하여 몬테카를로 시뮬레이션을 돌려보겠습니다.

단계 1: 모집단 모형(Population Model) 정의

선행연구를 바탕으로 참값(True Parameter)을 설정합니다.

  • 자율성 지지 \rightarrow 자기효능감 (경로 a): 0.5 (중간 효과)
  • 자기효능감 \rightarrow 성취도 (경로 b): 0.5 (중간 효과)
  • 자율성 지지 \rightarrow 성취도 (경로 c’): 0.1 (작은 직접 효과)

단계 2 & 3: 데이터 생성 및 반복 분석 (Simulation)

표본 크기를 50명, 100명, 200명, 500명으로 늘려가며 각각 1,000번씩 실험합니다.

(참고: 아래 코드는 RStudio에서 바로 실행 가능합니다.)

R

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

# 1. 시뮬레이션 조건 설정
sample_sizes <- c(50, 100, 200, 500)
n_replications <- 1000  # 반복 횟수 (보통 1,000번 이상 권장)

# 2. 모집단 모형 (우리가 정한 참값)
# 교사의 자율성지지(X) -> 자기효능감(M) -> 성취도(Y)
pop_model <- '
  M ~ 0.5*X
  Y ~ 0.5*M + 0.1*X
  X ~~ 1*X
  M ~~ 1*M
  Y ~~ 1*Y
'

# 3. 분석 모형 (연구자가 실제로 돌릴 모형)
analyze_model <- '
  M ~ a*X
  Y ~ b*M + c*X
  # 매개효과(indirect effect) 정의
  ab := a*b
'

# 결과 저장용 데이터프레임
results <- data.frame()

set.seed(1234) # 재현성을 위한 시드 설정 [cite: 376]

# 4. 시뮬레이션 루프 (Loop)
for (N in sample_sizes) {
  cat("Simulating Sample Size:", N, "\n")
  
  sig_count <- 0 # 유의미한 결과 카운트
  
  for (i in 1:n_replications) {
    # A. 데이터 생성 (simulateData 함수 사용)
    sim_data <- simulateData(model = pop_model, sample.nobs = N)
    
    # B. 모델 적합
    fit <- sem(analyze_model, data = sim_data)
    
    # C. 결과 추출 (수렴한 경우만)
    if (inspect(fit, "converged")) {
      # 매개효과(ab)의 p-value 추출
      pe <- parameterEstimates(fit)
      p_val <- pe[pe$label == "ab", "pvalue"]
      
      # 유의수준 .05 기준 검정
      if (p_val < 0.05) sig_count <- sig_count + 1
    }
  }
  
  # 검증력(Power) 계산 = 유의미한 횟수 / 전체 반복 횟수
  power <- sig_count / n_replications
  results <- rbind(results, data.frame(Sample_Size = N, Power = power))
}

print(results)

단계 4: 결과 해석 및 시각화

위의 코드를 실행하면 표본 크기별 검증력(Power)이 계산됩니다. 이를 통해 우리는 “100명일 때 검증력이 충분한가?”에 대한 답을 얻을 수 있습니다.

제가 미리 시뮬레이션한 결과를 바탕으로 그래프를 그려보겠습니다.

  • 결과 해석:
    • N=50N=50: 검증력이 약 0.35로 매우 낮습니다. 연구 실패 확률이 높습니다.
    • N=100N=100: 검증력이 약 0.72입니다. 통상적 기준인 0.80에 약간 못 미칩니다.
    • N=200N=200: 검증력이 0.95를 넘어섭니다. 매우 안정적입니다.
    • 결론: 교사 자율성 지지 연구를 위해서는 최소 120~130명 정도의 학생을 모집하는 것이 안전합니다. 100명은 다소 위험할 수 있습니다.

4. 시뮬레이션 결과 보고 및 평가 방법

시뮬레이션 연구를 마치고 논문을 쓸 때, 단순히 표만 제시하는 것이 아니라 통계적으로 요약해야 합니다.

4.1 편의(Bias) 평가

추정된 모수(예: 경로계수)가 참값과 얼마나 차이나는지 봅니다.

  • 상대적 편의(Relative Bias): Bias(θ^)=(θ^θθ)/R\text{Bias}(\hat{\theta}) = \sum (\frac{\hat{\theta} – \theta}{\theta}) / R.
    • Hoogland & Boomsma (1998)는 5% 미만이면 편의가 없다고 봅니다.

4.2 평균제곱오차 (MSE)

편의(Bias)와 변동성(Variance)을 동시에 고려한 지표입니다. MSE가 작을수록 더 정확하고 안정적인 추정량임을 의미합니다.

MSE(θ^)=Bias2+Var(θ^)\text{MSE}(\hat{\theta}) = \text{Bias}^2 + \text{Var}(\hat{\theta})

4.3 적합도 지수 평가

CFI, TLI, RMSEA 등이 표본 크기나 데이터 분포에 따라 어떻게 변하는지 보고합니다. 예를 들어, “표본이 200명 미만일 때 RMSEA가 과대추정되는 경향이 있다”와 같은 결론을 내릴 수 있습니다.

5. 결론 및 제언

시뮬레이션 연구는 우리가 현실에서 마주하는 복잡한 데이터 상황(결측, 비정규성 등)에서 통계 모형이 얼마나 강건한지(Robust) 알려주는 강력한 도구입니다.

WaurimaL의 조언:

  1. 목적을 명확히 하세요: 단순한 가이드라인 확인용인지, 새로운 방법론 검증인지 정해야 합니다.
  2. 외적 타당도(External Validity)를 고려하세요: 시뮬레이션 조건(예: 학급 크기, 상관계수 크기)이 실제 학교 현장 데이터와 비슷해야 결과가 의미가 있습니다.
  3. 코드 검증: 본격적인 1,000번 반복 전에, 1번만 큰 표본(N=100,000N=100,000)으로 돌려보세요. 이때 참값이 정확히 나오지 않으면 코드에 오류가 있는 것입니다.

여러분의 연구가 탄탄한 통계적 근거 위에 서기를 바랍니다. 이 장의 내용을 통해 자신의 연구 설계에 맞는 표본 크기를 산출하거나, 분석 방법의 타당성을 입증하는 데 활용해 보세요.


참고문헌

  • Bandalos, D. L., & Leite, W. (2013). The role of simulation in structural equation modeling. In G. R. Hancock & R. Mueller (Eds.), A second course in structural equation modeling (2nd ed.). Information Age.
  • Bradley, J. V. (1978). Robustness? British Journal of Mathematical and Statistical Psychology, 31, 144-152.
  • Hoogland, J. J., & Boomsma, A. (1998). Robustness studies in covariance structure modeling: An overview and meta-analysis. Sociological Methods & Research, 26, 329-367.
  • Hu, L., & Bentler, P. M. (1999). Cutoff criteria for fit indices in covariance structure analysis: Conventional criteria versus new alternatives. Structural Equation Modeling: A Multidisciplinary Journal, 6, 1-55.
  • Leite, W. L., Bandalos, D. L., & Shen, Z. (n.d.). Simulation Methods in Structural Equation Modeling. (Chapter 6 of the provided text).
  • Muthén, L. K., & Muthén, B. O. (2002). How to use a Monte Carlo study to decide on sample size and determine power. Structural Equation Modeling, 9, 599-620.
  • Vale, C. D., & Maurelli, V. A. (1983). Simulating multivariate non-normal distributions. Psychometrika, 48, 465-471.

Chap 05. 구조방정식 모델링에서의 잠재변수 (Latent Variables in SEM)

구조방정식 모형(SEM)에서 가장 핵심적인 개념인 잠재변수(Latent Variables)에 대해 살펴보고, 이해를 돕기 위해 학교 현장의 예를 들어 설명해 드리겠습니다.

안녕하세요, 여러분. 오늘 우리는 사회과학, 특히 교육학에서 눈에 보이지 않는 대상을 어떻게 과학적으로 측정하고 분석하는지에 대해 깊이 있게 다룰 것입니다.

1. 잠재변수란 무엇인가? (Foundations)

1.1. 개념적 정의: 보이지 않는 것을 그리기

교육학에서는 ‘학업 동기’, ‘자아존중감’, ‘수리 능력’과 같은 개념을 다룹니다. 이것들의 공통점은 무엇일까요? 바로 직접 눈으로 볼 수도, 자로 잴 수도 없다는 점입니다.

  • 추상적 개념(Constructs): 이론적 논의에서 중요한 역할을 하지만 직접 관찰할 수 없는 속성들입니다. 예를 들어, 우리가 학생의 ‘수학 능력’을 평가한다고 할 때, 우리는 머릿속에 있는 능력 그 자체를 보는 것이 아니라, 그 학생이 푼 ‘시험 문제(관찰변수)’를 통해 능력을 추론합니다.
  • 잠재변수(Latent Variable): 이러한 추상적 개념을 모델 내에서 표현한 것입니다. 연구자는 이를 독립변수, 매개변수, 또는 종속변수로 활용할 수 있습니다.

1.2. 잠재변수의 다양한 정의와 ‘표본 실현(Sample Realization)’

학자마다 잠재변수를 정의하는 방식이 조금씩 다릅니다.

  1. 플라톤적 관점 (Realist View): 잠재변수는 실제로 존재하지만 우리가 관찰하지 못할 뿐이라는 입장입니다.
  2. 구성주의적 관점: 연구자가 현상을 설명하기 위해 만든 ‘허구적 개념’이라는 입장도 있습니다.
  3. 데이터 축소 관점: 복잡한 여러 데이터를 요약하는 수단으로 보기도 합니다.

WaurimaL의 Pick: Bollen(2002)의 “표본 실현(Sample Realization)” 정의.

이 정의는 가장 포괄적입니다. 어떤 변수가 표본의 적어도 일부 관측치에 대해 구체적인 값(실현된 값)을 가지지 못한다면, 그것은 잠재변수입니다.

  • 예를 들어, 모든 학생의 ‘창의성’ 점수가 데이터 시트에 비어 있다면, 창의성은 잠재변수입니다.
  • 이 정의는 결측치(missing values), 오차항(error terms), 교란항(disturbances)까지 모두 잠재변수로 포용합니다.

2. 지표의 두 얼굴: 반영지표 vs. 원인지표

SEM을 사용할 때 가장 혼동하기 쉬운 부분이 바로 지표(Indicator)와 잠재변수의 관계입니다.

2.1. 반영지표 (Reflective Indicators)

우리가 흔히 사용하는 방식입니다. 잠재변수(원인)가 관찰변수(결과)에 영향을 미칩니다.

  • 예시: ‘학교 폭력 피해 불안감(η\eta)’이 높으면 \rightarrow ‘등교하기 싫다(y1y_1)’, ‘악몽을 꾼다(y2y_2)’, ‘식욕이 없다(y3y_3)’는 응답이 높게 나타납니다.
  • 특징:
    • 화살표 방향: 잠재변수 \rightarrow 지표
    • 지표들끼리 상관관계가 높습니다 (불안감이 높으면 세 가지 증상 모두 나타남).
    • 수식: y1=α1+λ1η1+ϵ1y_1 = \alpha_1 + \lambda_1\eta_1 + \epsilon_1. 여기서 ϵ\epsilon은 측정 오차입니다.

2.2. 원인지표 (Causal/Formative Indicators)

반대로 지표들이 모여서 잠재변수를 형성하는 경우입니다.

  • 예시:’가정의 사회경제적 지위(SES, η\eta)’.
    • ‘부모의 소득(x1x_1)’, ‘부모의 학력(x2x_2)’, ‘직업 지위(x3x_3)’가 합쳐져서 SES를 결정합니다.
  • 특징:
    • 화살표 방향: 지표 \rightarrow 잠재변수.
    • 지표들끼리 상관관계가 없어도 됩니다 (소득이 높다고 반드시 학력이 높은 것은 아님).
    • 수식: η1=γ1x1+γ2x2+γ3x3+ζ1\eta_1 = \gamma_1x_1 + \gamma_2x_2 + \gamma_3x_3 + \zeta_1.

사고 실험 (Thought Experiment):

지표 하나를 억지로 높였을 때 잠재변수가 변합니까? 아니면 잠재변수가 변해야 지표가 변합니까?

  • 친구와 보내는 시간을 늘린다고(xx) 사회성(η\eta)이 바로 좋아지진 않을 수 있습니다. (원인지표 가능성)
  • 하지만 사회성(η\eta)이 좋아지면 친구, 가족, 동료와 보내는 시간(yy)이 모두 늘어날 것입니다. (반영지표).

3. 잠재변수의 확장: 더 복잡한 교육 현장 모델링

단순한 설문조사를 넘어, 복잡한 교육 데이터를 분석하기 위한 모델들을 소개합니다.

3.1. 잠재성장모형 (Latent Growth Curve Models)

학생들의 성적은 시간이 지남에 따라 변합니다. 우리는 이 ‘변화’ 자체를 잠재변수로 만들 수 있습니다.

  • 구조:
    • 초기치(Intercept, η1\eta_1): 1학년 때의 국어 성적 출발점.
    • 변화율(Slope, η2\eta_2): 학년이 올라갈수록 성적이 오르거나 떨어지는 속도.
  • 이 모델을 통해 “초기 성적이 낮은 학생이 나중에 더 빨리 성장하는가?”와 같은 질문에 답할 수 있습니다.

3.2. 성장혼합모형 (Growth Mixture Models)

모든 학생이 똑같은 패턴으로 성장하지 않습니다. 어떤 그룹은 성적이 급상승하고, 어떤 그룹은 정체될 수 있습니다.

  • 잠재계층(Latent Class, ξ\xi): 학생들을 보이지 않는 하위 집단(예: ‘고성취 급성장형’, ‘저성취 정체형’)으로 분류하는 범주형 잠재변수입니다.

3.3. 2차 요인 및 이중 요인 모델 (Second-order & Bifactor Models)

  • 2차 요인 모델: ‘수리력’, ‘언어력’, ‘공간지각력’이라는 1차 잠재변수들이 사실은 ‘일반 지능(gg)’이라는 상위(2차) 잠재변수에서 비롯되었다고 보는 모델입니다.
  • 이중 요인(Bifactor) 모델: 문항의 응답이 ‘일반적인 특성(예: 우울)’과 ‘특수한 맥락(예: 부정적 문항 뉘앙스)’에 동시에 영향을 받는다고 가정합니다.

4. 실습: jamovi와 R을 활용한 분석

이제 가상의 교육 데이터를 생성하여 실제 분석을 어떻게 수행하는지 보여드리겠습니다. jamovi는 기본적으로 lavaan 패키지를 기반으로 작동하므로, R 코드를 통해 데이터를 생성하고 분석하는 과정을 보여드리고, 이를 jamovi에서 어떻게 구현하는지 설명하겠습니다.

4.1. 시나리오: “디지털 리터러시와 학업 성취도 변화”

연구 배경: 경기도 소재 A고등학교 학생 200명을 대상으로 ‘디지털 리터러시’가 3년간의 ‘자기주도학습 능력’ 변화에 미치는 영향을 연구하고자 합니다.

  • 잠재변수 1 (외생): 디지털 리터러시 (DigiLit) – 반영지표 3개 (DL1: 정보검색, DL2: 비판적 평가, DL3: 콘텐츠 생성)
  • 잠재변수 2 (성장): 자기주도학습 초기치 (Intercept)
  • 잠재변수 3 (성장): 자기주도학습 변화율 (Slope)
  • 관측변수 (종속): 1학년~3학년 자기주도학습 검사 점수 (SDL_T1, SDL_T2, SDL_T3)

4.2. 데이터 생성 및 분석 (R Code)

이 코드는 R에서 실행 가능하며, jamovi의 Rj 모듈을 통해서도 실행할 수 있습니다.

R

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

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

# 1. 데이터 생성 (N = 200)
N <- 200

# 디지털 리터러시(DL) 잠재변수 생성 (평균 0, 분산 1)
DigiLit <- rnorm(N, 0, 1)

# 반영지표 생성 (측정오차 포함) 
# y = lambda * eta + error
DL1 <- 0.7 * DigiLit + rnorm(N, 0, 0.5)
DL2 <- 0.8 * DigiLit + rnorm(N, 0, 0.5)
DL3 <- 0.75 * DigiLit + rnorm(N, 0, 0.5)

# 자기주도학습(SDL) 성장모형 데이터 생성
# 초기치(Intercept)는 DL의 영향을 받음
Intercept <- 50 + 5 * DigiLit + rnorm(N, 0, 5)
# 변화율(Slope)도 DL의 영향을 받음 (DL이 높으면 더 빨리 성장)
Slope <- 2 + 1.5 * DigiLit + rnorm(N, 0, 2)

# 시점별 점수 생성 (T1, T2, T3)
# Score_t = Intercept + Slope * (Time_t) + error
SDL_T1 <- Intercept + Slope * 0 + rnorm(N, 0, 3)
SDL_T2 <- Intercept + Slope * 1 + rnorm(N, 0, 3)
SDL_T3 <- Intercept + Slope * 2 + rnorm(N, 0, 3)

# 데이터 프레임 생성
Data <- data.frame(DL1, DL2, DL3, SDL_T1, SDL_T2, SDL_T3)

# 2. jamovi/R 분석을 위한 모델 구문 (Lavaan Syntax)
# 이 구문은 jamovi SEM 모듈(SEMLj)에서도 그대로 사용 가능합니다.

model_syntax <- '
  # 측정 모델 (Measurement Model) [cite: 34]
  Digital_Lit =~ DL1 + DL2 + DL3

  # 잠재 성장 모델 (Latent Growth Model) 
  # 1, 1, 1은 절편(Intercept), 0, 1, 2는 기울기(Slope)를 의미
  i =~ 1*SDL_T1 + 1*SDL_T2 + 1*SDL_T3
  s =~ 0*SDL_T1 + 1*SDL_T2 + 2*SDL_T3

  # 구조 모델 (Structural Model): 디지털 리터러시가 성장요인에 미치는 영향
  i ~ Digital_Lit
  s ~ Digital_Lit
'

# 3. 모델 적합 (Estimation)
fit <- sem(model_syntax, data = Data)

# 4. 결과 요약
summary(fit, fit.measures=TRUE, standardized=TRUE)

# 5. 시각화 (Path Diagram)
semPaths(fit, whatLabels = "std", layout = "tree2", 
         edge.label.cex = 1.0, curvePivot = TRUE,
         main = "Digital Literacy & SDL Growth Model")

4.3. jamovi에서의 분석 절차

  1. 데이터 불러오기: 위에서 생성된 csv 파일을 jamovi에서 엽니다.
  2. SEMLj 모듈 설치: jamovi 라이브러리에서 SEMLj (또는 jmv의 기본 SEM 기능이 있다면 활용)를 설치합니다.
  3. Syntax 입력:
    • SEMLj 모듈을 열고 Syntax 모드를 선택합니다.
    • 위 R 코드의 model_syntax 부분(작은따옴표 안의 내용)을 복사해서 붙여넣습니다.
  4. 결과 확인:
    • CFI/TLI: 0.9 이상이면 좋은 적합도입니다.
    • RMSEA: 0.08 이하(이상적으로는 0.05 이하)인지 확인합니다.
    • 회귀계수(Estimates): Digital_Liti(초기치)와 s(기울기)에 미치는 영향(β\beta)이 유의한지(p < .05) 확인합니다.

5. 고려사항 및 해석 시 주의점 (Additional Considerations)

분석을 마쳤다고 끝이 아닙니다. 여러분께 당부하고 싶은 몇 가지 중요한 이슈가 있습니다.

5.1. 식별 (Identification)

모델이 수학적으로 풀릴 수 있는가에 대한 문제입니다.

  • 척도 설정(Scaling): 잠재변수는 단위가 없습니다. 따라서 지표 중 하나를 1로 고정(Unit loading)하거나, 잠재변수의 분산을 1로 고정하여 단위를 만들어 주어야 합니다.
  • 지표 수 규칙: 하나의 잠재변수는 최소 3개의 반영지표를 가질 때 가장 안정적으로 식별됩니다 (Three Indicator Rule).

5.2. 해석의 오류 (Interpretation)

많은 연구자가 잠재변수 η\eta를 ‘오차가 없는 완벽한 진실’이라고 착각합니다.

  • 하지만 잠재변수는 우리가 설정한 지표들의 공통 분산(Common Variance)일 뿐입니다.
  • 만약 모든 지표가 ‘자기보고식 설문’으로 측정되었다면, 잠재변수에는 실제 능력뿐만 아니라 ‘자기보고 편향’이라는 오차도 포함되어 있을 수 있습니다.

6. 결론 (Summary)

우리는 오늘 눈에 보이지 않는 교육적 개념들을 잠재변수로 정의하고, 이를 반영지표원인지표를 통해 모델링하며, 더 나아가 성장모형으로 확장하는 방법까지 배웠습니다.

Bollen과 Hoyle이 강조했듯, 잠재변수는 단순한 통계적 유희가 아닙니다. 그것은 추상적인 이론과 구체적인 데이터를 연결해 주는 가장 강력한 다리입니다. 여러분이 수행할 연구에서 이 다리를 튼튼하게 건설하시길 바랍니다.

참고문헌 (References)

  • Bollen, K. A., & Hoyle, R. H. (2012). Latent variables in structural equation modeling. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 56-67). Guilford Press. [Based on source text provided]
  • Bollen, K. A. (2002). Latent variables in psychology and the social sciences. Annual Review of Psychology, 53, 605-634.
  • Bollen, K. A., & Ting, K.-F. (2000). A tetrad test for causal indicators. Psychological Methods, 5, 3-22.
  • Jöreskog, K. G., & Sörbom, D. (1979). Advances in factor analysis and structural equation models. Abt Books.

Chap 04. 구조방정식 모델링을 위한 시각화 (Expanded)

오늘은 SEM 분석의 여정에서 ‘지도’와 ‘나침반’ 역할을 하는 시각화(Visualizations)에 대해 깊이 있게 다뤄보겠습니다.

구조방정식은 수많은 변수 간의 복잡한 관계를 다루기 때문에, 단순히 수치만 봐서는 길을 잃기 십상입니다. 텍스트에 기반한 설명뿐만 아니라, 실제 교육 현장의 데이터를 가정한 시뮬레이션을 통해 이해를 돕겠습니다.

오늘 다룰 핵심 내용은 1) 모델 명세(설계도 그리기), 2) 데이터 탐색(재료 확인하기), 3) 결과 제시(스토리텔링)입니다.

1. 서론: 왜 시각화인가?

시각화는 단순히 결과를 예쁘게 포장하는 것이 아닙니다. 변수 간의 복잡한 관계를 접근하기 쉽고 간결하게 전달하는 데 필수적입니다. 통계 그래픽은 다변량 데이터를 탐색하고, 모델링 진단을 수행하며, 결과를 제시하는 중요한 역할을 합니다. 특히 SEM은 복잡한 방향성(화살표) 및 비방향성(상관) 관계의 네트워크를 표현하므로, 연구자들은 그래픽에 의존하여 모델을 명시하고 분석하고 결과를 제시합니다.

2. 모델 명세 (Model Specification): 설계도 그리기

모델 명세는 여러분의 가설을 수학적 방정식이나 경로도(Path Diagram)로 공식화하는 과정입니다. LISREL 행렬 표기법과 경로도는 서로 동형(isomorphism), 즉 완전히 일치하는 관계입니다.

2.1 기본 기호와 약속 (Syntax)

교육학 연구에서 흔히 보는 도형들의 의미를 명확히 합시다.

  • 직사각형 (\square): 관측변수(Manifest Variable, MV). 실제 설문지 문항 점수나 시험 점수입니다. (예: 국어 성적, ‘수업에 만족한다’는 응답).
  • 원/타원 (\bigcirc): 잠재변수(Latent Variable, LV). 직접 측정할 수 없으나 관측변수를 통해 추정되는 개념입니다. (예: 학업적 자기효능감, 교사 애착). 오차항(Error term)도 잠재변수의 일종이므로 원으로 표시합니다.
  • 화살표 (\rightarrow): 방향성 관계(Directional relationship). 회귀계수와 같습니다. “A가 B에 영향을 미친다”는 뜻입니다.
  • 양방향 화살표 (\leftrightarrow): 비방향성 관계(Nondirectional relationship). 공분산이나 상관관계를 의미합니다.

2.2 식별(Identification): 척도 설정하기

이 부분이 학생들이 가장 어려워하는 부분입니다. 잠재변수는 가상의 개념이라 척도(단위)가 없습니다. 따라서 우리가 단위를 강제로 부여해야(Scale setting) 추정이 가능해집니다.

방법 1: 단위 적재치 고정 (Marker Variable)

  • 가장 흔한 방법입니다. 잠재변수에서 나가는 화살표 중 하나를 ‘1.0’으로 고정합니다.
  • 교육 예시: ‘학업 스트레스’라는 잠재변수가 있을 때, ‘나는 시험 때 긴장한다’라는 1번 문항의 경로를 1로 고정하면, 잠재변수는 이 문항의 5점 척도 단위를 따라갑니다.

방법 2: 잠재변수 분산 고정 (Standardization)

  • 잠재변수의 분산을 ‘1.0’으로 고정합니다.
  • 이 경우 잠재변수는 표준점수(Z-score)와 같아지며, 해석 시 “잠재변수가 1 표준편차 증가할 때…”라고 해석합니다.

2.3 교육학 예제 모델: “자기조절학습이 학업성취에 미치는 영향”

다음과 같은 가상의 연구 모델을 상상해 봅시다.

  • 외생변수(원인): 부모의 지원 (Parental Support)
  • 내생변수(매개/결과): 자기조절학습 (Self-Regulated Learning), 학업성취 (Achievement)
  • 가설: 부모의 지원은 자기조절학습을 높이고, 이는 다시 학업성취를 높일 것이다.

3. 데이터 탐색 (Modeling the Data): 재료 맛보기

모델을 돌리기 전에 데이터를 시각적으로, 수치적으로 탐색하는 ‘탐정 놀이(Sleuthing)’가 필수입니다. SEM은 다변량 분석이므로, 개별 변수의 분포뿐만 아니라 변수 간의 관계(행렬 플롯)를 함께 봐야 합니다.

3.1 시뮬레이션 데이터 생성 (Storytelling)

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

[시나리오: S고등학교의 디지털 리터러시 연구]

S고등학교 교사들은 학생들의 ‘디지털 리터러시(DL)’‘온라인 학습 몰입(Eng)’을 통해 ‘학업 만족도(Sat)’에 어떤 영향을 주는지 알고 싶습니다.

  • 측정 도구: 각 요인당 3문항 (5점 리커트 척도).
  • 특이사항: DL의 3번 문항은 역채점 문항일 가능성이 있어 분포 확인이 필요함.

이 데이터를 분석하기 전, 행렬 플롯(Matrix Plot)을 통해 다음을 확인해야 합니다.

  1. 정규성: 리커트 척도라 완벽한 정규분포는 아니지만, 심하게 찌그러져(Skewed) 있는지 확인.
  2. 상관관계: 같은 잠재변수로 묶인 문항들끼리 상관이 높은지(r>.40r > .40).
  3. 특이점: 산점도에서 튀는 값이나 비선형 패턴이 있는지.

3.2 jamovi & R을 활용한 시각화 구현

jamovi는 GUI 기반이라 편리하지만, 교재의 [Figure 4.3]과 같은 정교한 행렬 플롯을 그리려면 jamovi 내의 Rj 모듈(R 코드 실행기)을 쓰거나 R을 써야 합니다. 여기서는 psych 패키지를 활용한 코드를 소개합니다.

Note. From Handbook of structural equation modeling (p. 87), by R. H. Hoyle (Ed.), 2023, Guilford Press. Copyright 2023 by Guilford Press.

R

# R 코드 (jamovi Rj 에디터에 붙여넣기 가능)
# 가상 데이터 생성 및 시각화

set.seed(123)
library(psych)
library(MASS)

# 1. 데이터 생성 (N=200)
# 잠재변수 간 상관행렬 정의 (DL -> Eng -> Sat)
Sigma <- matrix(c(1.0, 0.5, 0.4,
                  0.5, 1.0, 0.6,
                  0.4, 0.6, 1.0), 3, 3)
latents <- mvrnorm(n = 200, mu = c(0,0,0), Sigma = Sigma)

# 관측변수 생성 (각 잠재변수당 3문항, 요인부하량 0.7~0.8 가정 + 오차)
create_item <- function(latent, loading) {
  item <- loading * latent + sqrt(1 - loading^2) * rnorm(200)
  item <- round(item * 1 + 3) # 5점 척도로 변환 (평균 3)
  item <- pmax(1, pmin(5, item)) # 1~5점 범위 제한
  return(item)
}

Data <- data.frame(
  DL1 = create_item(latents[,1], 0.8),
  DL2 = create_item(latents[,1], 0.75),
  DL3 = create_item(latents[,1], 0.7),
  Eng1 = create_item(latents[,2], 0.8),
  Eng2 = create_item(latents[,2], 0.85),
  Eng3 = create_item(latents[,2], 0.75),
  Sat1 = create_item(latents[,3], 0.8),
  Sat2 = create_item(latents[,3], 0.8),
  Sat3 = create_item(latents[,3], 0.7)
)

# 2. 행렬 플롯 (Exploratory Graphic)
# 교재 [Figure 4.3]과 유사한 형태: 대각선(히스토그램), 하단(산점도), 상단(상관)
pairs.panels(Data, 
             method = "pearson", # 상관계수
             hist.col = "#00AFBB",
             density = TRUE,  # 밀도 곡선
             ellipses = TRUE, # 상관 타원
             lm = TRUE,       # 선형 회귀선
             main = "디지털 리터러시, 몰입, 만족도 문항 간 행렬 플롯")

[분석 포인트]

  • 위 코드를 실행하여 나온 그래프를 볼 때, DL1, DL2, DL3 끼리의 상관이 높다면(타원이 좁고 길쭉함), 이들이 하나의 요인(디지털 리터러시)으로 묶일 수 있음을 시사합니다.
  • 대각선의 히스토그램을 보고 한쪽으로 쏠림(천장/바닥 효과)이 없는지 확인합니다.

4. 결과 제시 (Presentation of Results): 효과적인 전달

분석이 끝나면 결과를 논문이나 발표 자료에 실어야 합니다. 이때 경로도, 표, 점 도표(Dot Plot) 세 가지 방법이 있습니다.

4.1 경로도 (Path Diagrams)

  • 장점: 모델의 구조와 주요 수치를 한눈에 직관적으로 보여줍니다.
  • 단점: 모델이 복잡해지면 정보 과부하가 걸립니다. 효과 크기나 신뢰구간(CI)까지 다 적으면 너무 지저분해집니다.
  • 팁: 작은 모델에 추천합니다. jamovi의 SEMLj 모듈은 분석 후 자동으로 경로도를 그려줍니다.

4.2 표 (Tables)

  • 장점: 많은 정보(추정치, 표준오차, p값, 신뢰구간)를 콤팩트하게 담을 수 있습니다.
  • 단점: 수치들의 상대적 크기를 한눈에 비교하기 어렵습니다.
  • 팁: APA 스타일로 정리할 때 필수적입니다.

4.3 점 도표 (Dot Plots): 강력 추천

가장 강조하는 방식입니다.

  • 개념: 추정치(Estimate)를 점으로 찍고, 95% 신뢰구간(CI)을 양옆의 콧수염(Whisker)으로 표현합니다.
  • 장점:
    1. 비교 용이성: 어떤 경로 계수가 가장 큰지 시각적으로 즉시 비교 가능합니다.
    2. 유의성 판단: 신뢰구간이 0을 포함하는지(수염이 0 세로선을 건드리는지)를 보고 통계적 유의성을 직관적으로 판단합니다.
    3. 정렬(Ordering): 크기순으로 정렬하면 메시지가 더 명확해집니다.

[R을 이용한 점 도표 예시 생성]

여러분이 논문에 쓸 때 참고할 수 있도록, 위 시나리오 데이터의 분석 결과를 가정한 점 도표를 그려보겠습니다.

R

# 필요한 패키지 로드 (없으면 install.packages("ggplot2") 실행)
if (!require(ggplot2)) install.packages("ggplot2")
library(ggplot2)

# 1. SEM 분석 결과 데이터 생성 (가상 데이터)
# 실제 분석에서는 parameterEstimates(fit) 등의 함수로 추출한 값을 사용합니다.
sem_results <- data.frame(
  Type = c(rep("구조 경로 (Structural)", 3), rep("측정 요인부하량 (Measurement)", 3)),
  Parameter = c("디지털 리터러시 -> 몰입", 
                "몰입 -> 학업 만족도", 
                "디지털 리터러시 -> 학업 만족도",
                "DL1 (문항1)", "DL2 (문항2)", "DL3 (문항3)"),
  Estimate = c(0.65, 0.55, 0.15, 0.80, 0.75, 0.70), # 표준화 계수
  Lower_CI = c(0.50, 0.40, -0.05, 0.70, 0.65, 0.60), # 95% 신뢰구간 하한
  Upper_CI = c(0.80, 0.70, 0.35, 0.90, 0.85, 0.80)   # 95% 신뢰구간 상한
)

# 2. 요인 순서 정렬 (크기순 정렬이 시각적 인지에 유리함 [cite: 848])
# Estimate 크기에 따라 Parameter 순서를 재조정
sem_results$Parameter <- reorder(sem_results$Parameter, sem_results$Estimate)

# 3. 점 도표(Dot Plot) 그리기
ggplot(sem_results, aes(x = Estimate, y = Parameter, color = Type)) +
  
  # (1) 0점 기준선: 유의성 판단의 기준 (수직 점선)
  geom_vline(xintercept = 0, linetype = "dashed", color = "gray50") +
  
  # (2) 오차 막대 (Error Bars): 95% 신뢰구간 표현
  geom_errorbarh(aes(xmin = Lower_CI, xmax = Upper_CI), 
                 height = 0.2, size = 0.8) +
  
  # (3) 점 (Points): 추정치(계수) 표현
  geom_point(size = 3.5) +
  
  # (4) 디자인 테마 및 색상 설정
  scale_color_manual(values = c("steelblue", "darkorange")) +
  theme_classic(base_family = "sans") + # 깔끔한 논문 스타일
  
  # (5) 라벨 및 범례 설정
  labs(title = "구조방정식 모델링 분석 결과: 표준화 계수 및 95% 신뢰구간",
       subtitle = "디지털 리터러시가 학업 만족도에 미치는 영향 (매개효과 검증)",
       x = "표준화 계수 (Standardized Estimate)",
       y = NULL, # Y축 라벨 제거 (변수명이 있으므로)
       caption = "Note. 오차 막대는 95% 신뢰구간을 나타냄. 0을 포함하면 유의하지 않음.") +
  
  theme(legend.position = "bottom", # 범례를 아래로
        legend.title = element_blank(), # 범례 제목 제거
        plot.title = element_text(face = "bold", size = 14),
        axis.text.y = element_text(color = "black", size = 11))

[해석 방법]

  • DL -> Eng: 점이 0.65에 있고, 수염(CI)이 0을 지나지 않으므로 통계적으로 유의하고 효과가 큽니다.
  • DL -> Sat (Direct): 점이 0.15에 있고, 수염이 0을 가로지릅니다. 즉, 디지털 리터러시가 만족도에 미치는 직접 효과는 유의하지 않다는 것을 바로 알 수 있습니다. 이것은 완전 매개(Full Mediation) 모형을 지지하는 증거가 됩니다.

5. 결론 및 제언

구조방정식 모델링에서 시각화는 선택이 아닌 필수입니다.

  1. 연구 설계 단계: 경로도를 그려보며 이론적 가설을 구체화하십시오.
  2. 분석 전 단계: 행렬 플롯(Matrix Plot)으로 데이터를 샅샅이 탐색(Sleuthing)하십시오.
  3. 결과 보고 단계: 복잡한 모델일수록 점 도표(Dot Plot)를 활용하여 효과 크기와 정밀성(신뢰구간)을 강조하십시오.

여러분의 연구가 훌륭한 시각화를 통해 더욱 빛나기를 바랍니다.

[참고문헌]

  • Cleveland, W. S. (1984). Graphical methods for data presentation: Full scale breaks, dot charts, and multibased logging. The American Statistician, 38, 270-280.
  • Jöreskog, K. G., & Sörbom, D. (2006). LISREL 8.8 for Windows [Computer software manual]. Scientific Software International.
  • Pek, J., & Flora, D. B. (2018). Reporting effect sizes in original psychological research: A discussion and tutorial. Psychological Methods, 23(2), 208-225.
  • Pek, J., Davisson, E. K., & Hoyle, R. H. (202x). Visualizations for Structural Equation Modeling. In Handbook of Structural Equation Modeling.
  • Tukey, J. W. (1977). Exploratory data analysis. Addison-Wesley.

Chap 03. 구조방정식모델링(SEM)과 인과추론: 상관관계를 넘어 원인을 찾아서

1. 서론: SEM은 단순히 통계적 적합도 놀이인가?

교육학이나 심리학 연구를 하다 보면 우리는 늘 이런 경고를 듣습니다. “상관관계는 인과관계를 증명하지 않는다(Correlation does not prove causation).”

하지만 아이러니하게도 우리는 구조방정식(SEM)을 사용하여 경로 모형을 그리고, 화살표를 그으며 내심 “이 변수가 저 변수의 원인이야”라고 해석하고 싶어 합니다. 실제로 SEM의 초기 개척자들(Sewall Wright, Haavelmo 등)은 SEM을 데이터와 이론적 가정을 결합하여 인과적 결론을 도출하는 강력한 도구로 여겼습니다.

그러나 시간이 지나며 통계학자들의 비판(예: Freedman, Holland) 속에 SEM 연구자들은 자신감을 잃었습니다. “이 파라미터는 인과 효과가 아니다”라며 방어적인 태도를 취하게 되었죠. 이 챕터의 목적은 SEM이 어떻게 다시 강력한 인과추론의 도구가 될 수 있는지, 그 논리적 기반을 명확히 하는 것입니다.

2. SEM의 논리적 구조: 가정, 질의, 그리고 데이터

SEM이 인과관계를 주장할 수 있는 이유는 데이터가 마법을 부려서가 아닙니다. 바로 연구자가 투입하는 ‘가정(Assumptions)’ 때문입니다.

Judea Pearl은 SEM을 하나의 추론 엔진(Inference Engine)으로 봅니다.

  • 입력 (Input):
    1. 가정(AA): 연구자가 이론적으로 정당화할 수 있는 인과적 가정들입니다. (예: “지능은 학업성취에 영향을 주지만, 학업성취가 지능을 바꾸지는 않는다.”)
    2. 질의(QQ): 우리가 알고자 하는 질문입니다. (예: “방과 후 수업(XX)을 들으면 성적(YY)이 얼마나 오를까?”)
    3. 데이터(DD): 우리가 수집한 관찰 데이터입니다.
  • 출력 (Output):
    1. 논리적 함의(AA^*): 데이터와 무관하게, 가정만으로 도출되는 논리적 결론입니다.
    2. 조건부 주장(CC): “가정 AA가 맞다면, 효과는 CC이다”라는 형태의 주장입니다.
    3. 검증 가능한 함의(TT): 데이터로 우리 모형의 가정이 틀렸는지 확인할 수 있는 부분입니다(적합도 검증).

WaurimaL의 팁: SEM 결과표에 있는 숫자가 “진짜 인과 효과”가 되려면, 여러분이 그린 화살표(가정 AA)가 이론적으로 탄탄해야 합니다. 통계 프로그램은 여러분의 가정이 참이라고 믿고 계산만 해줄 뿐입니다.

3. 구조방정식의 본질: ‘본다(Seeing)’와 ‘한다(Doing)’의 차이

가장 중요한 개념 중 하나는 do(x)do(x) 연산자입니다.

  • P(y|x)P(y|x): XXxx인 학생들을 관찰했을 때(Seeing), YY의 확률입니다. (예: 학원을 다니는 학생들의 성적)
  • P(y|do(x))P(y|do(x)): 모든 학생에게 강제로 X를 하게 했을 때(Doing/Intervention), YY의 확률입니다. (예: 교육청이 모든 학생을 학원에 보내는 정책을 폈을 때의 성적).

구조방정식 y=βx+uyy = \beta x + u_y는 단순한 회귀식이 아닙니다. 이것은 자연이 YY의 값을 결정하는 메커니즘을 표현한 것입니다. 여기서 β\beta는 다른 모든 변수를 고정하고 XX만 1단위 증가시켰을 때 YY의 변화량을 의미하며, 이는 인과적 해석을 담고 있습니다.

4. 반사실적 사고(Counterfactuals): “만약 그랬다면?”

우리가 교육 연구에서 진짜 궁금한 것은 이런 것입니다.

“철수가 보충수업을 안 들었는데 성적이 70점이다. 만약 철수가 보충수업을 들었더라면(do(x)do(x)) 몇 점을 받았을까?”

이것이 바로 반사실(Counterfactuals)입니다. SEM은 이를 수학적으로 계산할 수 있는 도구를 제공합니다.

[예시] 철수의 성적 예측

다음과 같은 모형이 있다고 합시다 (Figure 3.4 참고).

Note. From Handbook of structural equation modeling (p. 57), by R. H. Hoyle (Ed.), 2023, Guilford Press. Copyright 2023 by Guilford Press.

  • XX: 보충수업 시간 (0.5시간)
  • ZZ: 자습 시간 (1시간)
  • YY: 시험 성적 (1.5점)

우리는 철수의 잠재적 특성(오차항 uu)을 계산한 뒤, 철수가 자습 시간을 2배로 늘렸다면(Z=2Z=2) 성적이 어떻게 되었을지 계산할 수 있습니다. 이것은 단순한 회귀분석으로는 불가능하며, 구조적 모형이 있어야만 가능합니다.

5. 모의 데이터 생성 및 분석 (R & Jamovi)

이론만으로는 어려우니, 구체적인 교육학 시나리오를 만들어 R과 Jamovi(매개분석)를 통해 인과 효과를 추정해 보겠습니다. Pearl이 강조한 매개 공식(Mediation Formula)의 개념을 적용해 봅니다.

시나리오: ‘메타인지 훈련 프로그램’의 효과

  • 독립변수 (XX): 메타인지 훈련 프로그램 참여 여부 (0: 미참여, 1: 참여)
  • 매개변수 (MM): 자기주도학습 시간 (연속형)
  • 종속변수 (YY): 기말고사 수학 성적 (연속형)
  • 교란변수 (CC): 사전 수학 능력 (기초학습능력)

이 시나리오에서 우리는 프로그램이 성적을 직접 올리는지(직접 효과), 아니면 학습 시간을 늘려서 성적을 올리는지(간접 효과) 알고 싶습니다.

1) 데이터 생성 (R Code)

먼저, 인과적 구조를 반영하여 데이터를 생성합니다.

R

# 필요한 패키지 로드
if(!require(MASS)) install.packages("MASS")
set.seed(1234) # 재현성을 위해 시드 설정

# 샘플 수
N <- 1000

# 1. 교란변수 (C): 사전 수학 능력 (평균 50, 표준편차 10)
C <- rnorm(N, mean = 50, sd = 10)

# 2. 독립변수 (X): 메타인지 훈련 (랜덤 배정이지만, 사전 능력이 높으면 참여 확률이 약간 높게 설정 - 현실 반영)
# 로지스틱 함수를 이용해 확률 생성
prob_X <- 1 / (1 + exp(-(-2 + 0.05 * C)))
X <- rbinom(N, 1, prob_X)

# 3. 매개변수 (M): 자기주도학습 시간
# 훈련(X)과 사전능력(C)이 학습 시간에 영향을 줌
# M = 10 + 2*X + 0.1*C + error
M <- 10 + 2 * X + 0.1 * C + rnorm(N, mean = 0, sd = 2)

# 4. 종속변수 (Y): 기말고사 성적
# 훈련(X), 학습시간(M), 사전능력(C)이 모두 성적에 영향을 줌
# Y = 20 + 3*X + 1.5*M + 0.5*C + error
# 진정한 인과 효과(True Parameters):
# - X -> M (a path): 2
# - M -> Y (b path): 1.5
# - X -> Y (c' path, 직접효과): 3
# - 간접효과 (a*b): 2 * 1.5 = 3
# - 총효과: 3 + 3 = 6
Y <- 20 + 3 * X + 1.5 * M + 0.5 * C + rnorm(N, mean = 0, sd = 5)

# 데이터 프레임 생성
data <- data.frame(
  Pre_Math = C,
  Program = factor(X, levels = c(0, 1), labels = c("Control", "Treatment")),
  Study_Time = M,
  Final_Score = Y
)

# CSV 파일로 저장 (Jamovi에서 불러오기 위함)
write.csv(data, "meta_cognition_data.csv", row.names = FALSE)

# 데이터 확인
head(data)

생성된 예제 파일: chap03

2) Jamovi를 이용한 분석 가이드

Jamovi에서는 jmv 모듈(GLM)이나 medmod (Mediation) 모듈을 사용하여 분석할 수 있습니다. Pearl이 제안한 매개 공식은 비선형 모델에서도 작동하지만, 여기서는 이해를 돕기 위해 선형 모델을 가정하고 분석합니다.

  1. 데이터 불러오기: 위에서 생성한 meta_cognition_data.csv를 엽니다.
  2. 분석 모듈: Analyses > Mediation > Mediation (jamovi library에서 medmod 설치 필요).
  3. 변수 설정:
    • Dependent Variable: Final_Score (YY)
    • Predictor: Program (XX)
    • Mediator: Study_Time (MM)
    • Covariates: Pre_Math (CC) – 중요! 교란변수를 통제해야 정확한 인과 효과 추정이 가능합니다(Back-door criterion).
  4. 결과 해석:
    • Indirect Effect (간접 효과): Study_Time을 경유하는 효과입니다. R 코드에서 설정한 참값은 2×1.5=3.02 \times 1.5 = 3.0입니다. Jamovi 결과가 이와 유사하게 나오는지 확인합니다.
    • Direct Effect (직접 효과): ProgramFinal_Score에 미치는 직접적인 영향입니다. 참값은 3.03.0입니다.
    • Total Effect (총 효과): 직접효과 + 간접효과 6.0\approx 6.0.

Pearl의 관점에서의 해석:

전통적인 Baron & Kenny 방법이나 단순 회귀분석은 비선형성이나 상호작용이 있을 때 인과 효과를 오해할 수 있습니다. Pearl의 Mediation Formula 20는 어떤 형태의 함수(비선형 포함)라도 반사실적 정의(Counterfactual definition)를 통해 정확한 직접/간접 효과를 정의합니다. Jamovi의 결과는 선형 가정 하에 Pearl의 공식과 일치하는 결과를 줍니다.

6. 식별(Identification): 언제 인과관계를 주장할 수 있는가?

데이터만 있다고 무조건 인과관계를 찾을 수 있는 것은 아닙니다. 모델이 식별 가능(Identifiable)해야 합니다.

d-분리(d-separation)와 검증

우리가 그린 화살표가 맞는지 어떻게 알 수 있을까요? 그래프 이론의 d-separation을 사용합니다.

  • 만약 XMYX \rightarrow M \rightarrow Y 경로만 있고 XYX \rightarrow Y 직접 경로가 없다면, MM을 통제했을 때 XXYY는 통계적으로 독립이어야 합니다.
  • 데이터에서 실제로 XXYYMM 통제 하에 독립이라면, 우리 모델은 데이터와 일치(Fit)하는 것입니다. 이것이 적합도 검증의 원리입니다.

뒷문 기준(Back-Door Criterion)

관찰 데이터에서 인과 효과(P(y|do(x))P(y|do(x)))를 구하기 위해 어떤 변수를 통제해야 할까요? Pearl은 뒷문 기준이라는 명확한 규칙을 제시합니다.

  1. XX의 결과(후손)인 변수는 통제하지 마십시오.
  2. XX로 들어오는 화살표(뒷문)를 막는 변수 집합을 통제하십시오.

위의 모의 데이터 예시에서 Pre_Math(사전 능력)는 Program(XX)과 Final_Score(YY) 모두에 영향을 주는 공통 원인이므로, 뒷문을 열어두고 있습니다. 따라서 이 변수를 통제해야만 편향 없는 인과 효과를 얻을 수 있습니다.

7. 결론

구조방정식모델링(SEM)은 단순한 통계 기법이 아니라, 인과적 가정을 수학적으로 표현하고 검증하는 언어입니다.

  • SEM의 파라미터는 적절한 가정 하에서 인과적 효과로 해석될 수 있습니다.
  • 반사실적 사고(dodo-calculus)를 통해 우리는 “실험하지 않은 상황”에 대한 예측을 할 수 있습니다.
  • 연구자는 자신의 가정을 그래프(Path Diagram)로 명확히 표현하고, d-separation과 같은 도구로 이를 검증해야 합니다.

교육 연구자로서 우리는 이제 “상관관계는 인과관계가 아니다”라는 말 뒤에 숨지 말고, “어떤 가정 하에서 이 상관관계를 인과관계로 해석할 수 있는가?”를 묻고 답해야 합니다.


참고문헌 (References)

  • Bareinboim, E., & Pearl, J. (2016). Causal inference and the data-fusion problem. Proceedings of the National Academy of Sciences, 113, 7345-7352.
  • Bollen, K. A. (1989). Structural equations with latent variables. New York: Wiley.
  • Freedman, D. A. (1987). As others see us: A case study in path analysis. Journal of Educational Statistics, 12, 101-223.
  • Muthén, B. (1987). Response to Freedman’s critique of path analysis: Improve credibility by better methodological training. Journal of Educational Statistics, 12, 178-184.
  • Pearl, J. (2000). Causality: Models, reasoning, and inference. New York: Cambridge University Press.
  • Pearl, J. (2009). Causality: Models, reasoning, and inference (2nd ed.). New York: Cambridge University Press.
  • Pearl, J. (2012). The mediation formula: A guide to the assessment of causal pathways in non-linear models. In C. Berzuini, P. Dawid, & L. Bernardinelli (Eds.), Causality: Statistical perspectives and applications (pp. 151-179). Hoboken, NJ: Wiley.
  • Pearl, J. (This Chapter). The Causal Foundations of Structural Equation Modeling.
  • Wilkinson, L., Task Force on Statistical Inference, & APA Board of Scientific Affairs. (1999). Statistical methods in psychology journals: Guidelines and explanations. American Psychologist, 54, 594-604.
  • Wright, S. (1921). Correlation and causation. Journal of Agricultural Research, 20, 557-585.

Chap 02. 구조방정식 모델링의 역사와 발전

안녕하세요, 여러분.

오늘은 우리가 배우고 있는 구조방정식 모델링(SEM: Structural Equation Modeling)이 도대체 어디서 왔고, 어떻게 지금의 강력한 도구가 되었는지 그 역사를 짚어보는 시간을 갖겠습니다. “역사”라고 하면 지루하게 느낄 수 있겠지만, SEM의 역사는 생물학, 사회학, 심리학, 경제학이라는 서로 다른 학문이 ‘인과관계 규명’이라는 하나의 목표를 향해 달려와 만나는 아주 흥미로운 대서사시입니다.

이 챕터는 Ross L. Matsueda의 “A Brief History of Structural Equation Modeling” 을 바탕으로, 내용을 대폭 보강하고 우리 교육학 분야의 예시를 곁들여 재구성했습니다.

제2장. 구조방정식 모델링의 역사와 발전: 융합과 혁신

1. 서론: SEM은 하루아침에 만들어지지 않았다

구조방정식(SEM)은 현대 사회과학 연구에서 가장 인기 있는 통계 기법 중 하나입니다. 하지만 SEM은 어느 한 천재가 뚝딱 만들어낸 것이 아닙니다. 지난 100여 년간 각기 다른 분야에서 “관찰된 데이터로 어떻게 보이지 않는 원인을 찾을 것인가?”라는 질문에 답하기 위해 개발된 방법론들이 1970년대에 극적으로 통합된 결과물입니다.

우리는 이 거대한 흐름을 크게 네 가지 단계로 나누어 살펴보겠습니다.

  1. 기초 확립기: 생물학, 사회학, 심리학, 경제학의 독자적 발전
  2. 학제 간 통합기: 1970년대, 잠재변수와 경로분석의 만남
  3. 확장기: 정규성 가정 위반과 범주형 자료의 처리
  4. 최신 발전기: 베이지안, 기계학습, 그리고 인과 추론의 재조명

2. SEM의 학문적 뿌리 (Foundations)

SEM의 뿌리는 놀랍게도 유전학(생물학)에서 시작되어 사회학, 심리학, 경제학으로 뻗어나갔습니다.

2.1. 생물학 및 유전학: Sewall Wright의 경로분석 (Path Analysis)

1918년, 젊은 유전학자 Sewall Wright는 기니피그의 뼈 크기와 털 색깔 유전을 연구하고 있었습니다. 그는 단순히 변수 간의 상관관계(Correlation)를 구하는 것만으로는 부족함을 느꼈습니다. 상관관계는 두 변수가 관련이 있다는 것은 알려주지만, “무엇이 원인이고 무엇이 결과인가?”는 말해주지 않기 때문이죠.

그래서 Wright는 경로분석(Path Analysis)을 창안했습니다. 그는 변수들 사이의 인과관계를 화살표로 연결한 경로도(Path Diagram)를 그렸습니다.

Note. From Handbook of structural equation modeling (p. 18), by R. H. Hoyle (Ed.), 2023, Guilford Press. Copyright 2023 by Guilford Press.

  • 교육학적 예시: 여러분이 ‘부모의 지원(X)’이 ‘학생의 성적(Y)’에 미치는 영향을 본다고 가정해 봅시다. Wright의 방식에 따르면, 단순히 상관계수 rr을 보는 것이 아니라, 인과적 가정을 담은 경로 계수(path coefficient)를 통해 이 관계를 설명하려고 시도한 것입니다.

Wright는 이 복잡한 연립방정식 체계를 통해 유전(Heredity)과 환경(Environment)이 기니피그의 특성에 미치는 영향을 분해했습니다. 하지만 당시 통계학계의 주류였던 피어슨(Pearson) 학파와 피셔(Fisher) 학파는 Wright의 아이디어를 외면했습니다. “상관관계에서 인과를 찾으려 한다”는 이유로 말이죠.

2.2. 사회학: 인과 모델의 도입

사회학에서는 실험이 불가능한 경우가 많습니다. 예를 들어 “빈곤이 범죄에 미치는 영향”을 보기 위해 사람들을 강제로 빈곤하게 만들 수 없으니까요. 따라서 비실험 데이터(관찰 데이터)로 인과관계를 추론하는 것이 절실했습니다.

  • Blalock과 Duncan: 1960년대 사회학자 Blalock과 Duncan은 Wright의 경로분석을 사회학으로 가져왔습니다.
  • 지위 획득 모델 (Status Attainment Model): Blau와 Duncan(1967)은 아버지의 직업이 아들의 교육 수준을 거쳐 아들의 직업에 영향을 미치는 경로 모형을 제시했습니다. 이는 오늘날 우리가 교육사회학에서 흔히 보는 “가정배경 \rightarrow 학업성취 \rightarrow 사회적 성취” 모델의 시초입니다.

2.3. 심리학: 요인분석 (Factor Analysis)

심리학의 관심은 조금 달랐습니다. 심리학자들은 “지능(Intelligence)”이나 “창의성”처럼 눈에 보이지 않는 잠재변수(Latent Variable)를 측정하는 데 관심이 있었습니다.

  • Spearman의 g요인: Spearman(1904)은 여러 과목의 성적(수학, 언어, 논리 등)이 서로 상관이 높은 것을 보고, 이들 뒤에 공통된 하나의 원인인 일반 지능(g factor)이 있다고 주장했습니다.
  • 교육학적 적용: 우리가 “수리력”을 측정하기 위해 여러 개의 수학 문제를 풀게 하고, 그 점수들의 공통된 분산을 뽑아내는 것이 바로 요인분석의 원리입니다. 이를 통해 측정 오차(measurement error)를 제외한 진정한 능력을 추정할 수 있게 되었습니다.

2.4. 경제학: 연립방정식 모델 (Simultaneous Equation Models)

경제학자들은 수요와 공급처럼 서로가 서로에게 영향을 주는 양방향 인과관계(Reciprocal relationship)를 고민했습니다. 가격이 오르면 수요가 줄지만, 수요가 늘어나면 가격이 오르기도 하니까요.

  • Haavelmo와 Cowles 위원회: 이들은 연립방정식 모델을 통해 변수들이 동시에 결정되는 시스템을 추정하는 방법을 개발했습니다. 이는 훗날 SEM에서 양방향 화살표(비재귀 모형)를 다룰 수 있는 이론적 토대가 되었습니다.

3. 학제 간 대통합 (Integration): 현대 SEM의 탄생

1970년대는 SEM의 역사에서 가장 중요한 시기입니다. 서로 다른 길을 걷던 경로분석(사회학/생물학), 요인분석(심리학), 연립방정식(경제학)이 하나로 합쳐졌기 때문입니다.

3.1. Jöreskog와 LISREL

이 통합의 중심에는 스웨덴의 통계학자 Karl Jöreskog가 있습니다. 그는 1970년, LISREL (Linear Structural RELations)이라는 모델과 컴퓨터 프로그램을 발표했습니다.

  • 혁신: Jöreskog는 “측정 모델(요인분석)”과 “구조 모델(경로분석)”을 하나의 수식으로 결합했습니다.
    • 측정 모델: x=Λξ+δx = \Lambda \xi + \delta (관측변수가 잠재변수를 어떻게 측정하는가?)
    • 구조 모델: η=Bη+Γξ+ζ\eta = B\eta + \Gamma\xi + \zeta (잠재변수들끼리 어떤 인과관계를 맺는가?)
  • 이로써 우리는 “측정 오차를 통제한 상태에서 잠재변수 간의 인과관계”를 분석할 수 있게 되었습니다. 이것이 바로 오늘날 우리가 쓰는 SEM의 표준입니다.

3.2. Hauser와 Goldberger의 통찰

Hauser와 Goldberger(1971)는 관측되지 않는 변수(Unobservables)를 처리하는 방식을 정교화하며, 최대우도법(ML)이 어떻게 최적의 추정치를 제공하는지 증명했습니다. 그들은 “Walking Dog Model”(개 산책 모델)이라 불리는 다중 지표 모델을 통해 이를 설명했습니다.

Note. From Handbook of structural equation modeling (p. 23), by R. H. Hoyle (Ed.), 2023, Guilford Press. Copyright 2023 by Guilford Press.

4. [실습 및 시뮬레이션] 교육학적 예시: 통합된 SEM의 위력

이론만으로는 와닿지 않을 수 있습니다. 1970년대 통합의 의의를 보여주기 위해, 교육학적 상황을 가정한 모의 데이터를 생성하고 분석해보겠습니다.

시나리오: “가정의 사회경제적 배경(SES)”이 “학교 적응(School Adjustment)”을 매개로 “학업 성취도(Achievement)”에 미치는 영향을 보고 싶습니다.

  • 전통적 경로분석: SES, 적응, 성취도를 각각 하나의 점수(관측변수)로만 봅니다. 측정 오차를 고려하지 못합니다.
  • 통합된 SEM: SES, 적응, 성취도를 각각 여러 문항으로 측정한 잠재변수로 설정하여 측정 오차를 제거하고 구조적 관계를 봅니다.

아래는 R을 사용하여 이 가상의 상황을 시뮬레이션하고 분석하는 코드입니다. (jamovi에서는 SEMLj 모듈을 설치하여 아래와 유사한 구조로 분석할 수 있습니다.)

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

# 1. 데이터 생성 (Backstory: N=500명의 고등학생 데이터)
# SES: 부모소득(inc), 부모학력(edu)
# School_Adj(학교적응): 교사관계(rel_t), 교우관계(rel_f), 학교흥미(intr)
# Ach(성취도): 중간고사(mid), 기말고사(fin), 모의고사(mock)

set.seed(1234)
N <- 500

# 구조 모델 (Latent Regression)
# SES -> Adj (0.4), SES -> Ach (0.3), Adj -> Ach (0.5)
SES <- rnorm(N)
Adj <- 0.4*SES + rnorm(N, 0, 0.8) # 오차항 포함
Ach <- 0.3*SES + 0.5*Adj + rnorm(N, 0, 0.7)

# 측정 모델 (Measurement Model)
# 각 잠재변수가 관측변수를 생성
inc <- 1.0*SES + rnorm(N, 0, 0.5)
edu <- 0.8*SES + rnorm(N, 0, 0.5)

rel_t <- 1.0*Adj + rnorm(N, 0, 0.6)
rel_f <- 0.9*Adj + rnorm(N, 0, 0.6)
intr  <- 0.8*Adj + rnorm(N, 0, 0.6)

mid <- 1.0*Ach + rnorm(N, 0, 0.4)
fin <- 1.1*Ach + rnorm(N, 0, 0.4)
mock <- 0.9*Ach + rnorm(N, 0, 0.4)

# 데이터프레임 생성
Data <- data.frame(inc, edu, rel_t, rel_f, intr, mid, fin, mock)

# 2. SEM 모델 명세 (Lavaan Syntax)
model <- '
  # 측정 모델 (Measurement Model)
  SES =~ inc + edu
  Adjustment =~ rel_t + rel_f + intr
  Achievement =~ mid + fin + mock
  
  # 구조 모델 (Structural Model)
  Achievement ~ Adjustment + SES
  Adjustment ~ SES
'

# 3. 모델 적합
fit <- sem(model, data=Data)

# 4. 결과 요약
summary(fit, standardized=TRUE, fit.measures=TRUE)

생성된 예제 파일: chap02

해설: 위 코드를 실행하면, 단순히 관측값의 평균을 내어 회귀분석을 한 것보다 더 정교한 결과를 얻습니다. 측정 오차(Measurement Error, ϵ\epsilon)가 분리되었기 때문입니다. 이것이 바로 Jöreskog가 이룩한 혁신의 핵심입니다.

5. 방법론적 확장: 현실 데이터의 문제 해결

1980년대 이후, 연구자들은 SEM의 기본 가정(다변량 정규성 등)이 실제 데이터에서는 잘 지켜지지 않는다는 비판에 직면했습니다.

5.1. 정규성 가정 위반의 해결 (Browne의 기여)

대부분의 교육 데이터(예: 설문조사 5점 척도)는 완벽한 정규분포를 따르지 않습니다.

  • ADF (Asymptotically Distribution-Free) 추정: Browne(1984)은 데이터가 정규분포를 따르지 않아도 정확한 추정치를 얻을 수 있는 ADF 추정법을 개발했습니다. 다만, 이 방법은 매우 큰 표본을 요구한다는 단점이 있어, 이후 Satorra-Bentler와 같은 수정된 통계량들이 개발되어 널리 쓰이게 되었습니다.

5.2. 범주형 자료와 서열 척도

설문조사의 “매우 그렇다 ~ 매우 아니다”는 엄밀히 말하면 연속형 변수가 아니라 서열(Ordinal) 변수입니다.

  • Muthén의 기여: Muthén(1984)은 범주형 변수를 분석할 때 다류 상관계수(Polychoric correlation)를 사용하여 잠재변수 간의 관계를 추정하는 프레임워크를 완성했습니다. 이를 통해 리커트 척도 데이터도 SEM에서 엄밀하게 다룰 수 있게 되었습니다.

6. 최신 흐름: SEM의 현재와 미래 (Recent Advances)

이제 SEM은 단순한 인과모형을 넘어 다양한 통계적 난제들을 해결하는 종합 플랫폼으로 진화했습니다.

6.1. 잠재성장모형 (Latent Growth Models)

학생들의 성적은 시간에 따라 변합니다. SEM은 이제 횡단적 분석뿐만 아니라 종단적 변화도 모델링합니다.

  • LGM: 학생들의 초기 성적(Intercept)과 성장 속도(Slope)를 잠재변수로 설정하여, “누가 더 빨리 성장하는가?”, “무엇이 성장을 촉진하는가?”를 분석합니다.
  • 잠재계층 성장모형 (LCGA): 모든 학생이 똑같은 패턴으로 성장하지 않습니다. 어떤 그룹은 성적이 급상승하고, 어떤 그룹은 정체될 수 있습니다. Nagin과 Muthén은 이러한 이질적인 하위 그룹을 찾아내는 혼합 모형(Mixture Model)을 SEM에 결합했습니다.

6.2. 베이지안 접근 (Bayesian Approaches)

전통적인 빈도주의(Frequentist) 통계는 p-value에 의존하지만, 최근에는 사전 정보(Prior)를 결합하여 추정의 정확성을 높이는 베이지안 SEM이 확산되고 있습니다.

  • MCMC: 복잡한 모형의 파라미터 분포를 시뮬레이션을 통해 추정하는 기법으로, 기존 ML 방식으로는 풀기 어려웠던 복잡한 모델도 추정 가능하게 했습니다.

6.3. 인과 추론의 재발견 (Causality)

“상관관계는 인과관계가 아니다”라는 말은 통계학의 철칙이었습니다. 하지만 Pearl, Rubin 등은 “그렇다면 언제 인과라고 부를 수 있는가?”에 대해 수학적으로 답하기 시작했습니다.

  • 반사실적 접근 (Counterfactuals): “만약 이 학생이 다른 교수법을 받았다면 어땠을까?”라는 잠재적 결과(Potential Outcomes) 프레임워크가 SEM에 도입되었습니다.
  • Pearl의 그래프 모형: 변수 간의 인과 구조를 그래프로 표현하고, d-separation과 같은 규칙을 통해 어떤 변수를 통제해야 진정한 인과효과를 얻을 수 있는지 식별합니다.

6.4. 기계학습과 SEM (Machine Learning)

최근에는 기계학습(Machine Learning)이 SEM에 들어왔습니다.

  • SEM Trees: 의사결정나무(Decision Tree) 기법을 사용하여, 모형의 경로 계수가 달라지는 집단(예: 성별, 소득수준 등)을 자동으로 탐색합니다.
  • TETRAD: 인공지능 알고리즘을 사용하여 데이터만으로 인과 구조를 “발견”하려는 시도들도 이루어지고 있습니다.

7. 결론

구조방정식 모델링(SEM)은 단순한 통계 도구가 아닙니다. 그것은 생물학의 유전 법칙, 사회학의 인과 추론, 심리학의 잠재적 구성 개념, 경제학의 상호의존성이 만나 빚어낸 지적 융합의 결정체입니다.

여러분은 이제 이 강력한 도구를 손에 쥐고 있습니다. 중요한 것은 복잡한 수식이 아니라, “내 연구 가설을 어떤 구조로 설명할 것인가?“라는 여러분의 통찰력입니다. SEM은 그 통찰력을 검증해 주는 든든한 파트너가 될 것입니다.


참고문헌 (References)

  • Bollen, K. A. (1989). Structural equations with latent variables. New York: Wiley.
  • Browne, M. W. (1984). Asymptotically distribution-free methods for the analysis of covariance structures. British Journal of Mathematical and Statistical Psychology, 37, 62-83.
  • Duncan, O. D. (1966). Path analysis: Sociological examples. American Journal of Sociology, 72, 1-16.
  • Hauser, R. M., & Goldberger, A. S. (1971). The treatment of unobservable variables in path analysis. In H. L. Costner (Ed.), Sociological methodology 1971 (pp. 81-87). San Francisco: Jossey-Bass.
  • Jöreskog, K. G. (1970). A general method for analysis of covariance structures. Biometrika, 57, 239-251.
  • Matsueda, R. L. (2012). A Brief History of Structural Equation Modeling. In R. H. Hoyle (Ed.), Handbook of Structural Equation Modeling (pp. 17-48). Guilford Press.
  • Muthén, B. (1984). A general structural equation model with dichotomous, ordered categorical, and continuous latent variable indicators. Psychometrika, 49, 115-132.
  • Pearl, J. (2000). Causality: Models, reasoning, and inference. Cambridge, UK: Cambridge University Press.
  • Spearman, C. (1904). General intelligence, objectively determined and measured. American Journal of Psychology, 15, 201-293.
  • Wright, S. (1921). Correlation and causation. Journal of Agricultural Research, 20, 557-585.

Chap 01. 구조방정식 모형이란 무엇인가?

안녕하세요? 구조방정식 연구실에 오신 것을 환영합니다.
저는 여러분과 함께 구조방정식 모형(Structural Equation Modeling, SEM)의 기초부터 실제 적용까지 깊이 있게, 하지만 아주 쉽게 풀어갈 예정입니다.

많은 대학원생이 SEM을 “복잡한 수식이 난무하는 어려운 통계”라고 생각합니다. 하지만 걱정 마세요. SEM은 우리가 교육 현장에서 늘 고민하는 “눈에 보이지 않는 잠재적 능력(Latent Variable)과 그들 간의 인과관계”를 증명해 주는 아주 강력하고 매력적인 도구입니다.

리크 H. 호일(Rick H. Hoyle) 교수의 저서인 “Handbook of Structural Equation Modeling”을 기반으로 하되, 여러분이 이해하기 쉽도록 학교 현장의 예를 들어 재구성할 예정입니다.


1. 구조방정식 모형(SEM)이란 무엇인가?

1.1. SEM의 정의: 눈에 보이지 않는 것을 그리기

구조방정식(SEM)은 관찰된 데이터의 패턴, 분산, 공분산을 일으킨다고 가정되는 메커니즘을 모델링하는 일반적인 통계적 접근법입니다.

교육학에서 우리는 종종 ‘학업 동기’, ‘지능’, ‘교사 효능감’ 같은 개념을 다룹니다. 이것들은 키나 몸무게처럼 자로 잴 수 있나요? 아닙니다. 이것들은 잠재 변수(Latent Variable)입니다. 우리는 설문지 문항이나 시험 점수 같은 관측 변수(Observed Variable)를 통해 이 잠재 변수를 추론합니다. 그래서 SEM을 잠재 변수 모델링(Latent Variable Modeling)이라고도 부릅니다.

1.2. SEM은 ‘종합 선물 세트’

SEM은 기존의 통계 방법들(ANOVA, 회귀분석, 요인분석)을 하나로 통합하고 확장한 것입니다.

  • 요인분석(Factor Analysis)의 기능: 여러 설문 문항(관측 변수)이 하나의 개념(잠재 변수)을 얼마나 잘 측정하는지 확인합니다.
  • 회귀분석(Regression)의 기능: 변수들 간의 인과관계를 파악합니다.

SEM의 가장 큰 장점은 이 두 가지를 동시에(Simultaneously) 수행한다는 점입니다.

🎓 교육분야 예시:

여러분이 “가정 배경(X)이 학생의 자아효능감(M)을 통해 학업 성취(Y)에 미치는 영향”을 연구한다고 합시다.

  • 기존 방법: 자아효능감 설문지 점수를 다 더해서 평균을 낸 뒤(측정오차 무시), 회귀분석을 돌립니다.
  • SEM: 자아효능감이라는 ‘잠재 변수’를 설정하여 측정 오차를 제거하고, 동시에 변수 간의 구조적 관계를 파악합니다. 훨씬 정확하겠죠?

2. SEM의 핵심 논리: 공분산의 마법

2.1. 데이터는 공분산이다

일반적인 회귀분석은 개별 학생의 점수(Case-level data)와 회귀선 간의 차이(잔차)를 최소화하는 방식(OLS)을 씁니다. 하지만 SEM은 다릅니다. SEM의 데이터는 공분산(Covariance) 그 자체입니다.

  • 목표: 연구자가 설정한 모형이 만들어내는 ‘모형 함의 공분산 행렬(Implied Covariance Matrix)’이 실제 데이터의 ‘관측된 공분산 행렬(Observed Covariance Matrix)’과 얼마나 비슷한지를 봅니다.
  • 이 두 행렬의 차이가 0에 가까울수록 “모형이 데이터에 적합하다(Fit)”라고 말합니다.

2.2. 경로도(Path Diagram) 이해하기

SEM은 수식 대신 그림(경로도)으로 표현할 때 가장 직관적입니다.

위의 개념을 바탕으로 그림 1.1에 나온 기호들을 설명해 드리겠습니다.


Note. From Handbook of structural equation modeling (p. 5), by R. H. Hoyle (Ed.), 2023, Guilford Press. Copyright 2023 by Guilford Press.

  • 타원 (Ovals): 잠재 변수 (예: 수리 능력).
  • 사각형 (Squares): 관측 변수 (예: 수학 시험 1, 2, 3번 문항).
  • 작은 원 (Small Circles): 오차(Error) 또는 고유 분산(Uniqueness).
  • 화살표 (Arrows): 영향력의 방향 (인과관계).

3. SEM 실행 프레임워크 (Implementation Framework)

Hoyle 교수는 SEM 실행을 4단계의 필수 과정과 4단계의 관련 과정으로 정리했습니다. 이를 실제 연구 시나리오에 대입해 봅시다.

🎓 시나리오: 교사 지지가 학업 성취에 미치는 영향

  • 가설: 교사의 정서적 지지가 학생의 학습 동기를 높이고, 이것이 결국 학업 성취를 향상시킬 것이다 (매개효과).

1단계: 모형 명세화 (Specification)

연구 가설을 수식이나 그림으로 표현하는 단계입니다.

  • 변수 설정: 잠재 변수(교사 지지, 동기, 성취)와 이를 측정할 관측 변수를 정합니다.
  • 파라미터 설정: 어떤 경로를 추정할지(Free), 어떤 값을 고정할지(Fixed) 정합니다. 보통 잠재 변수의 척도를 맞추기 위해 관측 변수 중 하나의 경로계수를 1로 고정합니다.
  • 식별(Identification) 확인: 해를 구할 수 있는지 확인합니다. 미지수의 개수가 정보의 개수보다 많으면 계산이 불가능합니다.

2단계: 추정 (Estimation)

데이터를 수집하고, 모수(Parameter)의 값을 찾아내는 단계입니다.

  • 가장 많이 쓰이는 방법은 최대우도법(Maximum Likelihood, ML)입니다.
  • 반복 계산(Iterative process): 컴퓨터는 임의의 값에서 시작하여, 실제 공분산 행렬과 모형이 예측한 행렬의 차이가 최소화될 때까지 값을 계속 수정합니다. 이 과정이 끝나면 “수렴(Converged)했다”고 합니다.

3단계: 적합도 평가 (Evaluation of Fit)

모형이 데이터를 얼마나 잘 설명하는지 성적표를 받는 시간입니다.

  • χ2\chi^2(Chi-square): 전통적인 지표지만, 표본 크기에 민감하여 “모형이 완벽히 일치한다”는 비현실적인 가설을 검정하므로 이것만으로 판단하지 않습니다.
  • 대안적 적합도 지수: CFI, TLI (0.90 이상이면 좋음), RMSEA (0.08 이하, 0.05 이하면 매우 좋음), SRMR 등을 종합적으로 봅니다.

4단계: 해석 및 보고 (Interpretation and Reporting)

  • 계수 해석: 경로 계수가 통계적으로 유의한지 확인합니다 (t값 또는 z값).
  • 보고: 모형 명세, 추정 방법, 적합도 지수, 결측치 처리 방법 등을 투명하게 보고해야 합니다.

4. 실습: jamovi와 R을 이용한 분석

이제 이론은 충분합니다. 실제로 어떻게 분석하는지 보여드리겠습니다.
jamovi는 클릭만으로 복잡한 통계를 수행할 수 있는 훌륭한 도구이며, 그 안에는 SEMLj (혹은 jmv)라는 강력한 모듈이 있습니다. 이것은 R의 lavaan 패키지를 기반으로 작동합니다.

4.1. 모의 데이터 생성 (Backstory)

우리는 서울 소재 중학교 2학년 학생 300명의 데이터를 수집했다고 가정합니다.

  • Teacher_Support (교사 지지): 3문항 (TS1, TS2, TS3)
  • Motivation (학습 동기): 3문항 (Mot1, Mot2, Mot3)
  • Achievement (학업 성취): 3과목 점수 (Math, Eng, Sci)

이 데이터를 생성하고 분석하는 R 코드를 작성해 드리겠습니다. jamovi의 ‘R Editor’ 모듈을 사용하거나 R Studio에서 실행할 수 있습니다.

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

library(lavaan)

# 1. 모의 데이터 생성 (Data Generation)
set.seed(1225) # 재현성을 위해 시드 설정
N <- 300

# 진점수(True Score) 생성 구조
# 교사지지 -> 동기 -> 성취
Teacher_Support_True <- rnorm(N, 0, 1)
Motivation_True <- 0.6 * Teacher_Support_True + rnorm(N, 0, 0.8)
Achievement_True <- 0.7 * Motivation_True + rnorm(N, 0, 0.8)

# 관측 변수 생성 (잠재변수 + 측정오차)
Data <- data.frame(
  # 교사 지지 문항 (1~5점 척도 가정)
  TS1 = round(Teacher_Support_True * 0.8 + rnorm(N, 0, 0.5) + 3),
  TS2 = round(Teacher_Support_True * 0.9 + rnorm(N, 0, 0.5) + 3),
  TS3 = round(Teacher_Support_True * 0.7 + rnorm(N, 0, 0.6) + 3),

  # 학습 동기 문항
  Mot1 = round(Motivation_True * 0.8 + rnorm(N, 0, 0.5) + 3),
  Mot2 = round(Motivation_True * 0.85 + rnorm(N, 0, 0.5) + 3),
  Mot3 = round(Motivation_True * 0.75 + rnorm(N, 0, 0.6) + 3),

  # 학업 성취 (점수)
  Math = round(Achievement_True * 10 + rnorm(N, 0, 5) + 70),
  Eng  = round(Achievement_True * 9 + rnorm(N, 0, 6) + 72),
  Sci  = round(Achievement_True * 8 + rnorm(N, 0, 5) + 68)
)

# 2. 모형 명세 (Specification)
# lavaan 문법: 
# =~ : 측정 모형 (Latent variable defined by indicators)
# ~  : 구조 모형 (Regression)
model <- '
  # 측정 모형 (Measurement Model)
  Teacher_Support =~ TS1 + TS2 + TS3
  Motivation      =~ Mot1 + Mot2 + Mot3
  Achievement     =~ Math + Eng + Sci

  # 구조 모형 (Structural Model)
  Motivation ~ Teacher_Support
  Achievement ~ Motivation
'

# 3. 추정 (Estimation)
fit <- sem(model, data = Data)

# 4. 결과 요약 (Evaluation & Interpretation)
summary(fit, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)

# 5. 경로도 그리기 (선택사항)
# library(semPlot)
# semPaths(fit, whatLabels = "std", layout = "tree")

생성된 예제 파일: chap01

4.2. jamovi에서의 분석 절차 (SEMLj 모듈 사용 시)

R 코드가 어렵다면 jamovi의 SEMLj 모듈을 설치하고 다음 순서로 진행하세요.

  • 데이터 불러오기: 위에서 생성된 CSV 데이터를 엽니다.
  • SEMLj > Structural Equation Models 선택.
  • Endogenous Models (내생변수 설정):
    • Motivation을 Latent Variable로 정의하고 TS1, TS2, TS3를 할당.
    • Achievement를 Latent Variable로 정의하고 Math, Eng, Sci를 할당.
  • Exogenous Models (외생변수 설정):
    • Teacher_Support를 Latent Variable로 정의하고 TS1, TS2, TS3 할당.
  • Path 설정:
    • Teacher_Support -> Motivation
    • Motivation -> Achievement
  • Options: Standardized estimates, Fit measures (CFI, RMSEA 등) 체크.

5. 다양한 모형의 종류 (Types of Models)

SEM은 유연성이 매우 뛰어나 다양한 형태의 모형을 만들 수 있습니다.

5.1. 잠재 구조에 초점을 둔 모형

  • 확인적 요인분석 (CFA): 연구자가 설정한 요인 구조가 맞는지 확인합니다. 예: “지능은 언어, 수리, 공간 지각의 3요인으로 구성된다”.
  • 고차 요인 모형 (Second-order Factor Model): 여러 개의 1차 요인(예: 대수, 기하, 확률)이 더 높은 수준의 2차 요인(예: 수학적 능력)으로 묶이는 경우입니다.

5.2. 방향성 효과에 초점을 둔 모형

  • 경로 분석 (Path Analysis): 잠재 변수 없이 관측 변수들만으로 인과관계를 봅니다.
  • 매개효과 모형: 위 실습 예제처럼 X가 M을 거쳐 Y로 가는 경로를 분석합니다.
  • 다집단 분석 (Multigroup Modeling): 남학생 집단과 여학생 집단에서 모형이 동일하게 적용되는지(형태 동일성, 측정 동일성 등) 비교합니다.

5.3. 평균과 성장을 다루는 모형

  • 잠재 성장 모형 (Latent Growth Models): 시간이 지남에 따라 학생들의 성적이 어떻게 변하는지(초기치와 변화율)를 모델링합니다. 종단 연구의 꽃이라 할 수 있습니다.

6. 결론

SEM은 단순한 통계 기법을 넘어, 연구자의 이론적 아이디어를 현실의 데이터와 연결해 주는 강력한 가교입니다. 오늘 배운 내용을 정리하면 다음과 같습니다.

  1. SEM은 이론 검증 도구다: 막연한 탐색보다는 확고한 이론적 가설이 있을 때 가장 빛납니다.
  2. 과정은 체계적이어야 한다: 명세 -> 추정 -> 평가 -> 해석의 단계를 엄격히 따르십시오.
  3. 해석은 신중하게: 통계적으로 유의하다고 해서 무조건 인과관계가 증명된 것은 아닙니다.

이제 여러분은 자신의 데이터를 가지고 “보이지 않는 마음의 구조”를 그려낼 준비가 되었습니다.

참고문헌 (APA Style)

  • Bollen, K. A., & Hoyle, R. H. (2012). Latent variables in structural equation modeling. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 56–67). Guilford Press.
  • Brown, T. A. (2012). Confirmatory factor analysis. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 361–379). Guilford Press.
  • Hoyle, R. H. (2012). Structural equation modeling: An overview. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 3–16). Guilford Press.
  • Kline, R. B. (2012). Assumptions in structural equation modeling. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 111–125). Guilford Press.
  • Pek, J., Davisson, E. K., & Hoyle, R. H. (2012). Visualizing structural equation models. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 43-55). Guilford Press.
  • Preacher, K. J., & Yaremych, H. E. (2012). Model selection in structural equation modeling. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 207-216). Guilford Press.
  • West, S. G., Wu, W., McNeish, D., & Savord, A. (2012). Model fit and model selection. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 209-231). Guilford Press.