問題タブ [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.
matlab - レーベンバーグ・マルカート曲線あてはめMATLAB
ここに画像の説明を入力してくださいMATLABでとlb
を選択する方法がわかりません。また、関数をデータに適合させるために、いくつかの出力がありますが、正しくありません。ub
lsqcurvefit
x0
これが私のデータです:
次に、myfuncを別のmファイルに入れます。
私は、データに適合させた後に推定したい不明なものを持ってx(1)
おり、kが負の値にならないことx(2)
を知っています。x(2)
だから私はlsqcurvefit
このように設定しました:
そしてこれが結果です:
x = 1.5000 -0.4945
resnorm = 52.1739
x(2)
これは!の負の値を示します
手伝っていただけませんか?
質問に答えてくれてありがとう。コマンドがxとresnormを計算した後、関数で結果を使用します。これは、x(1)= 92.8054 x(2)=0.7427を使用したことを意味します。
それで;
F = 92.8054 *(1-(0.7427)^ 2)./((1-0.7427)^ 2 + 2 *(0.7427)* cosd(xdata))。^ 1.5;
これで、ベクトルFが得られました。データと結果をプロットすると、plot(xdata、ydata、'o'、xdata、F、'*')
軸yの範囲がそんなに違うのはなぜですか!関数にx(3)を追加する必要があるかもしれません。
フィギュアを付けました。
scipy - In Scipy LeastSq - ペナルティ項を追加する方法
オブジェクト関数が
Pythonでコーディングする方法は?私はすでに通常のものをコーディングしました:
matlab - チェビシェフ多項式基底を使用して多項式を近似する必要があります
polyfit
matlabの関数を使用して、線形最小二乗多項式をデータに適合させています。私が読んだところによると、これは標準の多項式基底(単項式基底)を使用しています。チェビシェフ多項式基底を使用して近似すると、数値の安定性が向上することを読みました。これを実行したいと思います。matlabにはこのオプションがありますか?
machine-learning - すべてのデータが不完全ではない場合に、不完全なデータから予測を評価する方法
予測に非負の行列因数分解と非負の最小二乗法を使用しています。与えられたデータの量に応じて、予測がどれほど優れているかを評価したいと考えています。たとえば、元のデータは
そして今、与えられたデータが不完全な場合に元のデータをどれだけうまく再構築できるかを確認したいと思います:
そして、大きなデータセットのすべての例でこれを実行したいと考えています。ここでの問題は、元のデータが正のデータの量で変化することです。上の元のデータでは 4 ですが、データセット内の他の例では多かれ少なかれ可能性があります。4 つのポジティブが与えられた評価ラウンドを作成するとしますが、データセットの半分には 4 つのポジティブしかなく、残りの半分には 5、6、または 7 があります。4 つのポジティブがある半分を除外する必要があります。 「予測」をより良くしますか?反対に、データを除外した場合はトレーニングセットを変更します。私に何ができる?それとも、この場合はまったく 4 と評価すべきではないでしょうか?
編集:
基本的に、入力行列をどれだけうまく再構築できるかを見たいと思っています。簡単にするために、「オリジナル」は 4 本の映画を見たユーザーを表すとします。そして、ユーザーが実際に視聴したたった 1 つの映画に基づいて、各ユーザーをどれだけ正確に予測できるかを知りたいのです。たくさんの映画の予測を取得します。次に、ROC と Precision-Recall 曲線をプロットします (予測の上位 k を使用)。このすべてを、ユーザーが実際に見た n 個の映画で繰り返します。n ごとにプロットで ROC 曲線を取得します。たとえば、ユーザーが実際に見た 4 つの映画を使用して、ユーザーが見たすべての映画を予測するところまで来ましたが、その 4 つだけを見た場合、結果が良くなりすぎます。
私がこれを行っている理由は、システムが合理的な予測を行うために必要な「視聴した映画」の数を確認するためです。すでに 3 本の映画を視聴しているときに良い結果しか返されない場合、私のアプリケーションではあまり良くありません。
matlab - MATLAB での直交距離回帰
2 つの確率変数/測定値 ( x、y ) が与えられ、どちらも誤差 (変数内誤差の場合) で測定された場合
、MATLAB には、回帰直線y ( i )= aの推定量 ( a、b ) を計算するルーチンがありますか? · x ( i )+ b直交距離回帰の方法を使用しますか?
最尤推定量の実装は次のとおりです。
編集(EitanT宛て):
私の見積もりとあなたの見積もりの比較は次のとおりです。
algorithm - 画像からの曲率推定
私はこのような画像を持っています:
この画像では、赤い線が画像から取得したいものです。元の画像には赤い線はなく、緑の道路しかありません。
私が望むのは、方程式の係数の形で画像から曲線を推定することです: A x^2 + B x + C = 0.画像にはノイズ (上記のようにエッジにブラック ホール) が存在する可能性があります。
最小二乗法 (LSM) を使用してこれを解決しようとしましたが、このアプローチには 2 つの問題があります。
PCでもポイントが高いのでやり方が遅いです。
次の場合、道路が広すぎます。
左側の画像の曲線は正しく認識されていますが、右側の曲線は正しく認識されていません。その理由は、道が広すぎて短すぎるからだと思います。
両方の場合の解決策として、道を狭くしたい。理想的には、上の画像の赤い線です。または、処理時間の最適化のためにライン検出 (A x + B = 0) に LSM を使用したい。
私は画像を侵食しようとしました - それは間違ったアプローチです。スケルトンも適切なソリューションではありません。
望ましい結果を達成する方法についてのアイデアはありますか (道を狭くする)? または、この問題に対する別のアプローチのアイデアはありますか?
r - 線形最小二乗フィッティング
DF
DF2
DF は、異なる 'ex' 値をもたらす 'a'、'b'、および 's' 値の何百もの組み合わせを実際に持つ大きなデータ フレームの例です。私がやりたいことは、「ex」値 (DF) が「平均」値 (DF2) に等しい「時間」で最もよく適合する「a」、「b」、および「s」の組み合わせを見つけることです。このフィッティングでは、一度に 8 つの値を比較します (つまり、times == c(0,20,40,60,120,180,240,360))。
この例では、「a」、「b」、および「s」の値に 59、140、および 1e-4 が必要です。これは、これらの「ex」の値 (DF) が「平均」の値 (DF2) に最も適合するためです。 .
「ex」(DF) が「平均」(DF2) に最も適合する値の「a」、「b」、および「s」の値が必要です
「a」、「b」、および「s」値の 1 つの可能な組み合わせが必要なので、線形最小二乗適合モデルが最適です。一度に 8 つの値を比較します。ここで、'times' == 0 - 360 です。個々の時点で最適に機能する 'a'、'b'、および 's' の値は必要ありません。8 つのすべての 'ex' (DF) が 8 つのすべての 'mean' 値 (DF2) に最もよく適合する 'a'、'b'、および 's' の値が必要です。
線形最小二乗フィッティングを使用したことはありませんが、私がやろうとしていることは可能だと思います。
algorithm - 原点(0,0)を通る線をデータにフィッティングする
一連の点が(x,y)
あり、MATLABを使用して原点を通過する最適な線を見つける必要があります。
matlab - Matlabの非線形、マルチパラメーターカーブフィッティングの問題
私は自分の実験からの電気泳動データをフィッティングするためのルーチンを実装しようとしています。
目的は、データセット内のピークの面積に基づいて、エレクトロフェログラムのピークの相対的な面積から生体分子の相互作用の速度論的パラメーターを導出することです。
ここで説明するように、関連するすべての微分方程式が既知であり、方程式のセットには解析解があるため、次のようになります。
私はmatlabに関連する方程式(参照された原稿からの6、8、13、...)を入力することに着手しました。
このように作成された関数は機能し、相互作用する種のエレクトロフェログラムをシミュレートするために使用できます。
明らかに、この関数を使用して実験データを適合させ、パラメーター(合計8、Va、Vc、MUa、MUc、k、A0、C0、ベースラインノイズ)を取得したいと思います。
これらのいくつかは明らかに相関しています。値の例は次のようになります(それらの大きさのアイデアを与えるため):
私の問題は、実験データを提供してlsqcurvefitのようなものを試してみると次のようになります。
反復が不足したり、(明らかに適合性が低い)極小値に達したりするため、結果が非常に悪くなることがよくあります...
開始値と許可された間隔をいじくり回した場合にのみ(つまり、他の実験を通じて可能性のある値がわかっているため)、最終的にはまともな適合になりますが、それでも、適合は元の報告ほど良くありません原稿(図3)。
その原稿の著者はExcelソルバーを使用し、図3で使用された元のデータを提供してくれましたが、それでも、ほぼ文字通りほぼ正しい開始値を提供しなければ、彼らのようにうまくフィットすることはできません。
このプロセスの試行錯誤を減らすために何を調整できるかを知るのに十分な経験がありません。
グローバル最適化ツールボックスのようなものは私を助けますか?
ヒントは大歓迎です...