问题标签 [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.

0 投票
1 回答
57 浏览

r - 在 R 的 GAM 模型中处理具有特殊(非物理)值的数值变量

我正在使用 mgcv 构建 GAM 模型,并且具有以下功能:

这个特性有一个特殊的值-1000,表示没有记录。只有 >0 的值具有物理意义。

对整个范围使用平滑样条没有意义,因为 -1000 到 >0 之间的距离没有意义。

将此变量转换为分类因子变量并使用分段常数函数有时也不是很方便,因为如果有这么多离散值,训练(测试)集很容易错过因子水平。

有什么好的方法来处理这种类型的功能吗?我不想简单地放弃它们,因为 >0 部分仍然提供一些区分能力。

0 投票
1 回答
173 浏览

r - 在 r 中交换 2 预测 GAM 的轴

对于这样一个简单的问题,我深表歉意,但在浏览该网站时还没有找到答案。我正在尝试在 R 中绘制一系列无脊椎动物捕获数据的 GAM 模型。其中一个预测变量始终是一年中日期数 (DOY) 的平滑项。这应该始终占据 x 轴的空间。y 轴应该是线性或平滑的天气变量预测器。使用 vis.gam() 函数,我可以生成一个表面等高线图,其颜色渐变表示任何 xy 对的响应的预测值。当第二个预测变量为非线性时,如:

然后该图看起来应该是(抱歉无法发布图像,但这里是绘图命令):

但是当预测器是线性的时:

轴开关:

如果您有办法将与时间相关的变量返回到 x 轴,那将非常感激。提前感谢您的帮助。

麦克风

0 投票
2 回答
1242 浏览

r - 使用插入符号和方法训练时R崩溃= gamLoess

当我运行下面的代码时,R 崩溃了。如果我在 train 调用中注释掉 tuneGrid 行,则不会发生崩溃。我已经用另一个数据集尝试过这个,但仍然崩溃 R。崩溃消息是 R 会话中止 R 遇到致命错误会话被终止启动新会话。

代码是:

这发生在使用 R Studio 的 R3.2.1 和 3.2.2 中。

在 R gui 中,也会崩溃。

0 投票
0 回答
488 浏览

r - 使用 mgcv gam 模型进行条件 Logisitc 回归分析

我正在通过 mgcv 包运行 GAM 模型,family = cox.ph()并将我的数据按地层(strata = id)分组。数据对应于单个动物的一个使用位置和与该个体相关的可供使用的 20 个随机位置。

该模型运行顺利,但我不确定如何绘制与 x 变量的关系。DWL是一个连续变量。我使用以下图表来绘制预测:

trans我对在绘图语法中使用参数感到有点困惑。使用cox.ph()您的家庭 agument,logit-link评估您对 x 变量的预测 y 响应的正确方法是DWL什么?

谢谢,

P法雷尔

0 投票
1 回答
355 浏览

r - 使用 R 3.2.2 从 mgcv 包运行 GAM 函数

我最近遇到了从以前工作的代码运行 GAM 模型的问题。我相信它与更新的 R 版本和 mgcv 包的更新版本有关。所以很高兴知道是否有人有同样的问题或有解决方案。

我目前正在运行:R 版本 3.2.2 (2015-08-14) -- Windows 上的“消防安全”。我正在使用 mgcv 包 1.8-7。

下面是在我的计算机上运行时重新生成错误消息的示例代码。

这是mgcv 1.8-7。

这行得通。

给出以下错误消息:

.C(C_gdi1, X = as.double(x[good, ]), E = as.double(Sr), Eb = as.double(Eb), 中的错误:参数数量不正确 (48),预期为 47 'gdi1'

谢谢你的帮助!

0 投票
1 回答
3569 浏览

r - stat_smooth gam 与 gam {mgcv} 不同

我在 ggplot2 中使用 stat_smooth 函数,决定我想要“拟合优度”,并为此使用了 mgvc gam。我突然想到我应该检查以确保它们是相同的模型(stat_smooth vs mgvc gam),所以我使用下面的代码进行检查。看起来,它们有不同的结果,如图所示(Plot: stat_smoother gam (red), mgcv gam (black))。但是,我不知道为什么他们有不同的结果。两者之间的某些默认参数是否不同?是 gam 在数字 x 上运行,而 stat_smooth 是在 POSIXct x 上运行(如果是这样 - 我不知道该怎么做)?看起来 stat_smooth 更平滑,但是 k 值是一样的......

我认为有几篇关于如何在 ggplot2 中绘制 gam 输出的帖子,但我真的很想知道为什么 stat_smooth 和 mgcv 首先给出不同的结果。我对 GAM(和 R)很陌生,所以我很可能错过了一些简单的东西。但是,我在询问之前做了谷歌并搜索了这个论坛。

我的数据有点大,很容易共享,所以我使用了一个示例数据集——我已经将源代码放在了代码中,以及dput()所有内容的下方,然后是我sessionInfo()的。

我试图提出一个质量问题,但这只是我的第二个问题。曾经。所以,建设性的批评是值得赞赏的。

谢谢!

部分解决方案

我仍然不知道为什么这两种方法会给出不同的答案,这让我很困扰。但是,经过大量互联网搜索,我确实找到了以下解决方法:

现在至少我知道我可以从一些 mgcv 函数中获得的摘要和数据符合质量信息与我的图相匹配。

0 投票
1 回答
151 浏览

r - 如何防止 R 尝试加载 mgcv

我需要在 R 中运行 2 个不同的脚本而不重新启动会话。在第一个我使用包mgcv,在第二个我需要gam。我写了一个脚本,它分离和删除包mgcv并安装和加载gam。但是在我想运行 gam() 函数之后,我收到一个错误,告诉我mgcv找不到。我将其解释为 R 正在寻找mgcv用于安装它的软件包...

这是一个MWE:

返回错误:

有什么想法而不是重新启动会话?

编辑:

不幸的是,Floo0 使用 package::function 建议的解决方案不是一个选项。

0 投票
0 回答
104 浏览

r - 地毯虫?绘图时地毯的错误位置(库 mgcv 中的 plot.gam)通过变量平滑因子

我在 plot.gam 函数中观察到关于地毯位置的行为,这对我来说似乎很奇怪:当用变量绘制一个平滑项时,据我所知,地毯不是它们应该在的位置。我使用 R 版本 3.2.0 和 mgcv 1.8-6。那么我是不是弄错了,plot.gam 的行为方式应该如此,我只是不明白它在做什么?或者 plot.gam 中是否有错误?

感谢您花时间看一看!

这是一个示例(我期望它们出现的地毯将绘制为红色):

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.