正しい数学用語を使用していない場合は申し訳ありませんが、私が達成しようとしていることを理解していただければ幸いです。
私の問題: 結果 z に対する 2 つのベクトル x と y の値に対して線形回帰 (現在は最小二乗法) を使用しています。これは matlab で行う必要があり、\-operator を使用して回帰を実行しています。私のデータセットには、数千の観測が含まれます (最大で約 50000 まで)。
x 値は 10 ~ 300 の領域 (ほとんどは 60 ~ 100 の間) にあり、y 値は 1 ~ 3 の領域にあります。
私のコードは次のようになります。
X = [ones(size(x,1) x y];
parameters = X\y;
出力「パラメータ」は、次の式で使用される 3 つの係数 a0、a1、および a2 です。
a0 * 1 + a1 * xi + a2 * yi = zi
(i には添え字が必要です)
これは期待どおりに機能しますが、ベクトル z が負の場合でも、2 つのパラメーター a1 と a2 を常に正の値にする必要があります (これは、もちろん a0 が負になることを意味します)。 (z は常に x と z に正の相関があります)。これは最小二乗法を使用して可能ですか? また、線形回帰の他のアルゴリズムにも対応しています。