2011-12-21 10 views
3

モデルの係数の1つを0以下にする必要があります。係数を負の値にする

nnlsパッケージでは、すべての係数をゼロ以上に設定できますが、特定の係数をゼロより小さく指定する方法はありません。

任意の助けいただければ幸いです。

+2

制約付き回帰の経験はあまりありませんが、私の最初の考えは、データ内の対応する変数の符号を変更することです。 > = 0という制約があなたの目標を達成するはずです(あなたのモデルをより複雑に解釈させるでしょうが)。 – joran

答えて

6

the same packageの関数nnnplsは、 "負でない制約と非正の制約を持つ最小二乗の実装"です。

その3番目の引数、con、一方は非正であるべき係数を指定することを可能にする:

解ベクトルの場合にのみ要素 i要素iが負の長さmの数値ベクトルx負でない値の ではなく、正でない値に制限する必要があります。

+0

例を見せていただけますか?私は、nnplsのヘルプページで少し混乱しています。 –

+0

昔ながらのRTFMのようなものはありませんか? :-) Tho '私は、パッケージ*が最初に目にするのは必ずしも明白ではないと認めなければならない。ここに 'sos'パッケージ用のプラグがあります。これはあなたのためにツールとパッケージを探すのには大変良い仕事です。 –

+0

@BurtonGuster:マニュアルには、次の例があります: 'nnnpls(A、matdat [、i]、con = c(1、-1,1))'。最初の2つの引数は、あなたが 'nnls()'に指定するのとまったく同じもので、3つ目の引数は私の答えで引用したパラグラフで説明したものです。 – NPE

0

パッケージic.inferがこのタスクに適している可能性があります。パッケージビネットから

: 「線形モデルおよび多変量正規状況では、線形不等式で事前情報 形態が発生する可能性があり、または線形不等式仮説が 統計的検定にかけることができるために開発されたic.infer Rパッケージ。そのような状況の推定とテストには、不平等に制約された をサポートしています。

関連する問題