통계공부/Mplus

[Mplus] Mplus 신텍스 기본 설명

대학원생A씨 2020. 3. 11. 10:20
반응형

이번 포스팅에서는 Mplus 코드에 대한 기본 설명을 하고자 한다.

*본 포스팅은 Mplus의 User's Guide Example을 예시로 설명을 들고 있습니다.

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

 

Mplus User's Guide Excerpts

 

www.statmodel.com


TITLE: This is an example of a path analysis
           with continuous dependent variables
DATA: FILE IS ex3.11.dat;
VARIABLE: NAMES ARE y1-y3 x1-x3;
MODEL: y1 y2 ON x1 x2 x3;
              y3 ON y1 y2 x2;

 

먼저 TITLE 부분부터 보도록 하자.

TITLE은 해당 파일의 제목을 적는 부분으로 편한대로 작성하면 된다. 한글로 작성해도 파일에 오류가 안 생기니 한글이나 영어, 본인이 편한 언어로 작성하면 된다. 그리고 본인 스스로 해당 파일이 어떤 자료를 가지고 어떤 분석방법을 쓴 것인지 알 수 있도록 하는 것이 좋다. 글자 수 제한이 없기 때문에 길게 써도 상관이 없으므로, 시간이 지나 해당 파일의 TITLE만 봐도 '이런 분석이었구나'를 알 수 있게 구체적으로 작성하면 좋다. TITLE은 참고로 다른 DATA, VARIABLE, MODEL 부분과 다르게 맨 마지막에 세미콜론(;)을 붙여주지 않아도 된다. 하지만 이는 TITLE에만 적용되는 것으로 나머지 부분에서는 반드시 문장이 끝날 때 세미콜론(;)을 붙여주어야 한다.

 

DATA분석에 사용할 데이터를 작성하는 곳으로, 해당 Input 파일과 data 파일이 같은 폴더 안에 있어야 Mplus가 오류 없이 돌아간다. FILE IS 까지 똑같이 작성한 후 ex3.11.dat라는 파일명만 바꾸어 작성해주면 된다. 그리고 문장 맨 마지막에 세미콜론(;)을 반드시 붙여준다.

 

VARIABLE변수에 관한 코드해당 파일(예시에서는 ex3.11.dat파일)에 있는 변수 순서대로 작성을 해준다. 예시에는 y1-y3 x1-x3;라고 되어 있는데 이는 해당 파일의 변수명이 순서대로 y1 y2 y3 x1 x2 x3로 되어 있음을 의미한다. 즉, 변수명을  y1 y2 y3 x1 x2 x3로 다 쓰면 귀찮으니 대쉬(-)를 이용하여 간략히 나타낸 것이다. y1 y2 y3로 쓰나 y1-y3로 쓰나 Mplus는 이를 동일하게 인식할 수 있음을 의미한다. 하지만 이 때 조심할 점은 y1-y3 x1-x3;라고 하여 y와 x변수를 분리하여 썼다는 것이다. 귀찮다고 y1-x3;라고 변수명을 구체화시키지 않으면 Mplus에서는 변수명을 잘못 인식할 수 있으니 변수명이 뒤에 숫자만 제외하고 앞에가 전부 일치할 경우(ex: y1 y2 y3)만 대쉬(-)를 쓰는 것을 추천한다.

 

VARIABLE:
    NAMES ARE y1-y3 x1-x3;
    USEVARIABLES ARE y1-y3;
    MISSING ARE ALL (-9999);

 

또한 VARIABLE 부분에서 좀 더 세밀한 세팅이 가능한데, 예를 들어 파일에 있는 변수 중 일부만 골라쓰는 경우가 있을 수 있다. 이와 같이 사용할 변수들만 고를 때는 USEVARIABLE ARE '사용할 변수명';을 작성한다. 이렇게 하지 않으면 나머지 사용하지 않는 변수들도 분석모형에 투입되기 때문에 분석 파일에서 내가 일부 변수만 쓴다면 반드시 usevariables에서 이를 명시해야 한다. 물론 데이터에 있는 모든 변수를 쓴다면 생략 가능하다. 

 

MISSING ARE ALL(-9999);결측치 처리방법에 관한 코드로 여기서는 결측치를 -9999로 설정했음을 의미한다.

 

위의 예시에 나오지는 않았지만 VARIABLE과 MODEL 사이에 ANALYSIS를 적기도 한다. 해당 부분은 분석 방법을 어떻게 할 것인가에 관한 코드인데, 예를 들어 maximum likelihood를 이용할 경우 ANALYSIS 부분에 estimator = ml;이라는 코드를 넣어주어야 한다. ANALYSIS와 MODEL은 분석모형에 따라 달라지는 부분이기 때문에 여기서는 생략하고, 이후 분석방법에 따른 구체적인 코드와 설명을 하고자 한다.

 

마지막으로 위의 예시에 생략된 OUTPUT이라는 부분도 있다. OUTPUT은 습관적으로 그냥 작성해두는 부분인데 대표적으로 sampstat modindices(3.841) StdYX를 작성하는 편이다. 먼저 sampstat은 변수들의 기초통계값을 제시해주며, modindices(3.841)은 모델 수정 정보를 제공하는 코드이며, StdYX는 표준화된 값을 제시해준다. 당연히 modindices(3.841)와 StdYX는 분석방법에 따라 불필요한 경우도 있지만, OUTPUT에 적어두어도 오류 없이 분석은 잘 돌아가는 편이다. OUTPUT 부분도 분석모형에 따라 조금씩 수정이 필요하니, 이후 포스팅에서 자세히 설명하도록 하겠다.

반응형