2013-11-21 6 views
41

У меня есть внутрифизические данные субъекта (part), которые все смотрели на стимулы (чтение газет) на три раунда (round), каждый из которых имеет пять статей (paper), и в каждом из них имеется переменное количество посещений (visit) в газете. У меня есть два фиксированных фактора (CONDhier и CONDabund) плюс взаимодействие для прогнозирования физиологического состояния (например, EDA), которое обычно является авторегрессивным. Я стараюсь учитывать индивидуальные различия в физиологии со случайными эффектами (давайте остановимся только на перехвате) и, возможно, усталость над раундами с другим случайным эффектом.Линейная смешанная модель со скрещенными повторяющимися эффектами и структурой ковариации AR1, в R

Таким образом, моя модель, что я хотел бы работать в R будет, в SPSS:

MIXED EDA BY CONDhier CONDabund 
/FIXED=CONDhier CONDabund CONDhier*CONDabund | SSTYPE(3) 
/RANDOM=INTERCEPT | SUBJECT(part) COVTYPE(VC) 
/RANDOM=INTERCEPT | SUBJECT(part*round) COVTYPE(VC) 
/PRINT=SOLUTION 
/METHOD=REML 
/REPEATED=visit | SUBJECT(part*round*paper) COVTYPE(AR1). 

Теперь я понял, что в то время как lme не делает скрещенные термины хорошо, lmer (который обрабатывает скрещенные термины без проблем) не могут использовать разные структуры ковариации. Я могу запускать простые модели lme, такие как

lme(EDA ~ factor(CONDhier) * factor(CONDabund), random= ~1 
    |part, na.action=na.exclude, data=phys2) 

, но более сложная модель находится вне меня. Я прочитал, что скрещенные члены LME может быть сделано со случайными определениями как

random=pdBlocked(list(pdCompSymm(~part), pdCompSymm(~round-1), pdCompSymm(~paper-1), 
pdCompSymm(~visit-1))) 

но, кажется, чтобы блокировать структуру AR1, а второй случайный перехват для части * раунд, от меня. И я не уверен, что это так же, как и мой синтаксис SPSS.

Итак, любой совет? Хотя в lme и lmer есть много разных публикаций, я не мог найти тот, у которого были бы скрещенные термины и AR1.

(Кроме того, синтаксис на lme кажется довольно неясным: из нескольких разных источников я понял, что | группы, что слева от того, что справа, что/делает вложенные термины, что ~ 1 - случайный перехват, ~ x - это случайный наклон, а ~ 1 + x - оба, но, по-видимому, есть как минимум: и -1 определения, которые я не мог найти нигде. Есть ли учебник, который объяснял бы все разные определения?)

+2

не полный, но немного подробнее о синтаксисе смешанной модели R, см. Http://glmm.wikidot.com/faq#modelspec –

+0

Спасибо! (+ filler, поскольку комментарии должны быть не менее 15 символов в длину ...) – RandomMonitor

+4

Вы правы, что 'lme4' не хватает структур R-side (автокорреляции) (и, вероятно, на некоторое время мы будем болотистыми).Я не уверен (воспроизводимый пример будет приятным), но вы можете * хотеть что-то вроде 'random = pdBlocked (list (pdCompSymm (~ part-1), pdCompSymm (~ round-1), pdCompSymm (~ paper: round), pdCompSymm (~ visit: paper: round))) '... и я не совсем понимаю, что вы подразумеваете под« блокировкой структуры AR ». Возможно, вам понадобится 'корреляция = corAR1()' (хотя вы можете сказать, что это не работает). AD Model Builder/JAGS/BUGS/Stan (build-your-own) - единственные инструменты с открытым исходным кодом, которые я знаю для этого –

ответ

1

Рассмотрите пакет R MCMCglmm, который позволяет создавать сложные модели смешанных эффектов.

https://cran.r-project.org/web/packages/MCMCglmm/vignettes/CourseNotes.pdf

Хотя это может быть сложно осуществить, он может решить проблемы, которые вы уже имеете. Он позволяет использовать формулы фиксированного и случайного эффектов отдельно, например.

fixed <- formula(EDA ~ CONDhier * CONDabund) 
rand <- formula(~(us(1+ CONDhier):part + us(1+ CONDhier):round + us(1+ CONDhier):paper + us(1+ CONDhier):visit)) 

структура ковариации между случайными эффектами приведены в качестве коэффициентов, которые могут быть изучены с помощью summary() на MCMCglmm объекта после того, как модель была бежать.

+0

Спасибо, я попробую это в следующий раз, когда мне это понадобится. – RandomMonitor