Betareg导致内存分配问题

时间:2014-10-14 19:46:58

标签: r summary beta

我正在尝试使用betareg包在R中运行beta回归模型。但是,令人惊讶的是我遇到了内存大小问题。让我解释为什么这让我感到惊讶。

我使用的是Windows 7,64位,R-64,内存为32 GB。

我正在运行的betareg命令是::

br1 <- betareg(dfp ~ ago + evl + spe + low + poly(fpt, 4, raw = T), data = tt[tt$zero_one_ind == 1, ], model = T, y = F, x = F)

betareg模型的对象大小为:

  

print(object.size(br1),units =&#34; Mb&#34;)   46 Mb

这是我收到的错误消息:

Error: cannot allocate vector of size 344.1 Gb
In addition: Warning messages:
1: In diag(x %*% xwx1 %*% t(x)) :
Reached total allocation of 32693Mb: see help(memory.size)
2: In diag(x %*% xwx1 %*% t(x)) :
 Reached total allocation of 32693Mb: see help(memory.size)
3: In diag(x %*% xwx1 %*% t(x)) :
 Reached total allocation of 32693Mb: see help(memory.size)
4: In diag(x %*% xwx1 %*% t(x)) :
Reached total allocation of 32693Mb: see help(memory.size)

betareg模型在R中成功运行并估计系数,并且据我所知,所有的时隙都被填充,但看起来R无法构造方差协方差矩阵。这里有什么问题的指针?

2 个答案:

答案 0 :(得分:2)

我有同样的问题,解决方案很简单。

从手册:

  

请注意默认残差&#34; sweighted2&#34;可能   在大样本中计算繁琐,因此可能需要在此类应用中进行修改。

例如,您可以使用摘要中的其他选项之一:

  

type = c(“pearson”,“deviance”,“response”,“weighted”,“sweighted”,“sweighted2”)

答案 1 :(得分:0)

我使用betareg遇到了同样的问题。我只对系数重要性的p值感兴趣,因此这对我来说是一种解决方法:

fit_frst_spnd_model <- betareg(formula = frst_spnd_util_pc2 ~ .
                        ,data = train_data_frst_txn2_2
                        )
library(lmtest)
coeftest(fit_frst_spnd_model)