问题标签 [gamlss]
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.
spline - Interaction term in GAMLSS through pvc ()
We are fitting Generalized Additive Models for Location, Scale and Shape to access the effects of month (continuos) and year (categorical) on the response variable Y. To investigate the seasonal variability of Y across the years, interaction terms between year and month were included. The R code used is shown below:
M1<-gamlss(Y~cs(Month)+pvc(Month, by=Year_N),family=NBI, data = data)
The function pvc() is varying coefficients functions. This interaction takes the linear coefficient of the explanatory variable x is changing smoothly according to another explanatory variable r.
When I run this code the following error occured:"There were 50 or more warnings (use warnings() to see the first 50)".
This error also ocurred when the following dataset and code available on Package ‘gamlss’ (February 3, 2020) are used:
the rent data
first with a factor
data(rent)
now with the factor
r2 <- gamlss(R~pvc(Fl, by=B), data=rent)
Could someone explain what could be happening?
Jonatas Prado
r - 使用 R 中的 tryCatch 从处理函数中的 gamlss 模型预测数据
我在tryCatch()
创建的函数中使用 R 中的函数时遇到问题。
我想做的是:
- 根据模型结果模拟数据
gamlss
使用我的模型分析模拟数据- 使用该
predict
函数在新的值范围内提取模型预测 - 将这些预测存储在数据框中
- 多次这样做
我的主要问题是我的模型有些不稳定,有时预测有点疯狂,当我尝试用gamlss
. 我的目标是在我的模拟函数中编写一个tryCatch
语句,并且基本上只是在发生错误时再次运行模拟/预测代码。(我知道这不是最优的,我也可以使用repeat
例如递归语句将其编写并运行它,直到我没有收到错误但我得到的错误很少,以至于连续获得两个的概率很低,而且我对这项任务有足够的麻烦。)
所以我尽可能地简化了我的代码,并创建了一个模型仍然有效的虚拟数据框。
我写在我认为错误所在的代码中(使用没有找到mod_sim
对象的预测函数)。很可能在那里,因为cat
这条线正上方的打印,而正下方的不打印。
我认为有一些关于如何tryCatch
工作的事情我不太了解,我很难理解哪些对象保存在函数的哪些部分以及何时可以调用它们......
这是我到目前为止的代码。错误发生在 l.84(在脚本中标识)。数据和代码可以在这里找到。
无论如何,我希望有人可以提供帮助!
非常感谢!
r - 在 R 中使用 gamlss 提前一步预测
我必须创建一个石油价格预测模型,并使用 gamlss、gamlss.add、gamlss.dist 包提前一天预测。数据称为 oil,可以在加载包后使用 R 中的 data(oil) 下载。
我不太熟悉时间序列预测或这些软件包,所以我想知道熟悉这些主题的人是否可以提供帮助。
r - 为什么 gamlss() 预测超出响应范围?
为什么下面创建的 gamlss() 模型预测超出响应值范围?我是否错误地使用了 predict.gamlss() 函数,或者模型只是那么差?
我的响应变量是具有零和一个的比例数据,所以我使用的是 gamlss() 内的 BEINF、零和一个膨胀的 beta 分布。下面是一个数据样本,但是这个问题出现在完整的数据集上,并且也出现在比下面的更复杂的 gamlss() 模型形式中。
谢谢
r - 使用 GAMLSS 进行似然比测试中的错误消息
我在 GAMLSS 中运行可能性测试时遇到了问题。
我正在尝试测量观察者对蜥蜴遭遇概率的影响。几位观察者在不同的日子调查了一系列地块并测量了蜥蜴遭遇的概率,因此我的数据集由一系列概率值组成(值从 0 到 1,强烈膨胀为 0)。因此,我采用 Beta 膨胀分布 (beinf) 进行建模。
运行模型选择后,我最终得到以下最佳模型(最低 AIC):model<-gamlss(observations~Date*Year+Observer+random(Plot),data=dat.tf,family=BEINF,trace= F)
为了评估观察者的重要性,我比较了这个模型和空模型 null.model<-gamlss(observations~Date*Year+random(Plot),data=dat.tf,family=BEINF,trace=F)
LR.test(null.model,model) 并返回错误消息:“空模型的偏差比替代模型小。模型应该嵌套”
我在哪里做错了?
r - "as.data.frame.default(x[[i]], optional = TRUE) 中的错误:使用 gamlss 函数(或 lme())时无法将类“函数”强制转换为 data.frame”
我正在尝试使用以下代码使用包来拟合一个膨胀的 Beta 回归混合模型:gamlss
但是我收到以下错误:
我相信错误来自nlme::lme()
被调用gamlss::re()
以适应随机效应的函数,因为当我不包含这部分代码时它可以正常工作。我也许可以使用gamlss::random()
而不是gamlss::re()
来拟合随机效应,但是这些函数的帮助页面指出,当响应变量的正态假设不能满足re()
时应该使用这些函数。
有人可以帮我弄清楚如何解决这个问题吗?
r - 在装有 GAMLSS 的 GLMM 上使用挖泥机时出错
当我尝试在使用 GAMLSS 拟合的具有随机效应的模型上使用挖泥机时,我收到以下错误。
矩阵错误(NA_real_,ncol = 3L,nrow = length(x),dimnames = list(coefNames,:'dimnames' [1] 的长度不等于数组范围
谁能告诉我为什么?有办法解决吗?
此外,当我尝试在模型上使用函数 ggpredict 时,我收到以下错误:
错误:无法计算置信区间。
- 原因:“可变长度不同(为 're(random = ~1 | rand)' 找到)”
- 来源:model.frame.default(object, data, xlev = xlev)
这表明问题出在随机效应上。当我移除随机效应时,这两个功能都有效。
r - gamlss:算法 RS 尚未收敛
我正在使用该gamlss()
函数运行一个广义的加法混合模型。我fitDist()
在我的数据上使用了它,它建议我使用零膨胀泊松。我的响应变量是“度”,是计数数据,但有很多零。
我尝试运行一个模型,其中包含一个平滑项、一个数值解释变量 (TL)、四个分类解释变量和两个随机效应。
但我在二十次迭代后收到警告
但是我可以创建一个摘要输出
我曾尝试使用该refit()
函数,但经过另外 20 次迭代后,我得到了相同的结果。
如果模型不收敛,在解释模型输出时这是一个问题吗?下面是一个可重现的示例数据集。
r - gamlss ZASICHEL 分布错误:外部函数调用中的 NA/NaN/Inf (arg 5)
我正在数据集上运行广义加法模型。我起诉了这个fitDist()
功能,它建议使用 ZASICHEL 发行版
但是,当我尝试运行模型时
我收到这个错误
这可能是什么原因?该模型在负二项分布的情况下运行良好。=,这是我在找到 fitDist 函数之前最初使用的。下面是一个可重现的小例子。