목록으로

mixed model 기초

고정효과와 랜덤효과를 구분하고 개체·기관·배치가 중첩된 바이오 데이터에 mixed model을 적용하고 결과를 해석하는 기초를 설명합니다.

중급
|
40
|
검증 완료 (2026-08-07)
BioStatPy혼합효과모형mixed model Python랜덤효과반복측정
진행률0/33 (0%)

mixed model 기초

이 토픽을 마치면

fixed effect와 random effect를 연구설계의 수준과 연결할 수 있습니다. grouping variable을 임의로 random effect로 넣지 않고, 반복·군집 구조와 convergence warning을 모델 진단의 일부로 읽을 수 있습니다.

왜 계층 구조를 모델에 넣는가

같은 subject, plate, site에서 나온 관측은 공통 변동을 가질 수 있습니다. 반복을 모두 독립 표본으로 세면 불확실성을 과소평가할 수 있고, 단순 평균으로 요약하면 시간 또는 군집 정보를 잃을 수 있습니다. mixed model은 고정된 관심 효과와 그룹별 변동을 분리해 표현하는 한 방법입니다.

fixed와 random

fixed effect는 연구자가 해석하고자 사전에 정한 조건 또는 공변량의 효과입니다. random effect는 관측된 그룹이 더 큰 그룹 집합에서 온 것으로 보고 그룹마다 다른 기준점이나 기울기를 허용하는 구조입니다. 이 구분은 변수의 자료형만으로 결정되지 않고 연구설계와 추론 대상에 달려 있습니다.

MixedLM의 최소 구조

python
import statsmodels.formula.api as smf
model = smf.mixedlm(
"outcome ~ exposure + time",
data=data,
groups=data["subject_id"],
)
result = model.fit()
print(result.fe_params)

subject_id는 반복 관측의 그룹 키이고, exposuretime의 의미는 데이터 계약에 있어야 합니다. 적합 결과가 반환되더라도 convergence warning, random effect 구조, 잔차와 결측을 검토합니다.

모델 선택보다 구조 확인

모든 반복자료에 mixed model을 적용하지 않습니다. 그룹 수가 충분한지, 그룹이 어떤 모집단을 대표하는지, random slope가 연구 질문에 필요한지, 측정 시점과 결측이 어떤 관계인지 확인합니다. 수렴 실패는 단순히 warning을 숨길 일이 아니라 모델·데이터·척도의 문제를 조사하라는 신호입니다.

random intercept는 그룹마다 다른 기준점을 허용하고, random slope는 공변량 또는 시간의 관계가 그룹마다 달라질 수 있게 합니다. 더 복잡한 random effect 구조가 항상 더 좋은 것은 아닙니다. 데이터가 해당 변동을 구분할 정보가 있는지와 모델이 안정적으로 적합되는지를 확인해야 합니다.

수렴 경고가 있다면 optimizer를 반복 호출해 사라진 결과만 선택하지 않습니다. 입력 scale, 그룹별 관측 수, 분산 추정이 경계에 있는지, 모델 구조가 과도한지 확인하고 모든 시도와 warning을 기록합니다.

연구 질문으로 돌아가 해석하기

fixed effect는 지정한 그룹 구조를 조건으로 한 평균 관계이고, random effect는 그룹 간 변동을 표현합니다. 이를 인과 효과나 생물학적 기전으로 자동 해석하지 않습니다. grouping 수준, 시간, 결측, 외삽을 함께 보고합니다.

자주 생기는 실패

  • subject ID를 숫자 크기가 있는 공변량처럼 사용하지 않습니다.
  • 모든 범주형 변수를 random effect로 넣지 않습니다.
  • convergence warning을 숨기고 계수를 확정하지 않습니다.
  • 반복측정 구조를 확인하지 않고 mixed model을 만능으로 사용하지 않습니다.

핵심 정리

  • mixed model은 계층·반복 구조를 표현하는 한 방법입니다.
  • fixed/random 구분은 연구설계와 추론 대상에 달려 있습니다.
  • 수렴과 진단은 결과의 일부입니다.

다음 토픽으로

다음 편에서는 종단 변화와 dropout·결측을 시간 구조와 함께 다룹니다.

참고 자료

본 편의 계층 schema와 코드는 BioStatPy가 독립적으로 작성했습니다.

💬 질문과 댓글

0개의 댓글

로그인 없이 작성할 수 있습니다. 비로그인 댓글은 작성 후 직접 수정·삭제할 수 없습니다.

0/2000

로딩 중...