问题标签 [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 - 使用 R 在 mgcv::gam 的外部节点内约束预测
我想使用Rgam
中包中的函数拟合三次样条曲线mgcv
。此外,我想将训练集之外的值(外部结点之外)约束为等于最近的结点值。也就是说,不应在训练数据范围之外进行模型预测。我知道我可以通过消除predict
调用中的这些点然后将它们设置为训练数据的最小值和最大值来做到这一点。但是,是否有内置方法gam
可以做到这一点(只是让它更干净一点?)
示例代码:
datetime - 如何从 DateTime 格式的 CSV 中删除时间
我会尽量准确地描述这一点。我的 CSV 格式为:
该报告每隔几天自动生成一次。我需要过滤它以删除一周以上的所有条目。有人告诉我使用以下命令:
但是,这是返回错误,我认为这是由包含时间 (T15:31:11.0007) 引起的。
我不知道如何在离开日期时删除时间。
r - 是否可以使用 ggplot2 绘制 gam 拟合的平滑分量?
我正在使用包中的模型拟合模型gam
并将mgcv
结果存储在model
其中,到目前为止,我一直在使用plot(model)
. 我最近开始使用 ggplot2 并喜欢它的输出。所以我想知道,是否可以使用 ggplot2 绘制这些图?
这是一个例子:
我对合身感兴趣s(x1, k=10)
而s(x2, k=20)
不是合身。
部分答案:
我深入挖掘plot.gam
并mgcv:::plot.mgcv.smooth
构建了自己的函数,该函数从平滑分量中提取预测效果和标准误差。它不能处理所有选项和案例,plot.gam
所以我只认为它是部分解决方案,但它对我来说效果很好。
这将返回一个带有平滑组件的“熔化”数据框,因此现在可以ggplot
与上面的示例一起使用:
如果有人知道在一般情况下允许这样做的软件包,我将不胜感激。
r - model.frame.default 中的错误:可变长度不同
在使用 mgcv 包运行 gam 模型时,我遇到了一个我无法理解的奇怪错误消息:
“model.frame.default 中的错误(公式 = 死亡 ~ pm10 + Lag(resid1, 1) + :可变长度不同(为 'Lag(resid1, 1)' 找到)”。
model1 中使用的观察次数与偏差残差的长度完全相同,因此我认为这个误差与数据大小或长度的差异无关。
我在网上找到了一个相当相关的错误消息here,但该帖子没有得到足够的答案,所以它对我的问题没有帮助。
可重现的示例和数据如下:
运行模型
获得偏差残差
为模型 1 添加一天滞后的偏差
这两种模型都产生了相同的错误消息。
r - 使用方法 gam 从 caret 包中训练错误:
我有一个gam
模型,我知道它在 中工作得很好R
,但是当我尝试“ train
”使用包的相同模型时,caret
它返回一个错误,指出输入数据列是列表。有人明白这个吗?
我正在运行的代码如下:
第一个 gam 模型工作正常,但 train 返回以下错误:
直接在公式上运行 model.frame.default 也会产生这个错误,所以这个问题严格来说不在于 train。
mydata 如下所示:
有关信息,我的 R 安装如下:
感谢您的帮助!
r - 获取 GAMM 区间
我正在使用 GAMM 并希望使用方差-协方差矩阵提取模型的区间,但这样做时遇到问题
编码:
但最后一行代码返回,
Error in intervals.lme(gammdl$lme) :
cannot get confidence intervals on var-cov components: Non-positive definite approximate variance-covariance
我不明白为什么会出现此错误消息。
我正在尝试复制 Simon Wood 在Generalized Additive Models: An Introduction with R using my data 第 316 页所做的事情。
r - 如何在 mgcv 中设置基本维度的最小值?
使用 mgcv 的惩罚样条,我想在示例数据中获得 10 /年的有效自由度 (EDF)(整个期间为 60)。
在示例数据中,由 edf 测量的时间基础维度为 56.117,即每年少于 10 个。
手动我将通过提供平滑参数来更改 edf a,如下所示
然后我将 sp 输出插入一个新模型并重新运行它。基本上我会继续改变 sp,直到我获得大约 60 的 edf。我将只改变时间的平滑参数。
我将从较低的值开始并检查 edf:
我必须增加平滑参数以将 edf 降低到 60 左右。
如何使用高效的代码实现这一最终结果?
r - 在 R 中使用包 mgcv 和 R2Bayesx 进行 gwr 拟合
我想比较在 spgwr 和 mgcv 之间产生的 GWR 配件,但我在 mgcv 的 gam 函数中遇到了错误。这是一个例子:
问题:
如何使用 gam 和 bayesx 函数拟合相同的 gwr(位置的平滑函数)
如何控制参数尽可能相似,包括最佳带宽
r - gam中的多维高斯
我一直在阅读我能找到但无法得到答案的文档和讨论,所以我希望有人能提供帮助。
我想gam
在优化算法 (EM) 的上下文中使用。在一个更简单的场景中,如果我想使用 拟合一维高斯gam
,我可以做到
但是,就我而言,有两个并发症:
- 我
y
是二维高斯;和 - 我不仅需要来自拟合的(
mu1
,sigma1
,mu2
, ),而且还需要并且是可观察量的一些非线性函数。sigma2
mu1
mu2
我想知道在这种情况下我是否仍然可以使用gam
,或者我是否必须创建自己的函数。
编辑:
准确地说,问题在于形式
其中n()
是高斯 pdf,x
并且y
是自变量,并且是自变量mu2
的(非线性)函数beta
。
r - 如何评估公式表达式中的函数 (R)
假设我想编写一个可以像普通 lm 类型函数一样使用的函数:y~x...
此外,我希望该函数返回输入变量的完整 model.matrix,这些变量可能具有平滑项作为解释变量,即输入向量的列首先由 B 样条函数评估,然后返回。
所以我的小功能是这样的:
该调用应该能够评估smth。喜欢
spline(x2,5,1)
的平滑影响在哪里x2
。我的样条函数定义如下:
如果我调用该函数model
,则它无法评估spline(x2,5,1)
,因为 data-argument 不包含相应的列。
我看了看,gam
但是这里使用了一个新功能interpret.gam
来执行此操作。没有更简单的方法吗?