问题标签 [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.
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 中基于mgcv
orbamlss
或的解决方案gamlss
。非常感谢!
r - 为什么 gamlss 对前高斯分布参数的估计不正确?
从gamlss.dist页面exGAUSS
:
心理学家经常使用前高斯分布来模拟响应时间 (RT)。它是通过添加两个随机变量来定义的,一个来自正态分布,另一个来自指数。参数
mu
和sigma
是正态分布变量的均值和标准差,而参数nu
是指数变量的均值。
以下是我们应该如何估计参数:
不幸的是,估计值相差甚远:
从 CRAN 中消失的包 retimes仍然可以从
有一个功能mexgauss
:
给出:
哪个更近。
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)')
gamlss - 怎么做才能让所有变量都出现在 gamlssNP 输出中?
公式中的最后三个变量不会出现在输出中。我该怎么做才能让它们也出现?
gamlss - 如何在 GAMLSS 中使用 gamlss.cens?
我想得到一个LO
在零点处被审查的分布。但我找不到任何关于此的参考。在gamlss.cens
包中,只有三个选项(left
、right
、interval
)。
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 函数?
非常感谢您的任何建议或帮助!
cross-validation - R中的gamlssCV函数可以产生AIC结果吗?
这是 R 中的一个普遍问题。我们如何使用 gamlssCV(或类似的 gamlss 函数)与 gamlss 进行交叉验证,并且选择标准是 AIC?任何建议都将不胜感激!提前致谢!
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
吗?
save - 将 gamlss 模型保存为 RDS 格式
我正在拟合 Rgamlss
模型:
这就是我得到的:
我想以格式保存这个gamlss.fit
模型以备后用。RDS
该saveRDS
功能工作正常。
但是,如果我终止当前R
会话,打开一个新会话并读取RDS
保存的gamlss.fit
模型,我会得到:
所以我不能真正将这个对象用于下游的任何事情。
我认为tidypredict
'sparse_model
函数可能会派上用场,但它似乎不支持解析gamlss
模型:
这saveRDS
是特定于gamlss
因为如果我适合glm
模型:
这使:
RDS
从保存的文件中读取后,我会得到相同的结果:
顺便说一句,tidypredict
'sparse_model
既不支持解析glm
模型:
任何想法是否以及如何在gamlss
不使用该函数的情况下保存模型,这里save
讨论了它的缺点
r - 尝试对 gamlss 模型进行交叉验证时出错
我正在尝试对我用 gamlss 包估计的模型执行 5 折交叉验证。当我使用相同的代码并估计另一个模型(例如 OLS)时,我没有问题。但是,当我将模型更改为 gamlss 时,我收到一条错误消息。
这是一个说明性示例:
当我运行这段代码时,一切正常,我得到一个列表,其中包含我对每个折叠的性能度量:
但是,当我运行此代码并将模型类型更改为 gamlss 时,我收到一条错误消息:
错误消息是:“评估错误(替代(数据)):找不到对象'trainset'”。我已经为每个折叠分别运行函数中的代码并且它可以工作。似乎无法再创建训练集和测试集了。然而,我所做的只是改变模型。
有谁知道这里可能是什么问题?