정규 우도 비율 검정을 사용할 수 있습니다. 다음은 간단한 예입니다. 먼저 매개 변수를 기반으로 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
예상 한대로 두 그룹의 실제 모수 값에 대한 추정치 Asym
와 xmid
어딘가에있을 수 있습니다. (이것은 분명하지 않습니다. 그러나 스케일 매개 변수도 변경되어 모델의 잘못된 사양에 맞게 조정되었습니다.) 이제 두 그룹에 대해 다른 매개 변수 로 전체 모델을 적합합시다 .
> 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
같이 두 그룹에 공통 매개 변수를 사용하지만 다른 매개 변수를 사용하여 새 모델에 적합합니다 .Asym
xmid
> 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
) 에 대해 전체 모델 ( )을 테스트 하고 결과에 만족하십시오. 차이점을 정량화하려면 도표가 도움이 될 것입니다.