gpt4 book ai didi

r - mgcv:如何使用 Tweedie 响应模型进行逐步回归?

转载 作者:行者123 更新时间:2023-12-04 01:16:05 26 4
gpt4 key购买 nike

有谁知道如何在 R 中使用 Tweedie 进行逐步回归?

我找到了 mgcv 包,它显然将 Tweedie 的功率参数视为另一个要估计的参数。这似乎改进了必须使用 tweedie.profile 来估计 glm 之外的能力,因此使用自动逐步函数进行回归似乎令人鼓舞。但是我一直无法弄清楚该软件包是否还提供逐步功能。包装手册是这样说的。

我在谈论平滑时迷失了方向:

There is no step.gam in package mgcv.
To facilitate fully automatic model selection the package implements two smooth modification techniques which can be used to allow smooths to be shrunk to zero as part of smoothness selection.

非常感谢您的帮助。谢谢。

最佳答案

您的问题并非针对“Tweedie”家族;它是模型选择中的一般 mgcv 特征。

mgcv 不使用 step.gam 进行模型选择。我认为您的困惑来自另一个包 gam,它将使用 step.gam 顺序添加/删除术语并报告 AIC。当您在 mgcv 中转到 ?step.gam 时,它会将您指向 ?gam.selection?step.gam 有意留在那里,以防人们搜索它。但所有详细信息都在 ?gam.selection 中提供。

mgcv 中不需要做step.gammgcv 中集成了模型估计和模型选择。对于惩罚回归/平滑样条,当平滑参数变为无穷大(非常大)时,其二阶导数被惩罚为零,留下简单的线性项。例如,如果我们指定如下模型:

y ~ s(x1, bs = 'cr') + s(x2, bs = 'cr')

虽然 s(x2) 是一个虚假的模型项,不应包含在模型中,然后 mgcv:::gam/bam 将缩小 s (x2)x2 估计后,生成如下模型:

y ~ s(x1) + x2

这意味着,当您使用 plot.gam() 检查每个模型项的估计平滑函数时,s(x1) 是一条曲线,但是 s(x2) 是一条直线。

现在这并不完全令人满意。对于完整、成功的模型选择,我们还希望删除 x2,即将 s(x2) 缩小为 0,以符号方式获得模型:

y ~ s(x1)

但这并不难实现。我们可以使用shrinkage smooth class bs = 'ts'(shrinkage thin plate regression spline,相对于普通的tp)或者bs = cs'(收缩三次回归样条,与普通的“cr”相反),并且 mgcv:::gam/bam 应该能够将 s(x2) 收缩为 0 . 这背后的数学原理是,mgcv 会将线性项(即零空间)的特征值从 0 修改为 0.1,这是一个很小但正的数,因此惩罚会影响线性学期。因此,当您执行 plot.gam() 时,您会看到 s(x2) 是 0 处的水平线。

bs = 'cs'bs = 'ts' 应该放在函数 s() 中;然而 mgcv 还允许您在 s() 中保持 bs = 'cr'bs = 'tp' 不变>,但将 select = TRUE 放在 gam()bam() 中。 select = TRUE 是一种更通用的处理方法,因为收缩平滑目前只有 csts 类,而 select = TRUE 适用于所有类型的平滑规范。它们本质上做同样的事情,将 0 个特征值增加到 0.1。

以下示例取自 ?gam.selection 下的示例。请注意 select = TRUE 如何将多个项缩减为 0,从而提供信息丰富的模型选择。

library(mgcv)
set.seed(3);n<-200
dat <- gamSim(1,n=n,scale=.15,dist="poisson") ## simulate data
dat$x4 <- runif(n, 0, 1);dat$x5 <- runif(n, 0, 1) ## spurious
b <- gam(y~s(x0)+s(x1)+s(x2)+s(x3)+s(x4)+s(x5),data=dat,
family=poisson,select=TRUE,method="REML")
summary(b)
plot.gam(b,pages=1)

shrinkage

请注意,summary.gam() 中的 p-values 也为此类选择提供了证据:

Approximate significance of smooth terms:
edf Ref.df Chi.sq p-value
s(x0) 1.7655119 9 5.264 0.0397 *
s(x1) 1.9271039 9 65.356 <2e-16 ***
s(x2) 6.1351372 9 156.204 <2e-16 ***
s(x3) 0.0002618 9 0.000 0.4088
s(x4) 0.0002766 9 0.000 1.0000
s(x5) 0.1757146 9 0.195 0.2963
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) = 0.545 Deviance explained = 51.6%
-REML = 430.78 Scale est. = 1 n = 200

关于r - mgcv:如何使用 Tweedie 响应模型进行逐步回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37351338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com