mgcv GAMモデルで平滑化を調整する方法


14

mgcv:gamモデルで平滑化パラメーターを制御する方法を見つけようとしています。

主に固定グリッド上のxおよびy座標の関数としてモデル化しようとしている二項変数に加えて、より小さな影響を持つ他のいくつかの変数があります。過去に、パッケージlocfitと(x、y)値のみを使用して、かなり良いローカル回帰モデルを構築しました。

ただし、他の変数をモデルに組み込んでみて、一般化された加算モデル(GAM)が良い可能性であるように見えました。両方ともGAM機能を持つパッケージgamとmgcvを調べた後、後者を選択しました。メーリングリストスレッドの多くのコメントが推奨しているようです。欠点の1つは、lessやlocfitのようなローカル回帰スムーザーをサポートしていないように見えることです。

はじめに、ちょうど(x、y)座標を使用して、おおよそlocfitモデルを複製しようとしただけです。通常の平滑化とテンソル積平滑化の両方を試しました。

my.gam.te <- gam(z ~ te(x, y), family=binomial(logit), data=my.data, scale = -1)

my.gam.s  <- gam(z ~  s(x, y), family=binomial(logit), data=my.data, scale = -1)

ただし、モデルからの予測をプロットすると、locfitモデルに比べてはるかに滑らかになります。だから、私はモデルをあまり滑らかにしないように調整しようとしています。パラメーターspおよびkを調整しようとしましたが、それらがスムージングにどのように影響するかは明確ではありません。locfitでは、nnパラメーターは使用される近傍のスパンを制御します。値を小さくすると、平滑化が少なくなり、「ウィグリング」が増えます。これにより、二項の結果の確率が急速に変化するグリッド上の一部の領域をキャプチャできます。同様に動作するように、gamモデルを設定するにはどうすればよいですか?

回答:


22

k引数には、効果的に各用語についての平滑化行列の次元を設定します。gam()は、GCVまたはUBREスコアを使用して最適な量の平滑度を選択していますが、平滑化マトリックスの次元内でのみ機能します。デフォルトでte()k = 5^2、2Dサーフェスのスムースがあります。私はそれが何であるか忘れているs()ので、文書を確認してください。mgcvの作成者であるSimon Woodからの現在のアドバイスは、モデルによって選択された平滑度が、に使用される値によって課される次元の限界に近いか、それに近い場合、モデルをk増やしkて再適合させ、より複雑なモデルは、高次元の平滑化マトリックスから選択されます。

ただし、locfitの仕組みはわかりませんが、複雑なサーフェス(GCVとUBRE、または(RE)MLを使用することを選択した場合は、それらをフィットさせないようにする必要があります。 set scale = -1]、まさにそれを行おうとしています)、それはデータによってサポートされていません。言い換えれば、データの非常に局所的な特徴に適合させることができますが、収集したデータのサンプルにノイズを適合させていますか、それとも確率分布の平均に適合させていますか?基礎次元(上記)を整理したと仮定して、データから推定できるものについて何かを伝えるgam() かもしれません。

もう1つ注目すべき点は、現在使用しているスムーザーは、選択したスムースネスがスムースの範囲全体に適用されるという意味でグローバルです。適応型スムーザーは、応答が急速に変化しているデータの部分に割り当てられた滑らかさ「許容量」を費やすことができます。gam()適応スムーザーを使用する機能があります。

?smooth.termsおよび?adaptive.smoothを使用して適合できるものを参照してくださいgam()te()これらのすべてではないにしても、ほとんどのスムーザーを組み合わせることができます(テンソル製品に含めることができない、またはできないドキュメントを確認してください)。適応スムーザーベースを使用して、データの部分でより細かいローカルスケールをキャプチャしようとすることができます応答は急速に変化しています。

さらに、Rを取得fx = TRUEしてs()、and の引数を使用して、滑らかな項で使用される固定された自由度のセットを持つモデルを推定できることを追加する必要がありte()ます。基本的に、あなたが望むものをすることでkを設定し、fx = TRUEそしてgam()ちょうど自由の固定度の回帰スプラインないペナルティ回帰スプラインに適合します。


このような詳細な回答をありがとう、Gavin。私は適応型スムーザーを完全に見逃しました。オーバーフィッティングの懸念は理解していますが、これまでにgamで行ったことは、ドメインの専門知識を通じてそこにあることがわかっているデータの特徴を示していませんでした。
大佐triq
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.