问题标签 [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.
r - 如何在 R 中使用带有 gam 的样条曲线拟合所有变量而不键入每个变量?
假设我有一个带有y
and x1
, x2
,xp
变量的数据集。我想用样条曲线拟合我的所有预测变量。
例如 :
在不输入每个变量的情况下如何做到这一点?如果我想在不使用样条的情况下安装没有前两个的模块。我怎样才能做到这一点?
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
.
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
。
自然地,每个因子级别拟合一个模型是行不通的,因为我会为每个因子级别的自变量获取一组系数,而不是为整个数据集获取一组系数。
r - RStudio 中的 GLM 和 GAM 建模
我对 rstudio 中的 GAM 和 GLM 建模有疑问。查看结果,每个第一个因素都保持截距,我该如何阻止它,这样我才能看到所有因素的影响?谢谢戴夫
r - 在 predict.gam (mgcv) 中使用“micv”平滑函数时出错
在使用包预测 GAM 模型时mgcv
,使用micv
平滑函数(来自scam
包)为协变量之一构建,我收到以下错误:
代码:
我也尝试了以下方法:
所有变量都是数字
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()
?
或者我可能只是完全错了,并且在一些死胡同中远足......
statistics - 使用 mgcv 和 lmer 进行随机效应建模。基本上相同的拟合但非常不同的可能性和 DF。哪个用于测试?
我知道随机效应和平滑曲线估计之间存在对偶性。在此链接中,Simon Wood 描述了如何使用 mgcv 指定随机效应。特别值得注意的是以下段落:
例如,如果 g 是一个因子,则 s(g,bs="re") 为 g 的每个级别生成一个随机系数,所有随机系数都建模为 iid normal。
经过快速模拟,我可以看到这是正确的,并且模型拟合几乎相同。然而,可能性和自由度是非常不同的。谁能解释其中的区别?应该使用哪一种进行测试?
完全披露:我遇到这个问题是因为我想拟合一个还包括随机效应(重复测量)的 GAM,但需要知道我是否可以信任这些模型下的基于可能性的测试。
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 后,我让模型运行并给出了合理的结果。
但为什么首先会出现错误?是否有避免此错误消息的技巧?还是和数据有关?
r - R:用于具有交互变量的游戏的 visreg
嗨,我目前正在使用 gam 模型估计幸福和年龄。我的回归命令是
我想可视化交互式变量“s(age):nochild”的估计效果visreg
。我正在努力这样做,因为在使用时只出现了对年龄和 nochild 的估计
我希望图表看起来像这样
Y轴:s(年龄):nochild
X轴:年龄
但是,我不确定如何执行此操作,visreg
或者是否有任何其他命令可以帮助执行此操作?
非常感谢你提前
r - R:mgcv 中的变系数 GAMM 模型 - 提取“按”变量系数?
我正在使用 R 中的“mgcv”和连续的“by”变量创建一个可变系数 GAMM,方法是使用该by
设置。但是,我很难找到“by”变量影响的参数估计值。在这个例子中,我们确定了温度对单个鸡蛋的空间依赖性影响t
(即温度对单个鸡蛋的线性影响如何随空间变化):
然后,我们可以绘制s(la,lo, by = t)
针对预测变量的预测效果t
:
但是,我找不到t
每个采样位置的“按”变量的参数估计值的列表/函数。summary()
, coef()
, 并且predict()
不给你参数估计。
任何帮助,将不胜感激!