问题标签 [mgcv]

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 投票
1 回答
1962 浏览

r - 如何在 R 中使用带有 gam 的样条曲线拟合所有变量而不键入每个变量?

假设我有一个带有yand x1, x2,xp变量的数据集。我想用样条曲线拟合我的所有预测变量。

例如 :

在不输入每个变量的情况下如何做到这一点?如果我想在不使用样条的情况下安装没有前两个的模块。我怎样才能做到这一点?

0 投票
2 回答
987 浏览

r - R: GAM with fit on subset of data

I fit a Generalized Additive Model using gam from the mgcv package. I have a data table containing my dependent variable Y, an independent variable X, other independent variables Oth and a two-level factor Fac. I would like to fit the following model

Y ~ s(X) + Oth

BUT with the additional constraint that the s(X) term is fit only on one of the two levels of the factor, say Fac==1. The other terms Oth should be fit with the whole data.

I tried exploring s(X,by=Fac) but this biases the fit for Oth. In other words, I would like to express the belief that X relates to Y only if Fac==1, otherwise it does not make sense to model X.

0 投票
1 回答
387 浏览

r - R:具有多个负二项式 thetas 的 GAM

gam我使用mgcv包中的负二项式系列拟合广义加法模型。我有一个数据框,其中包含我的因变量Y、自变量X、其他自变量Oth和一个因子Fac。我想适合以下模型

Y ~ s(X) + Oth

theta每个因素水平不同。换句话说,我使用

fit <- gam(Y~s(X)+Oth, family=nb())

但这仅给了我theta整个数据集的一个分散参数。相反,我相信各因子的均值是相同的,因此s(X)和只需要一组系数Oth,但方差会随因子而变化,因此我希望theta每个 的水平有一个离散估计Fac

自然地,每个因子级别拟合一个模型是行不通的,因为我会为每个因子级别的自变量获取一组系数,而不是为整个数据集获取一组系数。

0 投票
0 回答
77 浏览

r - RStudio 中的 GLM 和 GAM 建模

我对 rstudio 中的 GAM 和 GLM 建模有疑问。查看结果,每个第一个因素都保持截距,我该如何阻止它,这样我才能看到所有因素的影响?谢谢戴夫

0 投票
1 回答
137 浏览

r - 在 predict.gam (mgcv) 中使用“micv”平滑函数时出错

在使用包预测 GAM 模型时mgcv,使用micv平滑函数(来自scam包)为协变量之一构建,我收到以下错误:

代码:

我也尝试了以下方法:

所有变量都是数字

0 投票
0 回答
367 浏览

r - gamm4 中的张量平滑

我正在尝试扩展一个类似于 Gavin Simpson 在这里描述的模型,以包括随机效应。 https://stats.stackexchange.com/questions/32730/how-to-include-an-interaction-term-in-gam

whereloc被一个 4 级因子代替。固定效应是两个分类变量(A 和 B)和两个连续变量(C1 和 C2),具有所有成对的交互作用。响应为 1 和 0。

例如

试图运行它我得到了错误
Error in X %*% diag(diagU[indi]) : non-conformable arguments

从潜伏在代码中gamm4()gamm()它似乎与惩罚随机效应的每个级别内的平滑有关?

我目前正在运行模型,其中包含 4 个个体(最终可能有 40 个左右),并且最终也应该在几年内嵌套个体。

可能是我的问题是针对特定情况的(阅读:我代表我的数据过于雄心勃勃),但gamm4()在某些问题上阅读仍然是“建设阶段”让我想知道我是否代表雄心勃勃gamm4()?

或者我可能只是完全错了,并且在一些死胡同中远足......

0 投票
0 回答
358 浏览

statistics - 使用 mgcv 和 lmer 进行随机效应建模。基本上相同的拟合但非常不同的可能性和 DF。哪个用于测试?

我知道随机效应和平滑曲线估计之间存在对偶性。在此链接中,Simon Wood 描述了如何使用 mgcv 指定随机效应。特别值得注意的是以下段落:

例如,如果 g 是一个因子,则 s(g,bs="re") 为 g 的每个级别生成一个随机系数,所有随机系数都建模为 iid normal。

经过快速模拟,我可以看到这是正确的,并且模型拟合几乎相同。然而,可能性和自由度是非常不同的。谁能解释其中的区别?应该使用哪一种进行测试?

完全披露:我遇到这个问题是因为我想拟合一个还包括随机效应(重复测量)的 GAM,但需要知道我是否可以信任这些模型下的基于可能性的测试。

0 投票
0 回答
200 浏览

r - Bam 无法制作稀疏矩阵?

我正在尝试制作一个二项式 GAM。630 万行数据(因此是bam)。我有两个随机效应(40 和 7 个级别)s(...,"re"),使用 3 个分类变量(5 + 5 + 4 个级别)和一个循环平滑(s(Hour, by = GroupAB, bs = "cc"))。GroupAB 有 25 个级别,是前面提到的两个变量之间的串联,我在平滑之外包括了这些变量之间的额外交互。类似的东西(y~s(..,"re") + s(..,"re") + s(Hour, by = GroupAB, "cc") + A * B + C, family ="binomial")

当我运行模型时,我收到以下错误消息:

我已经追踪到 bam 试图制作稀疏矩阵(sparse.matrix.model()https://github.com/cran/mgcv/blob/master/R/bam.r中)。看到它使用了 的chunk.size=参数bam(),我开始玩弄它。在将块大小从 10k 增加到 75K 后,我让模型运行并给出了合理的结果。

但为什么首先会出现错误?是否有避免此错误消息的技巧?还是和数据有关?

0 投票
1 回答
441 浏览

r - R:用于具有交互变量的游戏的 visreg

嗨,我目前正在使用 gam 模型估计幸福和年龄。我的回归命令是

我想可视化交互式变量“s(age):nochild”的估计效果visreg。我正在努力这样做,因为在使用时只出现了对年龄和 nochild 的估计

我希望图表看起来像这样

  • Y轴:s(年龄):nochild

  • X轴:年龄

但是,我不确定如何执行此操作,visreg或者是否有任何其他命令可以帮助执行此操作?

非常感谢你提前

0 投票
1 回答
1437 浏览

r - R:mgcv 中的变系数 GAMM 模型 - 提取“按”变量系数?

我正在使用 R 中的“mgcv”和连续的“by”变量创建一个可变系数 GAMM,方法是使用该by设置。但是,我很难找到“by”变量影响的参数估计值。在这个例子中,我们确定了温度对单个鸡蛋的空间依赖性影响t(即温度对单个鸡蛋的线性影响如何随空间变化):

然后,我们可以绘制s(la,lo, by = t)针对预测变量的预测效果t

但是,我找不到t每个采样位置的“按”变量的参数估计值的列表/函数。summary(), coef(), 并且predict()不给你参数估计。

任何帮助,将不胜感激!