问题标签 [betareg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
16 浏览

r - Betareg 摘要导致内存分配错误

我目前正在使用 r 中的 betareg 包在包含 1,000,000 个观察值的数据集上构建模型。我的代码是:

m1 <- betareg(rr ~ cred_report, data = mydata, link = "logit")

betareg 似乎运行得很好,但是,当我使用 summary() 函数总结模型时,我抛出以下错误:

summary(m1)

Error: cannot allocate vector of size 7450.6 Gb

我已经能够使用 glm 包运行相同的回归,并且从未遇到过这个错误。此外,7450.6 GB 似乎需要大量的内存。

希望能得到一些帮助。

0 投票
0 回答
74 浏览

r - 是否可以让通过 GAM 进行的 beta 回归中的精度/方差参数也随预测变量而变化?

我想拟合一个时空模型,其中我的因变量在 [>0,<1] 范围内。

贝塔回归似乎适合这种情况。

我尝试了 betareg 包,它就像一个魅力,但据我所知,我不能包含复杂的交互项,例如出现在时空数据集中以解释自相关。

我知道 GAM,例如包 mgcv 通过 betar() 系列支持 beta 回归。据我所知,精度/方差参数保持不变,只有平均值(mu)随着预测变量的变化而变化。

我的模型看起来像这样(它是概念性的,因此不需要示例数据):

问题是只有 mu 被建模而不是 phi /precision

在 betareg 中,我可以让我的预测变量改变 phi:

但这并不能让我根据需要对时空项进行建模,因为简单的加性效应不适合这种情况,我需要类似于 mgcv 的 te() 功能或任何其他类型的交互项所支持的东西。

是否有任何解决方法或方法来模拟 phi 但通过 mgcv 或 betareg 或任何其他 R 包来解释我的时空术语?

非常感谢!

0 投票
2 回答
125 浏览

r - 倾斜比例上的 betareg 导致高预测均值

我正在对高度偏斜的比例(中位数~2%,平均~13%)进行 beta 回归。然而,来自模型的平均预测值通常大约是样本均值的两倍。甚至最小预测值也大于样本均值!我已经尝试了 link 和 link.phi 函数的所有变体,结果保持不变。

关于如何在预测分布和样本分布之间获得更好匹配的任何建议?谢谢!

0 投票
0 回答
51 浏览

r - 为 beta 回归设置具有误差之间相关性的 DGP

我想建立一个错误相关的场景。在第一种设置中,应该拟合 beta 回归,第二种情况包括条件 logit 模型。

为了将这两种情况关联起来,我将错误关联起来(或者至少是这样的想法)。但是,我正在努力为 beta 回归设置一个场景。这里有两个问题。首先,如何设置阻止相关性的 beta 回归的误差,其次,如何设置数据。

这是我所拥有的:

此函数为正常回归场景和条件 logit sceanrio 产生相关误差:

无需手动定义错误,我会这样做:

但是,这不会保留相关性:

如何设置保留我的相关性的 DGP?

谢谢,汤姆

0 投票
0 回答
48 浏览

r - 使用 Betareg() 生成的 chol.default(K) 和 NaN 中的错误

我正在尝试使用 logit 链接在模拟数据集上拟合 beta 回归模型。我知道 Betareg() 在处理包含值太接近 1 或 0 的数据时可能存在错误。但是在我使用 rnorm() 的模拟数据集中,有时,Betareg() 仍然报告错误并为某些看起来的数据生成 NaN很好,并且没有太接近 1 或 0 的值。有人可以帮我吗?

数据是

错误消息是

0 投票
1 回答
33 浏览

r - betareg 不在 CentOS 上使用多线程

模型拟合在 CentOS 上单线程运行

我正在拟合 Beta 回归模型与betaregbetamix中的函数混合。我最初在 Mac OS X 上开发代码,但现在我在一个 HPC 集群上运行它(即大规模迁移),LSF 用于作业管理和 CentOS 在节点上。对于这两种情况,我都使用由以下 YAML 定义的 Conda 环境

betareg.yaml

在我的本地机器上,该betamix步骤会自动扩展到所有可用内核。然而,在集群上,我通过 Snakemake 部署作业并提供了threads: 16,监控显示所有作业都在单线程运行,尽管 Snakemake 日志清楚地显示每个作业正确分配了 16 个内核。

并行包?

比较sessionInfo()这两种情况的输出表明没有parallel加载到 HPC 上下文中。但是,显式添加library(parallel)并没有什么不同。

相同的 BLAS 库版本

另一个想法是,也许 BLAS 库是不同的,但是,它们似乎也匹配(尽管显然是特定于平台的构建)。

osx-64 BLAS

linux-64 BLAS

如何让 CentOS 执行以使用所有分配的线程?

0 投票
1 回答
24 浏览

r - 使用“nest()”时从 betaRegression 模型中获取预测值

我正在使用nested文件进行一些回归分析。我拥有的代码类似于:

它工作正常,但我现在想predicted从不同的时间范围(例如,2000 年到 2010 年)获取值。使用普通文件(未嵌套)时,我可以使用以下方法轻松完成此操作:

那么,有谁知道如何predict在文件上使用这个功能nestedmodels在这种情况下)?

谢谢!

0 投票
1 回答
40 浏览

r - Stargazer 中的 Betareg(分配大小为 __ 的向量时出错)

betareg默认残差很重,这可能会由于其大尺寸而导致分配向量的错误。这可以通过更改调用type中的残差来解决,如此所述。summary

但是,当呈现带有 的回归表时stargazer,无法明确设置残差的类型。

有没有办法让(大)betareg物体在其中工作stargazer

我能想到但不知道如何实施的潜在解决方案是:

  • type指示原始betareg调用中的残差( type = "pearson"(或任何其他类型)不起作用)。
  • 明确指示调用对象stargazer时应包含summary的参数。betareg
  • 任何其他?

例子: