R을 이용한 구조방정식 모델링

R-Blogger · 블로그·해설 · 2009-09-17

R-Blogger블로그·해설한국어2009-09-17

R을 이용한 구조방정식 모델링

R에서 구조방정식모델링(SEM) 활용하기 심리학 연구에서 구조방정식모델링(Structural Equation Modelling, SEM)은 자주 사용되는 기법입니다. 본 포스트에서는 R을 통해 SEM을 보다 쉽게 지원받을 수 있는 흥미로운 가능성에 대해 논의합니다. SEM이란? SEM은 측정 모델(측정 구조)과 구조 모델(관계 구조)을 동시에 추정할 수 있는 통계적 방법입니다. 이를 통해 확증적 요인분석(Confirmatory Factor Analysis, CFA), 경로분석(Path Analysis), 잠재성장모형(Latent Growth Models) 등 복잡한 가설을 검증할 수 있습니다. R에서 SEM 지원 현재 R은 여러 패키지를 통해 SEM을 지원합니다. 대표적으로 lavaan, semTools, OpenMx가 있습니다. 이들 패키지는 모델 명시(Model Specification), 추정(Estimation), 모델 적합성 검사(Model Fit Assessment) 과정을 한 번에 수행할 수 있도록 도와줍니다. 간단한 CFA 예시 아래 예시는 lavaan 패키지를 사용해 3개 항목으로 구성된 하나의 잠재변수(“인간관계”)를 CFA로 추정하는 코드입니다. library(lavaan) # 데이터 로드 data("HolzingerSwineford1939") # 모델 정의 model <- ' # 잠재변수 정의 관계 =~ item1 + item2 + item3 ' # 모델 추정 fit <- cfa(model, data = HolzingerSwineford1939) # 요약 출력 summary(fit, fit.measures = TRUE, standardized = TRUE) 모델 적합성 평가 SEM에서는 다음과 같은 지표들을 주로 사용합니다. CFI (Comparative Fit Index): 0.95 이상이면 좋은 적합성. TLI (Tucker-Lewis Index): 0.95 이상이면 좋은 적합성. RMSEA (Root Mean Square Error of Approximation): 0.06 이하이면 좋은 적합성. Chi-square / df: 값이 2 이하이면 좋은 적합성. 다중군분석(Multi-Group Analysis) 그룹 간 구조 차이를 검증하려면 semTools::groupCompare() 함수를 활용합니다. 예를 들어 남녀 그룹의 같은 모델을 비교할 수 있습니다. # 남녀 데이터 분리 male_data <- subset(HolzingerSwineford1939, gender == "Male") female_data <- subset(HolzingerSwineford1939, gender == "Female") # 각 그룹에서 모델 추정 male_fit <- cfa(model, data = male_data) female_fit <- cfa(model, data = female_data) # 그룹 비교 group_compare(male_fit, female_fit, fit.measures = TRUE) 추가 자료 및 학습 리소스 lavaan 공식 문서 semTools 패키지 소개 semTools GitHub 저장소
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2009-09-17