에서 lmer
내 기능 lme4
에 R
임의 효과의 모델 매트릭스 구성에 대한 요구가 같은 설명, 여기 , 페이지 7-9.
계산 하는 것은 J_i 및 X_i 의 두 행렬의 KhatriRao 및 / 또는 Kronecker 곱을 수반 합니다. J i X i
행렬 는 한 입 가득입니다. "그룹화 인자 지수의 지표 행렬"이지만 더 높은 계층 레벨에 해당하는 단위 (예 : 반복 측정 대상)를 "켜기"위해 더미 코딩을 사용하는 희소 행렬 인 것 같습니다. 모든 관찰. 매트릭스는 모두 "선택자"의 조합은, 매트릭스를 수득 할 그래서, 하부 계층 레벨의 측정 선택기로서 작용하는 것으로 보인다 다음의 예를 통해 용지에 도시 된 형태 :
(f<-gl(3,2))
[1] 1 1 2 2 3 3
Levels: 1 2 3
(Ji<-t(as(f,Class="sparseMatrix")))
6 x 3 sparse Matrix of class "dgCMatrix"
1 2 3
[1,] 1 . .
[2,] 1 . .
[3,] . 1 .
[4,] . 1 .
[5,] . . 1
[6,] . . 1
(Xi<-cbind(1,rep.int(c(-1,1),3L)))
[,1] [,2]
[1,] 1 -1
[2,] 1 1
[3,] 1 -1
[4,] 1 1
[5,] 1 -1
[6,] 1 1
이러한 각 행렬을 전치하고 Khatri-Rao 곱셈을 수행합니다.
그러나 는 그 전치입니다.
(Zi<-t(KhatriRao(t(Ji),t(Xi))))
6 x 6 sparse Matrix of class "dgCMatrix"
[1,] 1 -1 . . . .
[2,] 1 1 . . . .
[3,] . . 1 -1 . .
[4,] . . 1 1 . .
[5,] . . . . 1 -1
[6,] . . . . 1 1
저자는의 데이터베이스 sleepstudy
를 사용 lme4
하지만이 특정 연구에 적용 할 때 디자인 매트릭스를 자세히 설명하지는 않습니다. 따라서 위의 논문에서 작성된 코드가 어떻게 더 의미있는 sleepstudy
예로 해석되는지 이해하려고합니다 .
시각적 단순성을 위해 데이터 세트를 "309", "330"및 "371"의 세 가지 주제로 줄였습니다.
require(lme4)
sleepstudy <- sleepstudy[sleepstudy$Subject %in% c(309, 330, 371), ]
rownames(sleepstudy) <- NULL
간단한 OLS 회귀를 개별적으로 고려할 경우 각 개인은 매우 다른 절편과 기울기를 나타냅니다. 이는 피험자에 해당하는 더 높은 계층 또는 단위 수준의 혼합 효과 모델이 필요함을 나타냅니다.
par(bg = 'peachpuff')
plot(1,type="n", xlim=c(0, 12), ylim=c(200, 360),
xlab='Days', ylab='Reaction')
for (i in sleepstudy$Subject){
fit<-lm(Reaction ~ Days, sleepstudy[sleepstudy$Subject==i,])
lines(predict(fit), col=i, lwd=3)
text(x=11, y=predict(fit, data.frame(Days=9)), cex=0.6,labels=i)
}
혼합 효과 회귀 호출은 다음과 같습니다.
fm1<-lmer(Reaction~Days+(Days|Subject), sleepstudy)
함수에서 추출한 행렬은 다음과 같습니다.
parsedFormula<-lFormula(formula= Reaction~Days+(Days|Subject),data= sleepstudy)
parsedFormula$reTrms
$Ztlist
$Ztlist$`Days | Subject`
6 x 12 sparse Matrix of class "dgCMatrix"
309 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . .
309 0 1 2 3 4 5 6 7 8 9 . . . . . . . . . . . . . . . . . . . .
330 . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .
330 . . . . . . . . . . 0 1 2 3 4 5 6 7 8 9 . . . . . . . . . .
371 . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1
371 . . . . . . . . . . . . . . . . . . . . 0 1 2 3 4 5 6 7 8 9
이것은 옳은 것처럼 보이지만 그렇다면 그 뒤에 선형 대수학이란 무엇입니까? 나는 1
개인의 선택 행을 이해합니다 . 예를 들어, 주제 309
는 기준선 + 9 개의 관측치에 대해 설정되어 있으므로 4 등을 얻습니다 1
. 두 번째 부분은 0
기준선, 1
수면 박탈 첫날 등 의 실제 측정치입니다 .
그러나 실제 무엇 및 매트릭스 및 대응 또는 , 어느 관련이 있습니까?
가능성이 있습니다.
문제는 lmer
함수가 요구하는 것처럼 바뀌지 않고 를 만드는 규칙이 무엇인지 여전히 명확하지 않다는 것 입니다.
mkZt()
( 여기서 검색 하십시오 ) 좋은 시작입니까?