我可以使用一些建议来解释 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
我可以使用一些建议来解释 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
从您的 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() 的线索。