Betareg导致内存分配问题

问题描述 投票:1回答:2

我试图使用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 =“Mb”)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无法构造方差协方差矩阵。有什么指向这里出错的地方吗?

r summary beta
2个回答
2
投票

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

从手册:

请注意,默认残差“sweighted2”在大样本中计算可能会很麻烦,因此可能需要在此类应用程序中进行修改。

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

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


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)
© www.soinside.com 2019 - 2024. All rights reserved.