Rでの非負のなげなわ実装


13

使用できるオープンソースまたは既存のライブラリを探しています。私が言う限り、glmnetパッケージは非負のケースをカバーするために非常に簡単に拡張できません。私は間違っているかもしれません、どんなアイデアでも大歓迎です。

非負とは、すべての係数が正(> 0)に制約されることを意味します。


1
聞いてくれて申し訳ありませんが、非負のなげなわとはどういう意味ですか?すべての係数を> 0に維持するか、正の予測のみを許可するには?グーグルは私を啓発しませんでしたが、それは私が知りたい何かのように聞こえます。
バックリン

1
質問を閉じてすみませんが、質問と回答はwww.crossvalidated.comで行った方が良いでしょう。移行の質問にフラグを立てたので、MODがまもなく対応します。これは、あなたの質問を明確にし、あなたが望むものを正確に説明してくださいと言いました。私たちの研究グループでは投げ縄の専門家は、おそらくあなたが目指していたものを見つけ出すことができませんでした...
ヨリスMeys

ごめんなさい 非負は、すべての係数が正であることを意味します。パッケージglmnetを使用してみましたが、それは一般的な場合にのみ解決します。
gbh。

回答:


8

ではglmnetオプションがあります

lower.limits=0

それを使用することができ、それが適合係数に陽性制約を適用する適切な方法であり、パラメータalphaを1に設定するとLASSOに適合します。引数upper.limitsと組み合わせて、ボックス制約を指定することもできます。glmnetパッケージには、はるかに高速よりもpenalized、ここで別の答えで提案されているパッケージ。

Rcppバージョンglmnetそれは陽性とボックス制約をサポートして投げ縄&弾性ネットが準備中でもあり、かつでのテストのために利用可能である収めることができhttps://github.com/jaredhuling/ordinis


7

1つのオプションについては、罰せられたパッケージをご覧ください。ビネット(PDF!)パッケージに付属のセクション3.9でこの例を持っています。

基本的positive = TRUEに、penalized()関数の呼び出しで引数を設定します。


4

これこのホワイトペーパーは、特定の条件下で、非負の最小二乗ソリューションのハードしきい値処理がパフォーマンスの点でL1正則化(LASSO)と同等以上のパフォーマンスを発揮することを示しています。1つの例は、デザインマトリックスに負でないエントリのみがある場合です。これはよくあるケースです。

NNLSは非常に広くサポートされており、解決も簡単/高速になるため、チェックアウトする価値があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.