mgcv:如何获得样条方程

mgcv: How to get spline equations

可能我不是唯一一个提出以下有关 mgcv::gam 中估计方程的问题的人。

好吧,我已经在网上冲浪了,但没有得到关于我应该如何将以下输出 转化为完整方程式 的明确答案,我随后可以将其用于任何其他分析软件,尤其是 GIS 软件,以便 map/project 使用预测变量 X1 和 X2 将方程space 推到某个地理区域 space:

family = gaussian(link = "identity")

smooth class = p-spline

下面是样条函数系数的转置输出:

**Intercept** 2.121

**s(X1).1** -1.23E-07

**s(X1).2** 1.86E-07

**s(X1).3** -7.33E-08



**s(X2).1** -2.51E-08

**s(X2).2** 3.08E-07

**s(X2).3** -3.00E-08

很明显,输出意味着: Y = 2.121 + (-1.231e-07 * s(X1).1) + (1.856e-07 * s(X1).2) + (-7.331e-08 * s(X1).3)…..

如何从数学上解释 s(Xi).j?换句话说,您能否建议如何从 mgcv::gam?

中提取 p 样条的精确完整方程?

这给出了 mgcv 中 P 样条曲线的一些必要背景: 但您的问题不是重复的。很可能你已经看过这个话题。

精确的数学公式很难看,因为 B 样条构造是递归的。

另一件事是 mgcv 对平滑函数施加数值居中。这是 运行 时间的重新参数化。转换后的基础不会有漂亮的公式,即使原始基础有。

嗯,mgcv 是为 R 编写的,因此模型估计和预测预计将在 R 中处理。在我的链接答案中有方便的通用函数来执行此操作。它们不能导出到您想要的软件。

我能想到的一个可能的补救办法是,用线性插值法逼近这些基,然后导出插值函数。