現在、R のglmnet
パッケージを使用して、ホッケー データに対して加重リッジ回帰を実行しています。ホーム アイス アドバンテージなどの他のいくつかの予測因子に加えて、プレーヤーが特定のシフトで氷上で攻撃または防御を行っているかどうかを示すダミー変数を含むスパース行列があります。各シフトの長さである重みのベクトルがあります。私のターゲット変数は、特定のシフトで発生するショット レートのベクトルです。
呼び出しは次のglmnet
とおりです。
glmnet(y = shot_rates, x = dummy_matrix, weights = shift_length, lambda = previously_obtained_lambda)
(ラムダは、同じデータセットでクロス検証を使用して取得されます。これも を使用して行われglmnet
ます。)
現時点では、分布は完全にガウス分布であり、すべての予測変数は平均ゼロに偏っています。ダミー変数ごとに以前の情報 (以前の手段) を組み込み、それぞれに個別のラムダ値を設定する可能性がありますが、どうやってそれを行うのかわかりません。私は、penalty.factors を使用して各変数のラムダを調整できると信じています。
パッケージを使用してbayesglm
prior.meansを実装することを検討しましたが、それに関する私の問題は2つあります。そのままでは遅いことと、スパース行列を受け入れないため、処理が大幅に遅くなります。参考までに、ダミー変数のマトリックスには、約 600,000 行と約 2,000 列が含まれています。
以前の手段を分析に効率的に組み込むにはどうすればよいでしょうか? ご提案いただきありがとうございます。