問題タブ [data-fitting]

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.

0 投票する
1 に答える
2207 参照

objective-c - Objective-Cの線形回帰

2Dの点のセットに線を合わせるメソッドを実装しようとしています。2つの配列(X、Y座標)からデータを読み取り、最小二乗法で最適な直線のパラメーターを計算する次のコードを作成しました。私はここで与えられた式を使用しました: mathworld.wolfram

次のような出力が得られます。

結果の行はデータにまったく適合しません。corelationCoefficientが1より大きい場合もありますが、すべてが正しく機能していれば、IMHOは発生しないはずです。

誰かが私の実装にエラーを見つけましたか?

- 編集 -

これは、CRDからのヒントに従って修正されたコードです。これを使用して、2つのステップ間の水平面でサンプリングされたuserAccelerationの方向ベクトルを抽出し、ステップの方向を取得しました。

これは私のために働いた:

0 投票する
1 に答える
3663 参照

matlab - 3D ラインのプロット、matlab

私の質問はかなり標準的ですが、その解決策が見つかりません。

points=[x,y,z] があり、最適な線をプロットしたいと考えています。

私は以下の機能を使用しています(そしてスミスさんに感謝します)

私は持っています。したがって、方程式は

ここで、dist は最小です。原点からの距離。

今私の質問は、3D で最適なフィルター ラインをプロットする方法です。

0 投票する
4 に答える
14599 参照

python - Scipy & Numpy 経由で Python を使用して ODE のシステムにデータを適合させる

Scipy & Numpy を使用して MATLAB コードを Python に変換する際に問題が発生しています。ODE のシステムが 10 個の観測データ ポイントに適合するように最適なパラメーター値 (k0 と k1) を見つける方法に行き詰まっています。現在、k0 と k1 の最初の推測があります。MATLAB では、「fminsearch」と呼ばれるものを使用できます。これは、ODE 系、観測されたデータ ポイント、および ODE 系の初期値を取得する関数です。次に、観測データに適合する新しいパラメーター k0 と k1 のペアを計算します。データに適合する最適なパラメータ値 k0 と k1 を見つけるために、ある種の「fminsearch」を実装するのに役立つかどうかを確認するために、コードを含めました。これを行うコードを lsqtest.py ファイルに追加したいと思います。

ode.py、lsq.py、および lsqtest.py の 3 つの .py ファイルがあります。

ode.py:

lsq.py:

lsqtest.py:

0 投票する
1 に答える
307 参照

python - ODEのシステムへのデータのフィッティング-Scipy/Numpy/Pythonでラムダ関数を使用したタイプエラー

コードを実行すると、次のエラーが発生します。

Typeerror:lambda()は正確に4つの引数を取ります(3つ指定)

これが私のコードです-私のエラーは、Scipyの最適化アルゴリズムを実装しようとしているコードの最後の行(私は思う)から来ていますfmin

0 投票する
1 に答える
540 参照

python - しきい値関数を使用したfmin

fmin関数で近似したい実験データがいくつかあります。私はすでに別のサンプルでfminを使用しましたが、すべて問題ありませんでした。

今回は、次のような関数でデータを表現します。

tは時間ベクトルであり、c [0]はしきい値(多項式係数のc [i])です (ちなみに、データ例を生成するために使用したため、この関数でデータを表すことができます!)

関数エラーは次の式で与えられます:

p3 = [10,250,0,0,0]であり、T_outはベクトルです

フィッティング操作は次のとおりです。

この命令は、「古典的な」多項式関数では非常にうまく機能しますが、f3関数(「if」が含まれている)では、p3_minは期待どおりに最適化されていません。

p [0]> 0のような制約を実装するか、反復回数を増やしようとしましたが、期待値を取得できませんでした。

誰かが「しきい値」関数でデータを適合させようとしたことがありますか?助けていただければ幸いです。

0 投票する
1 に答える
4162 参照

matlab - テーブルデータMATLABへの2次元多項式フィッティング

テーブルデータに2D多項式フィッティングを使用しようとしています。データ形式は、次のリンクとまったく同じです。http: //www.mathworks.de/help/toolbox/curvefit/brx2ldg-1.html#bso46rp-1

Xつまり、長さnY長さmm*n行列のベクトルがありZ、5次の2次元多項式をデータに適合させたいということです。

この問題を解決するためのMATLABの構文はありますか?IDLのSFITコマンドのように、http: //star.pst.qub.ac.uk/idl/SFIT.html

私は持っていcftoolますsftoolが、それらはこの目的のために機能しないようです、またはおそらく私はそれらを使用する方法を知りません。

また、MATLAB Mathworksファイル交換で共有されるm.fileがあることを知っています。正しく機能することがわかっている場合は、提案してください。

助けとコメントをいただければ幸いです。

0 投票する
1 に答える
6178 参照

python - scipy.optimize.leastsq returns best guess parameters not new best fit

I want to fit a lorentzian peak to a set of data x and y, the data is fine. Other programs like OriginLab fit it perfectly, but I wanted to automate the fitting with python so I have the below code which is based on http://mesa.ac.nz/?page_id=1800

The problem I have is that the scipy.optimize.leastsq returns as the best fit the same initial guess parameters I passed to it, essentially doing nothing. Here is the code.

#xA;

p are the initial guesses and best_parameters are the returned 'best fit' parameters from leastsq, but they are always the same.

this is what returned by the full_output=1 (the long numeric arrays have been shortened but are still representitive)

#xA;

can anyone see whats wrong?

0 投票する
2 に答える
134 参照

python - 複数の分布の当てはめ

いくつかの係数を持つ 2 つ以上の nd 配列が (おおよそ) 3 番目の配列に追加される状況があります。

最初の 2 つの配列を最もよく近似するc1とを探しています。これを行う方法がscipyにあると確信していますが、どこから始めればよいかわかりません。私が始めるべき特定のモジュールはありますか?c2array3

0 投票する
2 に答える
1993 参照

matlab - Levy Flight Distribution Histogram Matlab

私はしばらくの間、レヴィ分布をヒストグラムに適合させて無駄にすることを探していました。Levy Flight分布が、データ型に本当に適しているかどうかに関係なく、データに対してどのように見えるかをテストしたいと思っています。私はPDFにかなり慣れておらず、matlabのdistfittool GUIを除いて自分のPDFSを適合させているので、これを適切に行うために何をする必要があるのか​​少しわかりません。

したがって、現在、私のデータは208x1のベクトルであり、208ポイントは、208個の異なるオブジェクトのさまざまな速度を表しています。速度は、時間あたりの全体的な距離だけで計算されました。

さて、現在、私はLevyフライトを説明する関数を http://reference.wolfram.com/mathematica/ref/LevyDistribution.html(Out [3])から取得しました。

そして、私はそれを試すために次のコードを使用しました:

Levyフライトの配布に精通していないことが、それが配布に使用する適切な関数であるかどうか、またこれを適切に行うために渡す必要のある引数がわからない理由の原因であることを完全に認識しています。誰かが私にもう少し洞察を与えることができれば、私はそれを大いに感謝します。

0 投票する
2 に答える
1108 参照

c++ - C++ で最尤法を使用して 1000 個のサンプルを正規分布に当てはめる

私は5000倍のサンプルを持っています

サンプル = {1.23、-4.67、0.17、1.25、6.89、-2.03、...}

データを N(mu, sigma) や一般化された学生 t(loc, scale, DoF) などのパラメトリック分布に適合させたい...

私はすでにこれらの分布 PDF_normal(mu, sigma)(x) と PDF_t(loc, scale, DoF)(x) の PDF を持っており、固定分布パラメーターの 5000 サンプルの PDF の対数の合計を計算できます。

ここで、非線形最適化問題を解決するためにいくつかの C++ アルゴリズムを使用して、最大対数尤度値を与えるパラメーター (mu_max、sigma_max) または (loc_max、scale_max、DoF_max) を見つけたいと考えています。

R Project for Statistical Computing は、次の方法で MASS パッケージの問題を解決しています: .. 対数尤度の直接最適化は、optim を使用して実行されます。推定された標準誤差は、観測された情報行列から取得され、数値近似によって計算されます。1 次元の問題には Nelder-Mead 法が使用され、多次元の問題には BFGS 法が使用されます...

残念ながら、R ソリューションを使用することはできませんが、Microsoft VS2010 C++ でソリューションを考え出す必要があり、自分で最適化コードを書きたくないし、R ソース コードを見て C++ 用に書き直したくありません。 ..

C ++用のBFGS(または同様のもの)の高速で十分にテストされた実装を見つけることができる提案はありますか?

Boost、Intel MKL などで利用できるものはありますか?

助けてくれてありがとう、マット