GAMパラメータのタイプを選択する方法


9

私はRでGAMの使用を開始し、このトピックに関する優れた本「一般化された加法モデル、Rの概要」)を入手しました。彼の例の1つに基づいて、私は以下を調べています。

library(mgcv)
data(trees)
ct1<-gam(log(Volume) ~ Height + s(Girth), data=trees)

この例には2つの一般的な質問があります。

  1. モデル推定の変数がいつパラメトリック(高さなど)である必要があるのか​​、またはそれがスムーズである必要があるのか​​(ガースなど)をどのように決定しますか?一方が他方よりも有利であり、変数の最適な型が何かを決定する方法はありますか?このトピックについて誰かが文学を持っているなら、私はそれを知って幸せです。

  2. 私はの重みを詳しく見てみたいと言いますct1ct1$coefficients。それらを- gamプロシージャの出力として使用できますか、それとも、適切であるという前提で、分析する前に変換する必要がありlog(Volume)ますか?後者の場合、私は使用する必要があると思いますexp (ct1$coefficients)


2
科学理論から特定のパラメトリック関係を期待する場合は、それをモデルとして使用し、それ以外の場合はノンパラメトリックモデルを使用します。mgcvはより滑らかに線形または一定の関係にまで縮小できることに注意してください。
Roland

1
いいえ、係数をべき乗しません。log(y)= a + bx-> y = exp(a)* exp(x)^ b
Roland

回答:


9

サイモンが本を書いた後、彼と彼の生徒たちはこの数年間だけ理論の一部を作成したので、これはサイモンの本の第2版(数日で出るはず)でよりよく説明されていると思います。

Marra&Wood(2011)が示したのは、スムーズな項を含むモデルで選択を行う場合、1つの非常に優れたアプローチは、すべてのスムーズな項にペナルティを追加することです。この追加のペナルティは、その用語のスムースネスペナルティと連動して、用語のウィグリネスと用語がモデルに存在するかどうかの両方を制御します。

したがって、共変量に対して滑らかまたは線形/パラメトリック形式/効果のいずれかを仮定する適切な理論がない限り、すべてのモデル(基底関数の線形結合の加法的組み合わせで表現可能)を選択することで問題を解決できます。各共変量を平滑化し、切片のみを含むモデルに戻します。

例えば:

library(mgcv)
data(trees)
ct1 <- gam(log(Volume) ~ s(Height) + s(Girth), data=trees, method = "REML", select = TRUE)

> summary(ct1)

Family: gaussian 
Link function: identity 

Formula:
log(Volume) ~ s(Height) + s(Girth)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.27273    0.01492   219.3   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Approximate significance of smooth terms:
            edf Ref.df      F  p-value    
s(Height) 0.967      9  3.249 3.51e-06 ***
s(Girth)  2.725      9 75.470  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

R-sq.(adj) =  0.975   Deviance explained = 97.8%
-REML = -23.681  Scale est. = 0.0069012  n = 31

出力(特に「パラメトリック係数」のセクション)を見ると、両方の項が非常に重要であることがわかります。ただし、の平滑化の有効自由度の値に注意してくださいHeight。〜1です。これらのテストが行​​っていることは、Wood(2013)で説明されています。

これはHeight、モデルを線形パラメトリック項として入力する必要があることを示唆しています。これは、近似されたスムーズをプロットすることで評価できます。

> plot(ct1, select = 1, shade = TRUE, scale = 0, seWithMean = TRUE)

それは与える:

高さの滑らかなフィット

これは、選択した効果の形Heightが線形であることを明確に示しています。

ただし、これを事前に知らなかった場合(そして、それ以外の場合は質問をしなかったので、知らなかった場合)は、の線形項のみを使用してモデルをこれらのデータに再適合できませんHeight。それはあなたに将来の推論に関する実際の問題を引き起こすでしょう。の出力は、summary()この選択を行ったという事実を説明しています。の線形パラメトリック効果を使用してモデルを再フィットする場合Height、出力はこれを認識せず、過度に楽観的なp値を取得します。

質問2に関しては、コメントで既に述べたように、いいえ、このモデルの係数をべき乗しないでください。また、これらのコンポーネントの内容は必ずしも期待したものとは限らないため、適合モデルを掘り下げないでください。代わりに抽出関数を使用してください。この場合coef()

この本の後半でSimonがGLMとGAMに到達すると、彼がGamma GLMを介してこれらのデータをモデル化するのがわかります。

ct1 <- gam(Volume ~ Height + s(Girth), data=trees, method = "REML",
           family = Gamma(link = "log"))

このモデルでは、線形予測子のスケール(対数スケール)でフィッティングが行われているため、係数を累乗して部分的な効果を得ることができますが、を使用predict(ct1, ...., type = "response")してフィッティングされた値/予測を取得する方がよいでしょう。応答のスケール(m ^ 3)。


Marra、G.とWood、SN一般化された加法モデルのための実用的な変数の選択。計算。統計 データ分析。55、2372–2387(2011)。

Wood、SN拡張された一般化加法モデルの滑らかな成分のp値。Biometrika 100、221–228(2013)。


「高さの線形項のみを使用してこれらのデータにモデルを再適合させることはできません」と言う場合、これは推論の問題に関連しています。主に予測に関心がある場合はどうなりますか?その場合、計算上の理由から線形項を使用することは理にかなっていますか?
TAS

1
@TASはい、予測のみに関心がある場合は、単純に線形モデルとして再フィットできます。追加のペナルティを追加した場合、線形項がGAMでペナルティ/シュリンクされているため、技術的にモデルは線形モデルと同じにはなりません。
ギャビンシンプソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.