как понять коэффициенты регрессии и сделать прогноз для случаев с указанными c значениями предиктора в MCMCglmm? - PullRequest
0 голосов
/ 28 мая 2020

Я использую пакет MCMCglmm в R для моей многоуровневой полиномиальной логистической модели c регрессии. У меня есть двоичный результат уровня 1 «Секс», который был закодирован как 1,2, и полиномиальный результат уровня 1 из трех неупорядоченных категорий «матах», который был закодирован как 0,1,2. У меня также есть постоянный предсказатель уровня 1 «SES». Переменная ID - "Школа". Воспроизводимый код с использованием набора данных R MathAchieve и MathAchSchool из пакета nlme выглядит следующим образом:

、、、

library(MCMCglmm)
library(nlme)
data(MathAchieve,package='nlme')
data(MathAchSchool,package='nlme')
dat=merge(MathAchSchool,MathAchieve,by='School')
dat$mathach[dat$MathAch<5]=0
dat$mathach[dat$MathAch>=5 & dat$MathAch<15]=1
dat$mathach[dat$MathAch>15]=2
dat$mathach=as.factor(dat$mathach)
str(dat)

set.seed(9689724)
m1=MCMCglmm(Sex~SES,random=~School+SES,data=dat,family='categorical',verbose=F)
summary(m1)
predict(m1,data.frame(SES=0.5,Sex=c(1,2),School='1224'),marginal=NULL,type='response')

m2=MCMCglmm(mathach~SES,random=~School+SES,data=dat,rcov=~us(trait):units,family='categorical',verbose=F) 
summary(m2)
predict(m2,data.frame(SES=0.5,mathach=c(0,1,2),School='1224'),marginal=NULL,type='response')

、、、

Мои вопросы:

  1. Коэффициент регрессии SES в полиномиальной логистической c регрессии равен 1,0449, но к какой категории «матаха» относится этот коэффициент? как это интерпретировать?
  2. Хотя у меня модель работает правильно, я не совсем понимаю, что делает в модели 'rcov = ~ us (trait): units', только то, что модель не может работать без этой части. Я несколько раз читал статью на сайте MCMCglmm Cran, но до сих пор не понял.
  3. Что означает «нас», «idh», «ihv» в курсиноте (автор использует их для обозначения ковариационной структуры, они являются инициалами некоторых терминов)?
  4. Я пытался делать прогнозы с SES = 0,5, я получил ту же ошибку как для двоичной, так и для полиномиальной логистической модели c регрессии, говоря, что

'Ошибка в dimnames (x) <- dn: длина 'dimnames' [2] не равна размеру массива '</p>

Как решить эту проблему? Как запрограммировать предсказательную часть?

Большое спасибо.

...