予測モデリングにおいてあまりにも多くの変数に圧倒されますか?回帰問題では、非常に大きな候補予測子の集合から予測変数の集合を選択することにしばしば直面します。モデルを構築するときには、正確な予測が得られる意味のある一連の予測子を見つけます。順方向選択や全サブセット回帰などの古典的な方法は、必ずしもこの目標を満たしていません。
最小角度回帰(LARS)および最小絶対収縮および選択演算子(LASSO)やElastic Netなどのペナルティ付き回帰法は、変数選択に対するより新しく、より有望なアプローチです。Rパッケージの "lars"と "elasticnet"は、これらの新しい技術のいくつかに合うツールを提供します。パッケージに含まれているドキュメントはメソッド自体についてもっと学ぶための良い出発点です。で新しいR統合機能を使う JMP 9 これらのパッケージを呼び出すために、結果を提示してグラフを作成することができます。 JMP 。をチェックペナルティ回帰アドイン (アクセスとダウンロードには無料のSASログインが必要です)、それだけです。
Penalized Regressionアドインをインストールすると、これらのモデルに適合するための3つの異なるツールが得られます。それらは「Rアドイン」の見出しの下に表示されます。「交差検定付きLASSO」では、交差検定を使用してLASSO調整パラメーターを選択し、調整パラメーターを調整するにつれてパラメーター推定値がどのように変化するかを確認できます。「ペナルティ回帰法の比較」ツールを使用すると、LASSO、LARS、およびForward Stagewiseソリューションを比較できます。これら3つの方法の結果は時々ほとんど同一です。大事なことを言い忘れましたが、「相互検証を伴うElastic Net」はElastic Netソリューションをプロットし、相互検証を使用してチューニングパラメータの最適な組み合わせを選択します。Elastic Netには2つの調整パラメータがあるため注意が必要ですが、ソリューションを監視する機能は調整パラメータの関数として変化することが非常に役立つことがわかりました。
それでは、クロスバリデーションでLASSOを使用する例を見てみましょう。「lars」パッケージに含まれている糖尿病データセットを使用して、下のスクリーンショットに結果が得られます。これらのデータを用いて、年齢、性別、肥満度指数、血圧、およびいくつかの血清測定値を使用して糖尿病の進行をモデル化しようとしています。

グラフは少し奇妙に見えますが、多くの情報が含まれています。パラメータ推定値がチューニングパラメータの関数としてどのように変化するかがわかります。スライダーを動かして調整パラメーターを増やすと、パラメーター推定値が右に更新され、各変数がいつモデルに入ったかがわかります。
肥満度指数はモデルに入る最初の変数です。また、年齢が最後に入力する変数であることもわかりました。これは、年齢が糖尿病の進行に重要な役割を果たしていない可能性があることを示唆しています。アドインを使用すると、相互検証の結果を確認できます。これにより、調整パラメーターを選択することができます。調整パラメータに満足したら、予測値をデータテーブルに保存できます。
クレイバーカーは書きました:ベンジャミンとアンダース:ごめんなさい…クレイバーカー書きました:
Benjamin and Anders:あなたが問題を抱えているのは残念です。残念ながら、問題を特定するのは困難です。アドインはRを呼び出すので、問題はRのインストール、呼び出されているRのパッケージ、またはアドインにあります。ここにあなたを助けるかもしれないいくつかの提案があります:
1。データセットに欠損値がないことを確認してください。アドインは完全に機能するプラットフォームであることを意図していないので、私は欠損値をサポートすることができませんでした。そのため、アドインを呼び出す前に、欠落値を入力してください。
2。#1と同じ理由で、アドインは(除外された行のように)行状態を無視します。
3。アドインは最小二乗を実行するようにのみ設計されています。ロジスティック回帰に対して同様のアプローチをとることに興味があるならば、ペナルティ付き一般化線形モデルを当てはめるためにglmnetパッケージを呼び出すためにRと同様のインターフェースを構築することができます。
他に何か提案があるJMPユーザーはいますか?
Andersは書いた:私はベンジャミンと同じ問題を抱えている。ほとんど…アンダース書きました:
私はベンジャミンと同じ問題を抱えています。私のコンピュータを窓の外に投げ出した。このアドインは私には機能しません。さらに悪いことに、このアドインをどのように機能させるかについては、あいまいなドキュメントはありません。ロジスティック回帰をしなければならず、たくさんの変数を持っていてStepwiseを避けたいのでとてもイライラしています。
Gabriel Andraosは書きました:親愛なるクレイ。この明確なpをありがとう...ガブリエル・アンドラオス書きました:
親愛なる粘土。この明確な発表をありがとう。最も予測的な変数を選択する目的で、JMP 9.0のパーティション・プラットフォームを使用するよりも、これらの手法はどのように優れていますか?
ベスト、
クレイバーカーは書いた:こんにちはガブリエル、これは非常に良い質問です...クレイバーカー書きました:
こんにちはガブリエル、これは非常に良い質問です。一般的に、特定のデータセットに対してどの手法がより効果的に機能するかを実際には言えません。したがって、両方の手法を試して結果を比較することはおそらく価値があります。LARSやLASSOのようなものを使用して予測モデルを構築することの1つの潜在的な利点は、結果として得られる線形モデルの方が解釈が簡単なことが多いということです。
Benjaminは書きました:粘土、これを作成してくれてありがとう。私はinst ...ベンジャミン書きました:
粘土、
これを作成してくれてありがとう。Rと必要なパッケージ(larsとelasticnet)をインストールし、Rがlarsコマンドを認識することを確認しました。私はまたあなたのアドインをJMP 9.0.0で見て、適切なダイアログが出ます。しかし、データを選択して実行しても何も起こりません - ダイアログは閉じたばかりで、CPUが何もしていないことを確認しました。私は、Rがすでに開いているかどうかにかかわらず、JMPを再起動した後で試しました。何か提案はありますか?
ありがとうございます。
ベンジャミン