glmmTMB с ar1 - распределение памяти и конвергенция - PullRequest
0 голосов
/ 28 января 2019

Я использую биномиальную модель glmmTMB на довольно большом наборе данных (130 000 строк).Сама модель проста - 2 фиксированные переменные (непрерывная и факторная), одна вложенная случайная величина (событие внутри человека, с 4 индивидуумами).Проблема возникает, когда я добавляю структуру ar1().Данные хранятся в регулярной сетке длительностью 1 мин, однако длины событий различаются, и события могут быть разнесены на несколько часов.Поэтому я указал, что модель должна иметь автокорреляционную структуру внутри каждого события (вложенного в отдельное).

Я получаю ошибку cannot allocate vector of size xx Gb.Количество событий колеблется от 80 до 140 на человека (все события имеют уникальные имена, а Event - фактор-переменная).Столбец Running.WithinF - это фактор-переменная, отслеживающая порядок точек данных в событии.Длины событий варьируются от 50 до 1300 образцов.

m <- glmmTMB(Response ~ poly(Continuous, 4) + Discrete + (1|Individual) + 
   (1|Event) + ar1(Running.WithinF + 0| Event), data = df, family = "binomial")

Модель выдает ошибку, как только я использую более 300 событий.Если я использую только 300 событий, я получаю предупреждение extreme or very small eigen values detected.Виньетка не дает много информации о том, как с этим справляться в биномиальной установке ... Как только я удаляю структуру ar1(), модель сходится без каких-либо предупреждений или ошибок.

Я слишком много спрашиваю у модели?Я использую R 3.5.1 на 64-битной Windows-машине с 16 ГБ ОЗУ.Какие изменения я могу сделать, чтобы избежать этих проблем?

структура данных (поскольку я не могу создать игрушечный набор данных):

Classes ‘tbl_df’, ‘tbl’ and 'data.frame':       54532 obs. of  10 variables:
$ Response        : num  1 1 0 1 1 1 1 1 1 1 ...
$ Discrete       : Factor w/ 2 levels "B",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Individual    : Factor w/ 4 levels "N01","N02",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Continuous          : num  0 0 0 0 0 0 0 0 0 0 ...
$ RunningF       : Factor w/ 100 levels "0","1","2","3",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Running.WithinF: Factor w/ 1219 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...