"Tweedie"ファミリーに固有の質問ではありません。モデル選択では一般的なmgcv
機能です。
mgcv
モデル選択にstep.gam
を使用していません。あなたの混乱は別のパッケージgam
から来て、step.gam
を使用して、用語を追加/削除し、AICを報告します。 ?step.gam
をmgcv
に入力すると、?gam.selection
が参照されます。人々がそれを検索する場合は、?step.gam
が意図的にそこに残されます。しかし、すべての詳細は?gam.selection
で提供されています。
をmgcv
にする必要はありません。モデル推定とモデル選択はmgcv
に統合されています。ペナルティ化された回帰/平滑化スプラインの場合、平滑化パラメータが無限大(非常に大きい)になると、その2次導関数はゼロにペナルティ化され、単純な線形項が残されます。たとえば、我々は次のようにモデルを指定した場合:
:
s(x2)
はスプリアスモデルの用語であり、モデルに含まれるべきではないながら
y ~ s(x1, bs = 'cr') + s(x2, bs = 'cr')
、そしてmgcv:::gam/bam
のようなモデルをその結果、推定した後s(x2)
x2
に縮小されます
y ~ s(x1) + x2
あなたは、各モデルの任期を推定円滑な機能を検査するplot.gam()
を使用する場合は、s(x1)
が曲線である、意味するが、s(x2)
は直線です。
これで完全に満足できるわけではありません。
y ~ s(x1)
しかし、これは達成することは難しいことではありません。完全な、成功したモデル選択のために、我々はすなわち、記述がよりモデルを取得するには、0にs(x2)
を縮小し、同様x2
をドロップします。我々はs(x2)
を0に縮めることができるように収縮スムースクラスbs = 'ts'
(収縮薄板回帰スプライン、通常のtp
)またはbs = cs'
(収縮キュービック回帰スプライン)を使用することができ、mgcv:::gam/bam
は縮めることができるはずです。この背後にある数学は、mgcv
は0から0.1までの線形項(すなわち空白)の固有値を小さな正の数に変更して、ペナルティが線形項に作用するようにするということです。その結果、あなたがplot.gam()
を行うとき、あなたはs(x2)
が機能s()
に入れることになっている0
bs = 'cs'
またはbs = 'ts'
で水平線で表示されます。 mgcv
の場合は、またはbs = 'tp'
はそのままs()
に入力しますが、select = TRUE
はまたはbam()
に入力してください。 select = TRUE
は現時点での収縮平滑度がクラスcs
とts
しか持っていないので、より一般的な治療法です。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)
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
こんにちはZheyuan。はい、とても助かりました、ありがとうございます。私は座って、このスムージングがどのように機能するのかを理解する必要があります。簡単な質問:mgcvのTweedie機能にもSelect = TRUEとMethod = RELMがありますか?もう一度ありがとう –
私は、gam = familyのTweedieを使うことができるか、Tweedie関数を使うことができます。彼らの違いはまだ分かりません。だから私は、選択と方法をTweedieでも使うことができるかどうか尋ねました。しかし、あなたが言ったことは感謝します、ありがとう。 –
ああ、それは家族に渡されました、ありがとう、たくさんありました。 –