具有ar1的glmmTMB-内存分配和收敛

时间:2019-01-28 17:17:39

标签: r mixed-models

我正在一个稍大的数据集(130,000行)上运行二项式glmmTMB模型。该模型本身很简单-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()结构,模型就会收敛,而不会出现任何警告或错误。

我对模型的要求太多了吗?我在具有16 GB RAM的64位Windows计算机上使用R 3.5.1。为了避免这些问题,我可以进行哪些更改?

数据结构(因为我无法创建玩具数据集):

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 ...

0 个答案:

没有答案