使用できるオープンソースまたは既存のライブラリを探しています。私が言う限り、glmnetパッケージは非負のケースをカバーするために非常に簡単に拡張できません。私は間違っているかもしれません、どんなアイデアでも大歓迎です。
非負とは、すべての係数が正(> 0)に制約されることを意味します。
使用できるオープンソースまたは既存のライブラリを探しています。私が言う限り、glmnetパッケージは非負のケースをカバーするために非常に簡単に拡張できません。私は間違っているかもしれません、どんなアイデアでも大歓迎です。
非負とは、すべての係数が正(> 0)に制約されることを意味します。
回答:
ではglmnet
オプションがあります
lower.limits=0
それを使用することができ、それが適合係数に陽性制約を適用する適切な方法であり、パラメータalpha
を1に設定するとLASSOに適合します。引数upper.limits
と組み合わせて、ボックス制約を指定することもできます。glmnet
パッケージには、はるかに高速よりもpenalized
、ここで別の答えで提案されているパッケージ。
Rcpp
バージョンglmnet
それは陽性とボックス制約をサポートして投げ縄&弾性ネットが準備中でもあり、かつでのテストのために利用可能である収めることができhttps://github.com/jaredhuling/ordinis
1つのオプションについては、罰せられたパッケージをご覧ください。ビネット(PDF!)パッケージに付属のセクション3.9でこの例を持っています。
基本的positive = TRUE
に、penalized()
関数の呼び出しで引数を設定します。