问题标签 [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.

0 投票
0 回答
34 浏览

r - 在 GAM 中仅加权一个协变量

我有一个形式的回归问题:

Y~s(x1)+s(x2)+s(x3)+re

其中 s() 表示平滑函数并且是随机效应。

我知道对于每个 x3 值,测量值并不完全位于 Y 的采样位置,而是随机远离它一个已知距离(dist),以 km 为单位。

因此,我的真实 x3(在 dist 0 处)的确定性越接近 Y 的采样位置,我对 x3 在距离为 0 处的边际效应感兴趣,所以 x3 对 Y 的“真实”边际效应。

我考虑在我的 GAM 中使用权重,基于 1/dist 或其他东西,但我想我会加权所有协变量,还有 x1,x2 的协变量,按 x3 到 Y 的距离。这不是我想要的,因为这可能对 x1 和 x2 给出错误或有偏差的估计?

有什么办法可以做到这一点?

这是朝着正确的方向发展吗?

Y~s(x1)+s(x2)+te(x3,dist)+re

或者:

Y~s(x1)+s(x2)+s(x3)+ti(x3,dist)+re

或者:

pvc()gamlss 包中的功能可以帮助吗?

所以在预测中我将 dist 设置为 0?但是我如何强制例如 te(x3,dist) 在高 dist 值时变为零?

-我正在寻找 R 中基于mgcvorbamlss或的解决方案gamlss。非常感谢!

0 投票
1 回答
73 浏览

r - 为什么 gamlss 对前高斯分布参数的估计不正确?

gamlss.dist页面exGAUSS

心理学家经常使用前高斯分布来模拟响应时间 (RT)。它是通过添加两个随机变量来定义的,一个来自正态分布,另一个来自指数。参数musigma是正态分布变量的均值和标准差,而参数nu是指数变量的均值。

以下是我们应该如何估计参数:

不幸的是,估计值相差甚远:

从 CRAN 中消失的包 retimes仍然可以从

有一个功能mexgauss

给出:

哪个更近。

0 投票
1 回答
67 浏览

r - R中gamlss中的随机效应规范

我想使用 gamlss 包来拟合受益于该包中更多可用分布的模型。但是,我正在努力正确指定我的随机效应,或者至少我认为这是一个错误,因为如果我将 lmer 模型的输出与高斯分布进行比较,而 gamlss 模型与高斯分布的输出不同。如果比较没有随机效应的 lm 模型和具有高斯分布且没有随机效应的 gamlss 模型,则输出是相似的。

不幸的是,我无法共享我的数据来复制它。这是我的代码:

如何在 gamlss 中指定随机效应以类似于 lmer 中的随机效应?

如果我指定随机效果而不是使用

我收到以下错误:model.frame.default 中的错误(formula = Forest_loss_annual_perc_boxcox ~ : variable lengths different (found for 're(random = ~1 | ISO3)')

0 投票
0 回答
8 浏览

gamlss - 怎么做才能让所有变量都出现在 gamlssNP 输出中?

公式中的最后三个变量不会出现在输出中。我该怎么做才能让它们也出现?

0 投票
0 回答
10 浏览

gamlss - 如何在 GAMLSS 中使用 gamlss.cens?

我想得到一个LO在零点处被审查的分布。但我找不到任何关于此的参考。在gamlss.cens包中,只有三个选项(leftrightinterval)。

0 投票
0 回答
18 浏览

r - 在 gamlss 包中使用 lms 函数执行百分位数估计时警告“崩溃到唯一的 x 值”

我想使用 gamlss 包的 lms 函数估计百分位曲线。由于我的 x 变量是年龄并且我有一个大数据集 (n=2215),我有一些相同的 x 值,所以我的 x 变量不是唯一的。据我了解,这会导致警告“In regularize.values(x, y, ties, missing(ties)): collapsing to unique 'x' values”,这告诉我 splinefun 的 x 变量中有联系函数摆脱了,正如这里已经讨论过的。

这是我使用 lms 函数创建百分位曲线的代码:

我收到此警告: In regularize.values(x, y, ties, missing(ties)): collapsing to unique 'x' values

但是,对我来说,如果删除具有相同 x 值的观察结果将是一个问题,因为我想保留所有观察结果以使用我拥有的所有信息。对我来说,删除具有相同年龄但不同 y 值的观察是没有意义的,因为两者都是有价值的信息。我对技术细节的了解可能不够深入,看不出来,是否会是这种情况,或者这个“regularize.values”是否仅指构建 x 轴。

有没有人知道这一点或知道如何在不删除相同 x 值的情况下使用 lms 函数?

非常感谢您的任何建议或帮助!

0 投票
0 回答
8 浏览

cross-validation - R中的gamlssCV函数可以产生AIC结果吗?

这是 R 中的一个普遍问题。我们如何使用 gamlssCV(或类似的 gamlss 函数)与 gamlss 进行交叉验证,并且选择标准是 AIC?任何建议都将不胜感激!提前致谢!

0 投票
1 回答
35 浏览

r - 将 gamlss 对象转换为 lme?

我有一个包含三个分类变量的连续响应,没有随机效应。我已经使用零调整伽马分布拟合了一个 gamlss 对象。在这里链接到数据,因为它很大。我无法将数据放入更标准的分布中,如果可能的话,我想避免使用障碍型分析方法以便于解释。

我想比较模型中主要效果和交互的重要性,gamlss这似乎不是直接可用的功能。本文描述了将gamlss对象转换为nlme::lme对象(https://arxiv.org/abs/1810.03085,第 17 页),这似乎是一种很好的方法,因为lme模型更广泛地被 stats 包所接受。

一旦混合 GAMLSS 被拟合并存储在 R 对象中, getSmo()就可以使用该函数将其转换为lme对象,以便使用拟合的混合模型的所有方法都lme()可用,例如通过该anova()函数进行方差分析。

然而,getSmo文档并没有帮助我进行这种转换,而且反复试验让我无处可去。如何使用我的系数(mu、sigma 和 nu)来构建 lme 对象?这是我什至可以在保留零调整伽马分布的同时做的事情gamlss吗?

0 投票
0 回答
15 浏览

save - 将 gamlss 模型保存为 RDS 格式

我正在拟合 Rgamlss模型:

这就是我得到的:

我想以格式保存这个gamlss.fit模型以备后用。RDSsaveRDS功能工作正常。

但是,如果我终止当前R会话,打开一个新会话并读取RDS保存的gamlss.fit模型,我会得到:

所以我不能真正将这个对象用于下游的任何事情。

我认为tidypredict'sparse_model函数可能会派上用场,但它似乎不支持解析gamlss模型:

saveRDS是特定于gamlss因为如果我适合glm模型:

这使:

RDS从保存的文件中读取后,我会得到相同的结果:

顺便说一句,tidypredict'sparse_model既不支持解析glm模型:

任何想法是否以及如何在gamlss不使用该函数的情况下保存模型,这里save讨论了它的缺点

0 投票
1 回答
31 浏览

r - 尝试对 gamlss 模型进行交叉验证时出错

我正在尝试对我用 gamlss 包估计的模型执行 5 折交叉验证。当我使用相同的代码并估计另一个模型(例如 OLS)时,我没有问题。但是,当我将模型更改为 gamlss 时,我收到一条错误消息。

这是一个说明性示例:

当我运行这段代码时,一切正常,我得到一个列表,其中包含我对每个折叠的性能度量:

但是,当我运行此代码并将模型类型更改为 gamlss 时,我收到一条错误消息:

错误消息是:“评估错误(替代(数据)):找不到对象'trainset'”。我已经为每个折叠分别运行函数中的代码并且它可以工作。似乎无法再创建训练集和测试集了。然而,我所做的只是改变模型。

有谁知道这里可能是什么问题?