CAFE

묻고 답하기

선형혼합모형 nlme::lme 와 lme4::lmer 차이

작성자왕국|작성시간19.01.04|조회수2,301 목록 댓글 3

안녕하세요?

오랜만에 글 쓰는데 또 질문이네요.

먼저 새해 복 많이 받으십시오!


책을 읽다가 뭔가 잘못된게 있어서 예제 자료를 이용하여 다층모형 혼합모형 등등에 쓰이는  lme와 lmer를 이용하여 직접

추정해보니 결과차이가 있어서 질문드리고자 합니다. 추정한 모형은 가장 단순한 확률절편 모형이고 설명변수로는 x 하나가 들어있고 결과 변수는 연속 변수 입니다 (예제 자료도 첨부하였습니다).

x의 계수가 방향까지 다르고 무작위 효과 추정값도 다릅니다.

아래 화면을 보시고 혹시 제가 잘 못한 것이 있는지 확인부탁드립니다. 아니면 명령어 lmer에 제가 알지 못하는 오류가 있는지요(업데이트도 최신으로 했습니다)? 그룹변수는 gid 입니다.


감사합니다.


1-1. lme로 추정

> lme(y~x, random=~1|gid,data=multi,method="REML")
Linear mixed-effects model fit by REML
  Data: multi 
  Log-restricted-likelihood: 41.76745
  Fixed: y ~ x 
(Intercept)           x 
  4.1846756  -0.1928357 

Random effects:
 Formula: ~1 | gid
         (Intercept)   Residual
StdDev: 7.800953e-07 0.03376871

Number of Observations: 25
Number of Groups: 5 

1-2 lmer로 추정
> lmer(y~x+(1|(gid)), data=multi, REML=T)
Linear mixed model fit by REML ['lmerMod']
Formula: y ~ x + (1 | (gid))
   Data: multi
REML criterion at convergence: -78.4862
Random effects:
 Groups   Name        Std.Dev.
 (gid)    (Intercept) 0.70325 
 Residual             0.02031 
Number of obs: 25, groups:  (gid), 5
Fixed Effects:
(Intercept)            x  
     2.8152       0.2638  


추가적으로 설명변수를 아무것도 집어 넣지 않은 귀무모형도 적합시킨 경우 결과가 일치는 것으로 보입니다.

2-1 lme로 추정

> lme(y~1, random=~1|gid,data=multi,method="REML")
Linear mixed-effects model fit by REML
  Data: multi 
  Log-restricted-likelihood: 38.11745
  Fixed: y ~ 1 
(Intercept) 
     3.6064 

Random effects:
 Formula: ~1 | gid
        (Intercept)   Residual
StdDev:   0.2938405 0.02718088

Number of Observations: 25
Number of Groups: 5 



2-2 lmer로 추정

> lmer(y~1+(1|(gid)), data=multi, REML=T)
Linear mixed model fit by REML ['lmerMod']
Formula: y ~ 1 + (1 | (gid))
   Data: multi
REML criterion at convergence: -76.2349
Random effects:
 Groups   Name        Std.Dev.
 (gid)    (Intercept) 0.29384 
 Residual             0.02718 
Number of obs: 25, groups:  (gid), 5
Fixed Effects:
(Intercept)  
      3.606  


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자안재형 | 작성시간 19.01.05 잘 하신 것같은데 희안하네요. 같은 데이터로 SAS나 Stata로 돌려보기 전에는 알 수 없는데요. 한번 데이터도 올려보시죠. nlme:lme는 오래된 패키지입니다. 둘 중 하나를 선택하라면 저라면 lme4:lmer을 더 믿을듯합니다.
  • 작성자안재형 | 작성시간 19.01.06 아직 SAS로는 못돌려봤습니다. 내일쯤 회사 컴으로 해봐야겠습니다. 그런데 random effect를 무시한 lm(y~x)에서 나온 intercept와 slope가 nlme:lme하고 비슷한걸 보면 lme4:lmer에 문제가 있는듯합니다. standard deviation들의 값들이 무지 작은걸보면 추정과정에서 iteration하다가 삼천포로 빠진듯합니다.
  • 작성자안재형 | 작성시간 19.01.09 SAS는 nlme:lme에 가까운 값이 나오는데 intercept=4.1761, slope=-0.1886이고 variance estimates도 좀 차이가 있습니다. iteration으로 해를 구하는데 데이터 상태가 별로 안좋은듯합니다.
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼