繁体   English   中英

我在 R 中使用 model1 <- mgcv::gam( x1..xn) 使用 GAM(广义加性模型)拟合了一个方程。 我如何获得方程式格式?

[英]I have fitted an equation using GAMs (generalized additive models) in R using model1 <- mgcv::gam( x1..xn). How do i get the equation format?

library(mgcv)
model1 <- gam(x1,x2.....,xn)

我可以获得带有预测变量的部分依赖图,也可以使用预测 function 进行 model 预测。 但是我想在研究期刊上发表 model,因此我需要将方程式格式的 model 发表在论文中,以便阅读该文章的人可以使用 model 来预测某些元素,因为 R 文件无法共享与杂志。 获得 GAM model 等式的任何帮助,如 f(x1,x2..xn) = intercept+ coef1 * s(x1)+...+ coefn * s(xn)。 样条 function 的精确数学 function 是什么?

拟合非线性 model GAM 显示拟合良好,但无法为我提供方程式。

这些模型的全部要点是,我们通常没有拟合 function 的数学方程。当然,在某种程度上我们确实有一个数学方程,但它将根据平滑协变量的基础展开来写(秒)。

我们没有的是形式的方程

$$ \hat{y}_i = \alpha + \beta_1 s_1(x_{1i}) + \beta_2 s_2(x_{2i}) + \cdots $$因为那甚至不是你安装的 model - 你是不将平滑的 function ( $s_j()$ ) 乘以 model 参数$\beta_j$ 您通常适合 GAM 的是:

$$ \hat{y}_i = \alpha + \sum_{k=1}^{K_1} { \beta_{1k} b_1(x_{1i}) } + \sum_{k=1}^{K_2} { \beta_{2k} b_2(x_{2i}) } + \cdots $$

其中$b_j$是特定类型的基础 function(低秩薄板回归样条、三次回归样条、b 样条...)及其相关系数( $\beta_{jk}$ ),其中将有$ K_j$这样的基函数和系数对每平滑 function $s_j()$

您显示的伪代码( gam(x1, x2, ..., xn) )作为装有gam()的有效 GAM model 根本没有任何意义:如果应该采用以下形式

gam(y ~ s(x1) + s(x2) + ... + s(xn),
    data = foo, method = "REML", family = fam, ...)

所以甚至不清楚你装的是什么形式的GAM。

共享您的 model 的选项有:

  1. 分享原始数据和用于匹配 model 的代码,以及您使用的软件的任何特定版本信息。

  2. 通过saveRDS()将拟合的 model 序列化到磁盘作为 RDS object 加上代码来展示如何使用它来预测(这实际上不是一件简单的事情,因为因子需要具有正确的水平等,如果你有更复杂的模型)。

  3. 您可以预先计算 model 的$L_p$矩阵或线性预测矩阵。假设您有一个简单的 model,其形式为:

     m <- gam(y ~ s(x1), data = foo, ...)

    然后您将在精细网格上为x1生成新值(您可能希望使用 model 的实际和科学目的所需的精细网格,当然不会比x1的精度更精细),并创建$L_p$矩阵通过predict()方法:

     newd <- data.frame(x1 = seq(min(x1), max(x1), by = 0.1)) # for example Xp <- predict(m, newdata = newd, type = "lpmatrix")

    您还需要提取 model 系数

    betas <- coef(m)

    并通过saveRDS()将所有这些( newdXpbetas )保存到磁盘。

    然后,新用户可以将其数据中的每个值分配给newd中的一行(到newd中最接近的值),从Xp中提取相同的行,然后通过生成预测/拟合值

    fit <- Xp[want, ] %*% betas

    这将在链接尺度上产生预测值,如果需要,您可以通过应用相关链接 function 的逆函数将其转换为响应尺度。

  4. 您也可能可以使用预测 Model 标记语言 (PMML) 来做一些事情,但我不熟悉 R 中的此功能或特别是 {mgcv} GAM。

这些方法中哪一种最有效将取决于您论文的读者的预期用途,选项 1 是最广泛有用的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM