問題タブ [least-squares]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - より少ないメモリを使用して最小二乗法から残差を取得
同じ予測子と多数の応答を使用して最小二乗モデルを当てはめています。必要なのは残差だけです。このqr.resid
関数は、これを実行するために私が見つけた最も単純なものですが、内部の Fortran コードがqr.resid
結果を返す前に破棄される不要なものを返すため、必要以上のメモリを必要とします。
これは、応答の数が十分に多い場合、システムがメモリのスワップを開始する必要があり、応答に到達するまでに非常に長い時間がかかることを意味します。(R でループを使用して) 1 つずつ実行すると、スワップしないため高速になりますが、ベクトル化された方法ですべてを実行するよりも (おそらく) 遅くなります。
つまり、このバージョンは、y
スワッピングが発生しないほど小さい場合に高速です。
ただし、このバージョンはy
スワップしないため 、大規模な場合は高速です。
助言がありますか?数値の問題が発生する可能性があるため、独自の関数を作成するよりも、既存の関数 (または少なくとも既存のアルゴリズム) を使用することをお勧めします。
問題を再現するコードを次に示します。N
システムに十分な大きさにする必要があります。
matlab - MATLAB は回転角度を計算します
円上に 5 つの点があります:........1
................................ .... .... 2 ... ... . 3
これで、回転した画像ができました: .............
................................................................... ...........1. .......3
注: ポイントは番号付けされていません。
私は基本的に 5 セットの座標を持っており、プロットすると下の画像のようになります。
上の画像のように見えるように画像を傾ける必要がある量を計算する必要があります
matlab - MATLAB 散布図の線形回帰直線
2 つの変数の散布図の残差を取得しようとしています。lsline
matlabの関数を使用して、最小二乗線形回帰直線を取得できました。ただし、残差も取得したいです。これをmatlabで取得するにはどうすればよいですか。そのためには、パラメーターa
とb
線形回帰直線を知る必要があります
python - ラムダ関数に必要な引数の数を調べる方法
渡されたラムダ関数に基づいて最小二乗法を実行する関数を作成しようとしています。ラムダ関数への初期推定のために、ラムダ関数が取る引数の数と同じ長さのゼロの配列を作成したいと考えています。したがって、線形の場合は[0,0]が必要で、二次の場合は[0,0,0]が必要です。
ここでは、ゼロの配列を作成します。しかし、この時点では p は定義されていません。したがって、len(p) は機能しません。
matlab - lsqcurvefitのオプションの使用
コマンドでLevenbergMarquardtアルゴリズムを使用したいと思いlsqcurvefit
ます。私は次のことをしました:
次のエラーが発生します。
??? Error using ==> optim\private\lsqncommon
LSQCURVEFIT only accepts inputs of data type double.
Error in ==> lsqcurvefit at 149
[x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
このエラーを解決するにはどうすればよいですか?
matlab - L2 ノルム最小化を使用した 3D データセットのヒストグラム マッチング (Matlab)
2 セットの 3D データに対して基本的なヒストグラム マッチングを実行する必要があります。これはより大きなアルゴリズムの一部です。
私の目標は、次のコスト関数を最小化することでこれを実行することです。
|| cumpdf(f(A)) - cumpdf(B) || .^2
どこ:
cumpdf は累積ヒストグラムです。
f() は線形変換 a*A + b で、a/b は
決定されるアフィン係数です。
A は変換対象の画像、B は照合対象の画像です。
私は lsqcurvefit を使用していますが、トラブルに遭遇したため、本当に助けが必要です。
Amask と Bmask は、必要なインデックス付けを表しています。
私の質問は次のとおりです。上記が間違っていることは知っています。しかし、費用関数と目標に関して、私がやりたいことを最もよく表していると思います。いくつかの助けをいただければ幸いです。
c++ - 部分最小二乗ライブラリ
すでにこのような質問がありましたが、回答がなかったので再度投稿してみます。C++ (または C)での部分最小二乗アルゴリズムのオープンソース実装を知っている人はいますか? それとも、それを行うライブラリですか?
matlab - フレキシブル最小二乗法 (FLS) 回帰の MATLAB 実装
Flexible Least Squares (FLS) 回帰1の MATLAB 実装はありますか?
時変係数を使用して回帰を処理する適切な (まあ、最も痛みの少ない) 方法を探しています。すべてのアイデアを歓迎しますが、FLS 回帰の実装へのポインタが最適です。広範囲にわたるグーグル検索の結果、見つけられなかったからです。
c++ - イメージ曲線近似のための多項式最小二乗法
曲線を画像内のピクセル数に合わせようとしているので、その形状に関してさらに処理を行うことができます。できれば次のパラメータを使用して C/++ で最小二乗法を実装する方法を知っている人はいますか?
matlab - MATLAB の lsqnonlin でユーザー定義のヤコビ パターンが無視される
MATLAB の関数を使用しており、オプションをlsqnonlin
使用してユーザー定義の JacboianパターンJacobPattern
を設定しようとしています。trust-region-reflective
使用するアルゴリズムの設定を行いました。from は、これが実際にソルバーによって使用されるアルゴリズムであることを示しています (output
オプションの使用に必要)。lsqnonlin
JacobPattern
私が見つけた問題は、 myJacobPattern
がまばらすぎる場合 (たとえば、500x500 のヤコビアンで 1 が数行しかない場合)、ソルバーによって無視され、代わりに完全なヤコビアンが計算されることです。
この動作は文書化されていません。誰かがそれにさらに光を当てることができますか? JacobPattern
私は、ソルバーがどれほど途方もなくまばらであっても、または勾配がどれほど浅くても、それを使用するようにソルバーに強制できるようにしたいと考えています。
アップデート:
さらにいくつかの実験を行ったところ、ヤコビ パターンにすべてゼロの行がある場合にのみ、ヤコビアンが再計算されるようです。各行に少なくとも 1 つの「1」がある限り、すべてがゼロの列はいくつあっても問題ありません。これは問題を回避するのに役立ちますが、疑問が残ります --- ソルバーが各従属変数に勾配を関連付ける必要があるのはなぜですか? いずれにせよ、ユーザー定義オプションを無視することは、少なくとも警告に値すると思います...