통계공부/Mplus

[Mplus] 비연속시간 생존분석 syntax 설명

대학원생A씨 2020. 9. 29. 09:45
반응형

 

이번 Mplus 포스팅에서는 비연속시간 생존분석에 관한 코드를 설명하고자 한다. 생존분석은 질적 변화를 탐색할 수 있는 분석 방법 중 하나로, 예를 들면 청소년의 첫 가출경험 시기를 분석할 수 있다. 또 다른 예로는 결혼 후 출산까지의 시간을 분석할 수도 있으며, 기부 경험에 관해서도 생존분석을 활용할 수 있다. 예시로 든 기부에 관한 분석은 기부라는 경험이 반복되어 나타날 수 있기에, 재발(recurrent) 모형을 사용하게 되는데 이번 포스팅에서는 재발사건까지는 다루지 않고 가장 기본 형태에 대해 소개하고자 한다. 모든 Mplus 포스팅과 마찬가지로 해당 글은 MplusUser’s Guide에 올라온 예제를 바탕으로 작성되었다. 

 Mplus User's Guide: https://www.statmodel.com/ugexcerpts.shtml

 


TITLE: this is an example of a discrete-time survival analysis
DATA: FILE IS ex6.19.dat;
VARIABLE: NAMES ARE u1-u4 x;
              CATEGORICAL = u1-u4;
              MISSING = ALL (999);
ANALYSIS: ESTIMATOR = MLR;
MODEL: f BY u1-u4@1;
           f ON x;
           f@0;

 

먼저 TITLE부터 살펴보면 해당 예시가 discrete-time survival analysis 예제임을 명시하고 있다. 여기서 짚고 넘어갈 것이 ‘discrete-time’, 직역하자면 분절된 시간이다. 예를 들어, 기혼 여성이 결혼 후 첫 출산을 언제 이루어지는지 분석해본다고 하자. 내가 가지고 있는 데이터에 기혼 여성의 결혼 시점과 출산 시점이 연월로 기록되어 있다면, 해당 변수를 이용하여 결혼 후 출산까지의 발생 시간을 개월 수로 계산할 수 있다. 이 경우에 개월 수를 연속시간 자료로 간주하여 연속시간 생존분석을 진행할 수 있다. 하지만 만약 내가 가지고 있는 데이터에 구체적인 결혼 및 출산 시점에 관한 정보가 없고, 연도별로 결혼 및 출산 여부를 물어보았을 수 있다. 이 경우에는 결혼 및 출산 연도를 이용하여 1년이라는 기간을 하나의 구간으로 설정하여 비연속시간 생존분석을 돌릴 수 있다. 

 

DATA에서는 해당 분석을 위해 사용할 데이터 파일이 ex6.19.dat라고 명령하였으며, VARIABLE에서 해당 데이터의 변수는 u1-u4x로 구성되어 있음을 이야기하고 있다. 이 때 u1-u4는 범주형 변수이며 결측치는 999로 처리하였다. 생존분석에서 종속변수는 0, 1, 999(결측치)로 코딩이 되는데 이에 대해서는 생존분석에 대한 이론적 이해가 필요하므로 해당 포스팅에서는 자세히 다루지는 않을 것이다. 간단히 말해 생존분석의 종속변수는 연구자가 관심 있는 사건이 발생하였는지 혹은 발생하지 않았는지가 중요하기 때문에 종속변수가 0, 1 형태의 범주형 변수로 코딩이 된다.

 

ANALYSIS에서 estimatormlr로 설정하였으며, 분석모델은 MODEL 파트에 제시되어 있다. 먼저 해당 분석모델을 이해하기 위해 아래 그림을 보도록 하자.

 

 

첫 번째 줄의 ‘f BY u1-u4@1;’에서 BYmeasured by의 약자로 f라는 잠재변수를 u1-u4로 정의하고 있다, 여기서 u1-u4에 걸린 각각의 loading 값은 모두 1로 통일함을 @1로 표현하였다. Mplus에서 @는 모수(parameter)를 골뱅이 뒤의 값으로 고정시킴을 의미한다. 

 

두 번째 줄의 f ON x;’f regressed on x를 축약하여 나타낸 것으로 f라는 잠재변수를 독립변수 x에 의해 일부 설명할 수 있음을 뜻한다. 세 번째 줄의 ‘f@0;’은 앞서 말한 f의 모수를 0으로 고정시킴을 뜻하는데, 여기서 f의 모수는 f의 공분산을 뜻한다.

반응형