Bam无法制作稀疏矩阵?

时间:2016-02-24 12:39:34

标签: r gam mgcv

我正在尝试制作一个二进制GAM大约。 630万行数据(因此bam)。我有两个随机效果(40和7级)使用s(...,"re"),3个分类变量(5 + 5 + 4级)和一个循环平滑(s(Hour, by = GroupAB, bs = "cc"))。 GroupAB有25个级别,并且是前面提到的两个变量之间的串联,我在这些变量之间包含了一个额外的交互。像(y~s(..,"re") + s(..,"re") + s(Hour, by = GroupAB, "cc") + A * B + C, family ="binomial")这样的东西。

当我运行模型时,我收到以下错误消息:

Error in predict.gam(G, newdata = mf[ind, ], type = "lpmatrix", newdata.guaranteed = TRUE,  : 
  number of items to replace is not a multiple of replacement length

我追溯到bam试图制作稀疏矩阵(https://github.com/cran/mgcv/blob/master/R/bam.r中的sparse.matrix.model())。看到它使用chunk.size= bam()的{​​{1}}参数,我开始玩它。在将chunck大小从10k增加到75K后,我得到了模型运行并给出了合理的结果。

但为什么错误在第一位呢?是否有一个技巧来避免此错误消息?还是与数据有关?

0 个答案:

没有答案