解释 GAM 系数

机器算法验证 r 回归系数 广义加法模型
2022-04-02 15:53:23

我可以使用一些建议来解释 GAM(广义加法模型)系数。

当我调用coef我的模型时,我得到以下结果:

(Intercept)     s(TM).1     s(TM).2     s(TM).3
   817.9501    383.7981   2358.5184   -545.4162

这是否意味着:

y = 817.9501 + 383.7981*TM + 2358.5184*TM^2 - 545.4162*TM^3
2个回答

一点也不。一方面,GAM 需要一个链接函数,也需要平滑器,分别是,在一般定义中:gf

E(y)=g1(α+f1(x1)+f2(x2)++fn(xn))

出于这个原因,您不能遵循与简单线性回归完全相同的通常边际贡献解释;链接函数和平滑项妨碍了。

GAM 的一种常用方法是绘制部分效果并在视觉上这篇文章对 GAM 有一个非常好的介绍,最后对解释进行了简短的讨论。yx

从您的 R 语法来看,您似乎正在拟合一个回归模型,该模型假定预测变量 TM 对响应(或结果)变量 Rev 具有潜在的非线性影响。(如果您有理由相信该影响是线性的,您会使用 lm() 函数而不是 gam() 函数。)

我假设您尝试拟合 gam 模型的原因是因为您针对 TM 绘制了 Rev 并注意到该图中存在某种非线性。(Rev 应该是一个连续变量。)

当为您的数据调用 gam() 函数时,它实际上会尝试将以下模型拟合到数据中:

Rev = intercept + f(TM) + error

其中 f() 是一个未知的潜在线性函数,其形状必须从数据中识别出来,error 是一个随机误差项,假设来自均值为 0 和未知标准偏差 sigma 的正态分布。

为了估计函数 f(),gam 将通过已知基函数的线性组合来逼近 f(),并估计这些函数在该组合中将接收到的未知权重。

您在输出中看到的是 gam 确定三个这样的基函数足以恢复 f() 的基本形状:s(TM).1、s(TM).2 和 s(TM).3。(所有这些都是依赖于 TM 的已知函数。)

R 估计了在近似 f() 的线性组合中应该赋予这些函数中的每一个的权重。因此函数 f() 可以估计如下:

Estimated value of f(TM) ~ 383.7981*s(TM).1 + 2358.5184*s(TM).2 - 545.4162*s(TM).3

这意味着 Rev 的预期/平均值可以估计为:

Expected Rev = 817.9501 + 383.7981*s(TM).1 + 2358.5184*s(TM).2 - 545.4162*s(TM).3

在这种情况下,您不会想解释 s(TM).1、s(TM).2 和 s(TM).3 对 Rev 预期值的影响。相反,您只想看看如何这三个基函数通过估计的权重组合在一起,产生一个可能的非线性函数,表示 TM 对 Rev 的非线性影响。这就是为什么简单地绘制 383.7981*s(TM).1 + 2358.5184*s(TM) 很重要的原因.2 - 545.4162*s(TM).3 针对 TM 并定性地解释该图的形状。例如,该图是否显示 Rev 的期望值上升到一个点然后趋于平稳?

此链接将为您提供有关 gam 模型及其引擎盖下的功能的更详细说明:http: //environmentalcomputing.net/intro-to-gams/它还将为您提供有关如何绘制您尝试估计的可能非线性效应 f() 的线索。