问题标签 [gam]
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 - 是否可以在 mgcv gam 模型中包含两个平滑项的乘积
我在使用 gam 为时间序列数据建模季节性方面取得了巨大成功。我的最新模型清楚地显示了除季节性变化外的每周模式。虽然一周模式本身在一年中非常稳定,但其幅度也随季节而变化。所以理想情况下,我想将我的数据建模为:
其中f
,g
和h
是循环平滑函数mgcv
不幸的是,这不起作用并抛出错误NA/NaN argument
。我尝试使用te(day_in_year, day_in_week, k=c(52, 5), bs='cc')
which 有效,但引入了太多的自由度,因为该模型过拟合了在可用年份较短的特定工作日内的假期。
是否可以按照我尝试的方式指定模型?
r - 在格子中绘制 gam 模型结果
我正在使用包装中的模型拟合gam
模型mgcv
。我将结果存储在model
其中,到目前为止,我一直在使用plot(model)
. 我最近开始使用lattice
并喜欢它的输出。所以我想知道,是否可以使用 绘制这些图表lattice
?
这是我的数据集:https ://gist.github.com/plxsas/fcef4a228c18c772b4f3
我怎样才能在lattice
包中绘制这个模型,三个面板代表我的三个站点更平滑,拜托?
您可能还注意到我使用了dayinyear
正确的月份格式而不是正确的月份格式(数据中的第一列)。这是因为广义加性模型不处理分类变量。但是,我想用月份的名称表示图表中的时间(如第一列),有谁知道lattice
情节中的前进方向吗?
r - 如何将 gam() 合并到 Lattice 包中的 xyplot() 中?
我正在尝试将通用附加模型gam()
从mgcv
包合并到R中的xyplot()
函数或coplot()
函数。lattice
通过选择臭氧数据,可以在http://statweb.stanford.edu/~tibs/ElemStatLearn/中找到数据。
这是我的内核平滑代码。
或者
广义加性模型生成如下。
现在我在将拟合组合gam()
到格子图中时遇到了麻烦。
r - R如何从情节中提取值
我有一个 data.frame(x) 并且我正在做 GAM 分析。
生成的图具有函数 s 及其 SE。我想将每个变量的 s 值及其 SE 保存在 data.frame 中。
我p = plot(g, se=T) and str(p)
可以看到值 S(x) 和 SE 但我不知道如何访问它们..
如何访问图中每个变量的 SE 值和 y 值?
r - 如何使用 mgcv::gam 进行插值和“预测”?
我从掌握如何使用样条线插入一维函数开始。
然后我可以使用
预测点 0 的函数值。
然后我在互联网上搜索了一些可以对 3 维数据进行样条分析的东西,我在 stackoverflow 上找到了一个答案,表明mgcv::gam是最好的选择。
所以我尝试了:
然后我做了:
希望它将返回点(0,0,0)的样条插值值。它计算了一段时间,返回了很多我看不懂的多维数据。
我一定做错了什么。我该怎么做才能从 gam 对象接收单个点的值?而且,可以肯定的是,您是否同意/不同意 gam 是为 3D 数据插入样条曲线的正确选择,还是您会提出其他建议?
我正在添加一个可重现的示例。
这是一个数据文件(请在 c:/r/ 中解压)https://www.sendspace.com/file/b4mazl
最小的可重现示例:
对于预测(bdg, newdata=data.frame(0,0,0,0), type="response")
它返回很多数字任何警告newdata没有足够的数据
为了
它什么也不返回,也同样发出警告。
r - 如何回收 mgcv 使用的内存?
我遇到了一个问题,即在使用 R 包 mgcv 运行大量 GAM 时内存不足。我加载库并使用以下脚本初始化一些随机数据。
这给
接下来我适合十个 GAM 并检查内存使用情况
结果是
请注意,我只创建了一个对象(适合),但内存使用量是该对象大小的三倍。最终,当我安装更多模型时,R 完全耗尽了内存。我一直在做的是保存到磁盘
然后开始一个新会话并重新加载
瞧!记忆回来了
有什么方法可以在不需要保存到磁盘、启动新会话然后从磁盘加载的情况下重新声明内存?
r - 使用 for loop 或 lapply 运行多个 GAMM 模型
有人可以帮我在 for 循环或 lapply 中运行多个 GAMM 模型吗:我在一个按列排列的大型数据框中有一组 10 个响应和 20 个预测变量。
我想为每个预测响应组合应用 GAMM 模型,并在表格中总结它们的系数和显着性检验。
模型<-gamm(AnimalCount ~ s(温度), data=dat,family=poisson(link=log) , random=list(Province=~1))
r - 准泊松 GLM 的阶跃函数
我正在尝试使用 step 函数拟合准泊松 GLM 和 GAM 来执行向后选择。我使用了以下代码,但 R 返回了一个错误,因为它无法计算 AIC。使用泊松分布的相同模型有效,但不是准泊松,有没有办法改变函数使其有效?
r - 使用 R 的多重回归预测负预测
我在使用 R 中的多重回归GAM预测预测时遇到问题。目标是使用各种自变量和虚拟变量来预测因变量的预测,我有大约 2 年以上的数据,我在测试和训练数据之间进行拆分. 但是在预测因变量时,它预测为负,这是错误的。作为输入给出的数据,因变量和自变量都没有负值。因变量(被预测)通常是一个很小的值,主要在 0 到 25 之间。其中,作为因子使用的自变量中很少有低至 0-20 的,很少有以百万计的。
有人可以帮我吗?问题是什么?如何纠正?提前致谢。
@Oliver - 我一直在使用的代码:
r - 使用 mgcv 对预测误差进行 k 折交叉验证
我想使用五重交叉验证来评估 GAM 在预测新数据方面的性能。模型训练基于 80% 数据的随机子集和剩余 20% 的测试集。我可以计算训练数据和测试数据之间的均方预测误差,但不确定如何在 k-folds 中实现这一点。我有以下代码用于训练和测试数据集以及计算 MSPE。我没有包含样本数据,但可以这样做。