問題タブ [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.
math - 正弦波周波数フィッティング
この質問は、以前の同様の質問に基づいています。
次の式と調整済み (いくつかのランダム データ) があります: 0.44*sin(N* 2*PI/30)
FFT を使用して、生成されたデータから周波数を取得しようとしています。ただし、周波数は最終的に周波数に近くなりますが、等しくはなりません (これにより、意図したよりも波が少し大きくなります)。
FFT の最大周波数は 7hz ですが、予想される周波数は (30/2PI) 4.77hz です。
FFT とプロットされた値のグラフを含めました。
私が使用しているコードは次のとおりです。
正の FFT はここにあります。基本的に、FFT グラフを中央に配置し、負の信号をカットします。
私の質問は、周波数だけの最小二乗法に頼らずに FFT をより正確にするにはどうすればよいかということです。
java - Javaで3Dラインを3Dポイントデータに適合させますか?
私はこれを行う簡単な方法を探すのにかなりの時間を費やしました-理想的には、3Dデータポイントのセットを取得し、いずれかの直交を使用して最適なラインに2つのポイントを返す魔法のライブラリがどこかに存在します回帰または最小二乗法であり、近似直線の誤差も返します。そのようなものは存在しますか?もしそうなら、どこにありますか?
python - 大量のデータ、補間
一連のデータ(3000ポイント)をフィッティングすることから得られる式、式を取得する「方法」を探しています。ルジャンドル多項式を使用していましたが、20 ポイントを超えると正確な値が得られません。chi2テストは書けますが、アルゴリズムはN個のパラメータを計算するのにかなりの時間を必要とし、最初は関数がどのように見えるか分からないので時間がかかります。私はスプラインについて考えていた...多分...
したがって、入力は次のとおりです。3000 パイント
出力 : f(x) = ... 何か
フィットから数式が欲しい。Pythonでこれを行う最良の方法は何ですか?
力が私たちと一緒になるようにしましょう!ニコン
math - データセットに適合する効率的な関数の作成
基本的に、私は4バイトの入力とそれに対応する4バイトの出力の大きな(100,000〜150,000の値を取得する可能性がある)データセットを持っています。入力が一意であることが保証されているわけではありませんが(疑似乱数を生成して入力を追加または排他的論理和して一意になることができると考えているため、実際には問題ありません)、出力は次のように保証されていません。どちらかが一意である(したがって、2つの異なる入力セットが同じ出力を持つ可能性があります)。
データセットの値を効果的にモデル化する関数を作成しようとしています。効率的に補間する必要はありませんし、まったく必要ありません(これは、この静的データセットに含まれていない入力をフィードすることは決してないということです)。ただし、可能な限り効率的である必要があります。補間を調べたところ、探しているものに実際には適合しないことがわかりました。たとえば、値の数が多いということは、スプライン補間が区間ごとに多項式を作成するため、スプライン補間が実行されないことを意味します。
また、私の理解では、多項式補間は計算コストがかかりすぎます(n値は、多項式にpow(x、n-1)までの項が含まれる可能性があることを意味します)。x=4バイトの数値およびn= 100,000の場合、それはまったくありません。実行可能)。しばらくオンラインで調べてみましたが、数学はあまり得意ではなく、今のところ似たようなものに出会ったことがないので、検索するのに適切な用語を知らないはずです。
これは完全に(穏やかに言えば)プログラミングの質問ではないことがわかります。事前にお詫び申し上げます。私は正確な解決策や完全な答えを探していません。この問題を自分で解決できるように、読み上げる必要のあるトピックへのポインタが必要です。ありがとう!
TL; DR-最初に与えられたデータポイントに適合させるだけでよいが、計算効率が高い補間の変形が必要です。
編集:いくつかの説明-私は出力が正確であり、近似ではない必要があります。これは、私が現在行っているいくつかの調査作業の一種の最適化であり、出力の実際のバイトがプログラムに存在しないように、このルックアップを実装する必要があります。現時点では、それについて多くを語ることはできませんが、私の仕事の目的では、暗号化(または圧縮またはその他の形式の難読化)はテーブルを非表示にするオプションではありません。入力にアクセスできる限り、出力を再作成できる数学関数が必要です。私はそれが物事を少しクリアすることを願っています。
gnuplot - gnuplot、データ フィットに行を含めない
次の形式で作成した .dat ファイルがあります。
データの最初の行は、適合には関係ありません。望ましくない点を含まないように xrange を設定すると、この値は適合に使用されないということですか?
python - SciPy LeastSq 適合度推定器
SciPy のleastsq
関数を使用してフィッティングしているデータ サーフェスがあります。
返品後のフィット感の評価をしたいと思いleastsq
ます。これが関数からの戻り値として含まれることを期待していましたが、そうであれば、明確に文書化されていないようです。
そのようなリターンはありますか、それを除いて、データと返されたパラメーター値とフィット関数を渡すことができる関数はありますか?
ありがとう!
matlab - MATLAB: 多関数フィッティング
私は関数を持っています.3つの指数の合計です:
まさに:
ここで、f1、f2、f3 は分数で、各 exp には 1 つのパラメーターがあり、a1、a2、a3 と呼びます。
したがって、この関数を実験データに当てはめると、6 つのパラメーター (f1、f2、f3、a1、a2、a3) が得られます。
ご了承ください
と
フィッティングは、いくつかのタイムラグ (t1、t2、t3 と呼ぶ) に対して行われます。したがって、タイムラグごとに、6 つのパラメーターのセットが 1 つあります。
パラメータ a1、a2、および a3 はタイムラグとともに直線的に増加します (a1(t1) < a1(t2) < a1(t3)... など)。分数は各タイムラグで同じです。
私が必要とするのは、a1(t)、a2(t)、a3(t)、および分数の勾配です。問題は、タイムラグごとに関数をフィッティングしているときに、a1 と a2 が順調に上昇している (完全な線形適合) が、a3 が下降しているという状況がよくあることです。また、分数にも問題があります。f1(t) + f2(t) + f3(t) を加算すると 1 に等しくならないため、各分数の平均を取ることができません。
「一度に」すべてを合わせる(簡単な)方法はありますか?どうやってするか?ありがとう!
matlab - MATLAB での特別な方法による多項式データ フィッティング
次のベクトルとしましょう:
[1.2 2.13 3.45 4.59 4.79]
そして、多項式関数を取得したいと思います。たとえばf
、このデータに適合するとします。したがって、私はのようなもので行きたいですpolyfit
。ただし、polyfit
最小二乗誤差の合計を最小化します。しかし、私が欲しいのは
f(1)=1.2 f(2)=2.13 f(3)=3.45 f(4)=4.59 f(5)=4.79
つまり、フィッティング アルゴリズムを操作して、既に与えた正確なポイントと、正確な値が与えられていないいくつかのフィッティング値が得られるようにしたいと考えています。どうやってやるの?
opencv - opencv cvfitline が疑わしい結果を出している
私は OpenCV の関数 cvFitLine を使用していますが、非常に疑わしい結果が得られています。基本的に、2 つの外れ値を持つ線に沿って点の座標を入力していることがわかります。外れ値を無視するためにフーバー距離測定を使用しています。ただし、結果の適合線は、外れ値を非常に考慮に入れているように見える対角線です。私は何か間違ったことをしていますか?誰かが同様の結果を得ていますか?
(編集) 結果は明らかに {vx,vy,x0y0} = {0,1,531,0} に似た直線になるはずですが、openCV では {0.85, -0.53, 453,144} が得られますが、これは垂直ではありません。
linear-algebra - f(x)= yの形式がわからない場合、x、y値のペアのリストにブラインドフィッティングを行うにはどうすればよいですか?
の形式がわからない関数f(x)= yがあり、xとyの値のペア(場合によっては数千)の長いリストがある場合、次のようなプログラム/パッケージ/ライブラリがありますか? f(x)の潜在的な形式を生成しますか?
明らかに、f(x)の可能な形式には多くのあいまいさがあります。したがって、(短縮された用語で)多くの自明でない一意の回答を生成するものが理想的ですが、少なくとも1つの回答を生成できるものも良いでしょう。
xとyが観測データ(つまり実験結果)から導出される場合、f(x)の近似形式を作成できるプログラムはありますか?一方、xとyの間に完全に決定論的な関係があることを事前に知っている場合(疑似乱数ジェネレーターの入力と出力のように)、f(x)の正確な形式を作成できるプログラムはありますか?