[논문 리뷰] semopy 2: A Structural Equation Modeling Package with Random Effects in Python
semopy 2는 다중 우도 및 최소제곱 방법을 사용하여 복잡한 다수준 모델을 추정할 수 있도록 랜덤 효과를 네이티브로 지원하는 파이썬 기반 구조적 방정식 모델링(SEM) 프레임워크를 도입한다. 기존 SEM을 확장하여 행렬변량 정규분포를 모델링하고, 평균 및 공분산 구조의 유연한 파rameterization을 통해 랜덤 효과를 포함하며, 정규 및 비정규 가정 하에 ML, FIML, ULS, GLS, WLS, DWLS 추정을 지원한다.
Structural Equation Modeling (SEM) is an umbrella term that includes numerous multivariate statistical techniques that are employed throughout a plethora of research areas, ranging from social to natural sciences. Until recently, SEM software was either commercial or restricted to niche languages, and the lack of SEM packages compatible with more mainstream programming languages was dire. To combat that, we introduced a Python package semopy 1 that surpassed other state-of-the-art software in terms of performance and estimation accuracy. Yet, it was lacking in functionality and its usage was burdened with unnecessary boilerplate code. Here, we introduce a complete overhaul of semopy that improves upon the previous results and comes with lots of new capabilities. Furthermore, we propose a novel SEM model that combines in itself a notion of random effects from linear mixed models (LMMs) to model numerous phenomena, such as spatial data, time series or population stratification in genetics.
연구 동기 및 목표
- 파이썬에서의 구조적 방정식 모델링을 랜덤 효과 및 다수준 데이터 구조를 지원하도록 확장하기.
- 매트릭스변량 정규 모델에서 평균 및 공분산 행렬을 파arameterizing하기 위한 유연한 프레임워크를 구현하기.
- 정규 및 비정규 가정 하에 다수의 추정 방법—ML, FIML, ULS, GLS, WLS, DWLS—를 지원하기.
- 가장 가까운 양의 정부정행렬 교정을 통해 결측치 및 열악한 공분산 행렬을 견고하게 처리하기.
- 이종 공분산 행렬을 통한 순서형 변수를 위한 다항계수 및 다항상관계수의 사용을 통해 순서형 변수의 유효한 모델링을 가능하게 하기.
제안 방법
- 행과 열의 공분산을 나타내는 L 및 T를 사용하여, 매트릭스변량 정규분포를 활용해 평균 및 공분산 구조를 파arameterization한다.
- 스케일 불변성을 처리하기 위해 트레이스 항을 포함한 매트릭스변량 정규 모델의 음의 로그우도 함수를 유도한다.
- REML 추정을 위해 데이터를 투영 행렬 P₁을 통해 변환하고, 변환된 모델 하에서 잔차 공분산 L_R 및 T_R를 추정한다.
- 다양한 손실 함수를 적용한다: 위샤르트 ML, FIML, ULS, GLS, WLS, DWLS이며, WLS는 Browne(1984)의 4차모멘트 기반 가중치를 사용한다.
- 대칭 행렬을 벡터화하기 위해 vech 연산자를 사용하며, WLS/DWLS에서 사용자 정의 가중치 행렬 W를 허용한다.
- 열악한 공분산 행렬 또는 비정상적인 조건의 공분산 행렬을 가장 가까운 양의 정부정행렬로 교체하여 데이터 보정을 수행하며, 필요에 따라 경고를 발생시킨다.
실험 결과
연구 질문
- RQ1파이썬 내 구조적 방정식 모델링 프레임워크에서 랜덤 효과를 효과적으로 모델링하는 방법은 무엇인가?
- RQ2정규성 가정이 위반되었을 때 다수준 또는 다변량 자료에 대해 가장 적절한 추정 방법은 무엇인가?
- RQ3리스트와이즈 삭제 없이 SEM에서 결측치를 견고하게 다룰 수 있는 방법은 무엇인가?
- RQ4순서형 변수가 존재할 경우 다항계수 및 다항상관계수를 사용할 때 모델 추정에 미치는 영향은 무엇인가?
- RQ5매트릭스변량 정규분포를 어떻게 활용하여 다변량 자료의 행과 열의 종속성을 모두 모델링할 수 있는가?
주요 결과
- 매트릭스변량 ML 추정기는 유도 및 semopy 2의 기본 방법으로 구현되었으며, 스케일 불변성을 트레이스 항을 통해 반영한 우도 함수를 포함한다.
- 제한 최대우도( REML)는 P₁을 통한 데이터 변환과 함께, 변환된 모델 하에서 잔차 공분산 L_R 및 T_R를 추정함으로써 지원된다.
- FIML은 자료가 완전할 경우 다변량 정규분포 ML과 동일한 결과를 보이지만, 관측치별로 결측 변수를 제외함으로써 결측치를 더 자연스럽게 처리한다.
- WLS 및 DWLS는 비정규성에 대해 강건하며, 특히 가중치 행렬이 열악한 조건이거나 크기가 클 경우 DWLS가 특히 유용하다.
- 표본 공분산 또는 상관계수 행렬이 열악한 경우 경고를 발생시키며, 수치적 안정성을 확보하기 위해 가장 가까운 양의 정부정행렬로 교체한다.
- 다항계수 및 다항상관계수의 사용은 표본 공분산 행렬을 이종 상관계수 행렬로 대체함으로써 순서형 변수의 유효한 모델링을 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.