グラフがピークとプラトーに達したときを見つける方法は?


9

これは非常に基本的に聞こえるかもしれませんが、この問題があります。ウィンドウサイズが300のデータのキューがあります。新しいデータが一方の端に追加され、古い値がもう一方の端から削除されます。

キューデータの一貫性は多かれ少なかれ続くと期待しています。たとえば、10、12、15、10、20、その後急激に上昇し始めます。15、10、20、22、25、26、28、30、32 ... 150程度までです。そこで、データは少し変動する可能性があり、その後同様の勾配(120、118、116、115 ...)で20程度まで下がります。

このデータシリーズのターニングポイントをプログラムで特定しようとしていますが、コードが思ったよりも頻繁にピークを検出しています。グラフが上昇しているとき、決定的な転換点に到達したとき、およびグラフが下降し始めたときは、どうすれば特定できますか?変化率の変化率を見てみようか?


傾斜とピークの高さを合理的に把握している場合は、現在の傾斜だけでなく、高さと上昇時間も考慮できますか?ピークに関する以前のデータはどれくらいありますか?モデルをフィットするためにそれらを使用できますか?
Karl、

2
どの方法を使用する場合でも、ピークとプラトーとは何かを適切に定義する必要があります。2つの連続する「高い」値はピークまたはプラトーですか?5人はいかがですか?一部のメソッドはこの情報を必要としないように見えるかもしれませんが、これは裏で隠されています。いつものように、問題を適切に定義し、そのためにパラメーター(および/またはアルゴリズム)を最適化することが重要です。
Nick Sabbe、2011年

回答:


2

これが予想される正確なパターンであることがわかっている場合は、この正確なパターンを探すことができますが、他のパターンを見落とすことになります。そう。ピークが150になることがわかっている場合は、2、3、4、または(いくつでも)連続する150の値を探すことができます。おそらく、ピークは「130を超える3つの連続する値」として定義されるか、または「140を超える5つの連続する値のうち3」であろう。それはあなたが決めることです。

一方、ピークを検出するための一般的なプログラムを探しているだけの場合は、これまで見てきました。たくさんの平滑化方法があります(レス、さまざまな種類のスプライン、移動平均など)。私は専門分野ではありませんが、これについては多くの文献があります。


4

SiZer(かなりのZERoクロッシング...またはスロープ、覚えていません)を調べてください。ただし、おそらく時系列ツールよりも断面的なものです。さまざまな帯域幅(約3桁異なる)でデータを平滑化し、いくつかのローカルテストを適用して、ローカル回帰の傾きが有意に正または負(または未決定)であるかどうかを確認するという考えがあります。これにより、どの機能があるかを判断するのに役立つ説得力のある図が作成されます。(Rが実装されておらず、Matlabのみであることに驚いています。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.