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モデルを設定するにはどうすればよいですか?