我正在尝试使用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无法构造方差协方差矩阵。这里有什么问题的指针?
答案 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)