0

R で Earth パッケージを使用して MARS モデルに取り組んでいます。モデル内のすべての変数を強制したいと考えています。14 個の予測子がありますが、結果として得られる予測子は 13 個だけです。以下は私のコードです。

mdl <- earth(x,y,nprune=10000, nk=1000, degree=1, thresh=1e-7,
        linpreds=c(1:14), penalty = -1,  ponly=T, trace = 0)

ここに私の質問があります

  1. 変数を選択する代わりに変数を強制することは可能ですか? はいの場合、その方法は?\
  2. データのヒンジの調査を開始したら、ノットを手動で修正し、それらに基づいて推定値を取得することは可能ですか?

手伝ってくれてありがとう。

4

1 に答える 1

2

Earth/MARS モデルに予測子を強制することはできません。MARS アルゴリズムの基本は、予測子の自動選択です。

ただし、thresh=0 およびペナルティ=-1 を設定して通常のアルゴリズムを覆すことにより、すべての予測子がモデルに入る可能性を高めることができます。詳細と例については、地球のヘルプ ページを参照し、地球のビネットで「スレッシュ」と「ペナルティ」を検索してください。

ただし、そのビネットを引用すると、「通常、スレッシュ、ペナルティ、エンドスパンなどの調整パラメーターをいじって、標準の MARS アルゴリズムを覆さないことが最善です。トレーニング データに最適なモデルを探しているのではなく、根底にある分布に最適なモデルです。」

結び目を手動で修正することはできません。ここでも、MARS アルゴリズムに固有のノットの自動選択。ただし、minspan および endspan 引数を使用すると、ノットの自動配置にある程度の柔軟性が得られます。たとえば、minspan=-3 では、予測子ごとに最大 3 つの等間隔のノットが許可されます。

于 2015-06-12T15:12:13.707 に答える