0

私は現在グラフから冗長なデータポイントを削除するはずのスクリプトを書いています。私のデータには隣接するデータセットからの重複が含まれています。 (xオフセットがわずかに重なる2つのガウス分布を想像してみてください)重複領域の高い方の値だけに興味があり、単一のスペクトルを作るためにデータを結合すると最終的なグラフがすべてノイズにならない。ここでは)2セットのノイズの多いデータの交差を見つけるにはどうすればよいですか?

私の問題です:

1)xの値は、2つのデータセット間の同じではありませんので、私はちょうど「xで、最大yの値を取る」と言うことはできません。彼らは近くにいるが、等しくない。

2)x値の間の距離は等しくありません。

3)データにノイズが多いため、データセットが交差する複数のポイントが存在する可能性があります。ガウスAは一般に、ガウスBよりも交点の方が高いが、ノイズはガウスBがまだ高い値を持つ可能性があることを意味する。意味私は「このx領域で常に最高の値をとる」と言うことはできません。なぜなら、私は両方のデータセットのノイズを大きく混ぜ合わせるからです。

4)私はこのタイプのn個のオーバーラップを持っているので、効率的なアルゴリズムが必要です.O(n^3)のどこかにあります。 abs(x1-x0)とabs(y1-y0)の最も低い組み合わせが見つかるまで、データポイント(x0、y0)と(x1、y1)の各組み合わせに対してサイクルを繰り返します。

プログラマーではない、私は完全に失われている。私もどこでもこの問題のアルゴリズムを見つけることができませんでした。ほとんどのアルゴリズムは、私が比較している配列のエントリが等しい整数だと仮定していますが、ほぼ等しい浮動小数点数で作業しています。

私はIDLを使用していますが、一般的なアルゴリズムまたは少なくとも私が試すことができるヒントにも感謝しています。ありがとう!

+0

OPの自己紹介ではプログラミングに関するものではないので、私はこのトピックをオフトピックとして閉じるよう投票しています。それは問題を解決するための適切な方法を見つけることに関するものです。 http://scicomp.stackexchange.comのトピックに載っているかもしれませんが、投稿する前にそのサイトのTs&Csをチェックしてください。 –

+0

アルゴリズムの定義の "問題を解決するための適切な方法"ではありませんか?これはプログラミングではどうですか? – Fearabbit

+0

Funfact:グラフはネットワークであり、それだけです。プロットについて単語グラフを使用することは、悪い高校の教師から受け継がれた悪い習慣です。また、これはhttp://stats.stackexchange.com/に属します –

答えて

1

これは、データにガウス分布を当てはめた後、各データポイントがそのポイントのガウス分布と等しいと仮定してmaxを取る方法です。

これは以下のように行うことができる。

  • はG1の平均値がG2の平均値よりも小さいデータセットX2、X1に、いくつかのガウスG2をデータセットにいくつかのガウスG1を取り付けます。
  • 次に、いくつかの算術演算で交点を見つける。
  • 次に、xのすべての値に対して、交点はX1をとり、交点より大きなxのすべての値はX2をとります。
関連する問題