1

データセット内の高速上昇曲線の検出に問題があります。
データセットの例:
6500 (整数値), 2013-04-16 15:31 (ミリ秒単位の日時値またはタイムスタンプ) 6480, 2013-04-16 15:31
6480, 2013-04-16 15:32
6450, 2013 -04-16 15:33 6430、2013-04-16
15:34 6410、2013-04-16
15:35
... 2110、2013-04-26
1:56

このデータ配列はグラフを形成します。

たとえば、グラフ内の異常に急速なジャンプを検出するのに助けが必要です-黒く塗られた線の始点と終点を検出します。

私には思われた最善の解決策 -勾配または極大値と極小値を使用しますが、この問題を解決するためにそれを適用する方法がわかりません。

ヒントやコードアルゴリズムの一部(言語を問わず)に感謝します。ありがとうございます。

4

1 に答える 1

2

あなたの急速なジャンプはすべて、ジャンプダウンではなくジャンプアップです。データ セットが V[i] for0<=i<nの場合、V[i] - V[i-1] > T であるかどうかを調べるだけで済みます。ここで、T = ジャンプを検出するためのしきい値です。つまり、T を設定する方法についてのすべての問題です。しきい値も変化することをお勧めします。そのため、固定数 T ではなく T[i] です。たとえば、T[i] = MC[i] を作成できます。ここで、C[i] は最近の変更の指数加重移動平均、つまり

C[i] = C[i-1] * (1 - W) + W * Abs(V[i-1] - V[i-2])

ここで、W=1 の場合、C[i] は常に最新の変更ですが、W<1 の場合は最近の変更の平均を行い、最新の変更が最も重要になります。乗数 M は、たとえば 2 である可能性があります。これは、最近の変更の指数加重移動平均の 2 倍のジャンプを探していることを意味します。それらの線に沿った何かが機能するはずです:-)

于 2013-05-12T14:53:42.397 に答える