nlmer ()를 사용하여 반복 측정 데이터에 비선형 혼합 효과 모델을 맞추려면 어떻게해야합니까?


12

반복 측정 데이터를 분석하려고 노력하고 R있습니다. 내 데이터는 본질적으로 다음과 같습니다. 두 개의 치료 그룹이 있습니다. 각 그룹의 모든 과목은 매일 시험을 치르며 점수 (시험에서 정확한 비율)를받습니다. 데이터는 긴 형식입니다.

Time Percent Subject   Group
   1       0    GK11 Ethanol
   2       0    GK11 Ethanol
   3       0    GK11 Ethanol
   4       0    GK11 Ethanol
   5       0    GK11 Ethanol
   6       0    GK11 Ethanol

데이터는 로지스틱 곡선과 유사하며 피험자는 며칠 동안 매우 열악한 후 빠른 개선과 안정이 뒤 따릅니다. 치료가 테스트 성능 곡선에 영향을 미치는지 알고 싶습니다. 내 생각은 nlmer()lme4패키지에 사용하는 것이 었 습니다 R. 다음을 사용하여 각 그룹에 선을 맞출 수 있습니다.

print(nm1 <- nlmer(Percent ~ SSlogis(Time,Asym, xmid, scal) ~ Asym | Subject,
salinedata, start = c(Asym =.60,  xmid = 23, scal = 5)), corr = FALSE)

추정 된 선의 다른 모수 및 표준 편차에 대한 추정치를보고 그룹을 비교할 수 있지만 이것이 올바른 방법인지는 확실하지 않습니다. 도움을 주시면 감사하겠습니다.

답변:


4

정규 우도 비율 검정을 사용할 수 있습니다. 다음은 간단한 예입니다. 먼저 매개 변수를 기반으로 10 명의 개인으로부터 관측 값을 작성해 보겠습니다.

Asym = .6
xmid = 23
scal = 5

n = 10
time = seq(1,60,5)

d = data.frame(time=rep(time,10),
               Asym, xmid, scal, group=0)
d$subj = factor(rep(1:n, each=length(time)))

이제 그들 중 절반이 서로 다른 점근선 및 중간 점 매개 변수를 갖도록하십시오.

ind = (nrow(d)/2):nrow(d)
d$Asym[ind] = d$Asym[ind] + .1
d$xmid[ind] = d$xmid[ind] + 10
d$group[ind] = 1
d$group=factor(d$group)

모델을 기반으로 모든 개인에 대한 응답 값을 시뮬레이션 할 수 있습니다.

set.seed(1)
d = transform(d, y = Asym/(1+exp((xmid-time)/scal)) +
                     rnorm(nrow(d), sd=.04))
library(lattice)
xyplot(y~time | group, group=subj,
       data=d, type=c("g","l"), col="black")

데이터의 스파게티 플롯

우리는 두 그룹 간의 명확한 차이점, 모델이 얻을 수있는 차이점을 볼 수 있습니다. 이제 그룹을 무시하고 간단한 모델 에 맞추려고합니다 .

> fm1 = nls(y ~ SSlogis(time, Asym, xmid, scal), data=d)
> coef(fm1)
      Asym       xmid       scal 
 0.6633042 28.5219166  5.8286082

예상 한대로 두 그룹의 실제 모수 값에 대한 추정치 Asymxmid어딘가에있을 수 있습니다. (이것은 분명하지 않습니다. 그러나 스케일 매개 변수도 변경되어 모델의 잘못된 사양에 맞게 조정되었습니다.) 이제 두 그룹에 대해 다른 매개 변수 로 전체 모델을 적합합시다 .

> fm2 = nls(y ~ SSlogis(time, Asym[group], xmid[group], scal[group]),
          data=d,
          start=list(Asym=rep(.6,2), xmid=rep(23,2), scal=rep(5,2)))
> coef(fm2)
    Asym1     Asym2     xmid1     xmid2     scal1     scal2 
 0.602768  0.714199 22.769315 33.331976  4.629332  4.749555

두 모델이 중첩되어 있으므로 우도 비 검정을 수행 할 수 있습니다.

> anova(fm1, fm2)
Analysis of Variance Table

Model 1: y ~ SSlogis(time, Asym, xmid, scal)
Model 2: y ~ SSlogis(time, Asym[group], xmid[group], scal[group])
  Res.Df Res.Sum Sq Df  Sum Sq F value    Pr(>F)    
1    117    0.70968                                 
2    114    0.13934  3 0.57034  155.54 < 2.2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

매우 작은 p- 값은 단순 모형이 너무 단순하다는 것을 분명히 보여줍니다. 두 그룹 매개 변수 다릅니다.

그러나 두 척도 모수 추정값은 .1 차이로 거의 동일합니다. 아마도 하나의 스케일 매개 변수 만 필요합니까? 물론 데이터를 시뮬레이션했기 때문에 대답은 '예'입니다.

(두 점근선 매개 변수의 차이도 .1이지만 표준 오류를 고려할 때 차이가 있습니다 summary(fm2). 참조 )

따라서 이전 과 scale같이 두 그룹에 공통 매개 변수를 사용하지만 다른 매개 변수를 사용하여 새 모델에 적합합니다 .Asymxmid

> fm3 = nls(y ~ SSlogis(time, Asym[group], xmid[group], scal),
          data=d,
          start=list(Asym=rep(.6,2), xmid=rep(23,2), scal=5))
> coef(fm3)
     Asym1      Asym2      xmid1      xmid2       scal 
 0.6035251  0.7129002 22.7821155 33.3080264  4.6928316

축소 된 모형이 전체 모형에 중첩되므로 가능성 비율 검정을 다시 수행 할 수 있습니다.

> anova(fm3, fm2)
Analysis of Variance Table

Model 1: y ~ SSlogis(time, Asym[group], xmid[group], scal)
Model 2: y ~ SSlogis(time, Asym[group], xmid[group], scal[group])
  Res.Df Res.Sum Sq Df     Sum Sq F value Pr(>F)
1    115    0.13945                             
2    114    0.13934  1 0.00010637   0.087 0.7685

p- 값 이 크면 축소 된 모형과 전체 모형이 모두 적합 함을 나타냅니다.

물론 비슷한 테스트를 수행하여 Asym단지 하나 xmid또는 둘 다에 대해 다른 매개 변수 값이 필요한지 확인할 수 있습니다. 즉, 매개 변수를 제거하기 위해 이와 같이 단계별 회귀를 수행 하지 않는 것이 좋습니다. 대신 fm2단순 모델 ( fm1) 에 대해 전체 모델 ( )을 테스트 하고 결과에 만족하십시오. 차이점을 정량화하려면 도표가 도움이 될 것입니다.


좋은 답변입니다. 소수의 개인을 두 번 측정하고 개인 내 상관 관계를 제어하려는 경우이 분석을 어떻게 변경 하시겠습니까? 당신이 도울 수 있다면, 나는 당신의 2 센트에 감사드립니다! ( stats.stackexchange.com/questions/203040/… )
Nova

이 접근법 nlmer()은 시간이 지남에 따라 샘플에 대한 반복 측정을 설명하기 위해 사용 하는 것과 비교하여 어떻습니까? 당신은 전략의 동일한 종류를 할 수 있지만, 랜덤 효과 (1 개) 모델에 맞게 수 subjectgroup무작위 효과와 다른 모델 대 subject만 비교합니다.
Stefan Avey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.