あなたの質問は「Tweedie」ファミリーに固有のものではありません。これは、mgcv
モデル選択における一般的な機能です。
mgcv
step.gam
機種選定には使用しません。あなたの混乱は別のパッケージから来ていると思いgam
ますstep.gam
. に入る場合?step.gam
はmgcv
、 を指します?gam.selection
。?step.gam
人々が検索する場合に備えて、意図的にそこに残されています。ただし、すべての詳細は に記載されてい?gam.selection
ます。
step.gam
で行う必要はありませんmgcv
。モデル推定とモデル選択は に統合されていmgcv
ます。ペナルティ付き回帰/平滑化スプラインの場合、平滑化パラメータが無限大 (非常に大きい) になると、その 2 次導関数はゼロにペナルティされ、単純な線形項が残ります。たとえば、次のようなモデルを指定するとします。
y ~ s(x1, bs = 'cr') + s(x2, bs = 'cr')
whiles(x2)
は偽のモデル項であり、モデルに含めるべきではありません。その後、推定後mgcv:::gam/bam
に収縮s(x2)
し、次のようなモデルになります。x2
y ~ s(x1) + x2
これは、plot.gam()
モデル項ごとに推定された平滑化関数を調べるために を使用するs(x1)
と、曲線であるがs(x2)
直線であることを意味します。
今、これは完全に満足のいくものではありません。モデルの選択を完全に成功させるためにx2
、同様にドロップ、つまりs(x2)
0 に縮小して、表記上のモデルを取得します。
y ~ s(x1)
しかし、これを達成するのは難しくありません。収縮平滑化クラスbs = 'ts'
(通常の とは対照的に、収縮薄板回帰スプラインtp
) またはbs = cs'
(通常の 'cr' とは対照的に、収縮 3 次回帰スプライン) をmgcv:::gam/bam
使用でき、0 に収縮できるはずですs(x2)
。この背後にある数学は、これはmgcv
、線形項 (つまり、ヌル スペース) の固有値を 0 から 0.1 (小さいが正の数) に変更して、線形項にペナルティが適用されるようにすることです。その結果、 を実行すると、が 0 の位置に横線plot.gam()
が表示されます。s(x2)
bs = 'cs'
またはbs = 'ts'
関数に入れることになっていますs()
。また、 のままにすることも、そのままmgcv
にすることもできますが、bs = 'cr'
またはを入れることができます。は、より一般的な処理です。現時点では、収縮スムースにはクラスとしかありませんが、あらゆる種類のスムース仕様に対応しています。0 の固有値を 0.1 に増やすことで、本質的に同じことを行います。bs = 'tp'
s()
select = TRUE
gam()
bam()
select = TRUE
cs
ts
select = TRUE
次の例は、 の例から抜粋したもの?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)

p-values
inは、summary.gam()
そのような選択の証拠も提供することに注意してください。
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