2016-12-05 35 views
1

對於處理這樣的數據來說相當新穎;我有兩條曲線,我不知道如何處理,但我知道我希望得到什麼結果。兩個數據集的原始圖如下所示(左);下面(右)顯示了我想我對他們的粗略配合,疊加配合爲紅色。消除異常值/最適合Python中的「spiky」數據

第一個示例: enter image description here 幅度的突然下降是數據採集過程中的一個假象。這意味着它本質上是不可預測的,並且我理想地希望找到一種對此行爲有效的方法。

在第一種情況下,我可以嘗試通過使用閾值以消除幅度的急劇下降,但不會幫助我在第二種情況: enter image description here, 在那裏我仍然得到強有力的振盪,但最小值是不再爲0.

編輯:編寫一個簡短的腳本以使用@JamesPhillips建議後,擬合結果如下所示;可以確認這是我正在尋找的,並且比其他擬合算法更好/更快地工作。

enter image description here

enter image description here

回答

2

一種可能algothm:過濾數據,這樣的事情...

開始用最小的X值點顯示在圖表上,迭代從最小的X值到最大的X值。對於每個點:

1)如果下一個點的Y值大於或等於該點的Y值,則包括它。 2)如果下一個點的值小於該點Y值的[cutoff]百分比,則將其排除。

3)轉到下一點。

運行過濾器並測試[cutoff]的不同值,每次繪製結果圖形以查看[cutoff]的值是否符合您的要求。您可能需要一個或兩個額外的篩選條件,但這應該是您描述的過濾數據的良好開端。

+0

感謝您的建議 - 這完全符合我的要求,比其他裝配套件更快速/更易於實施。我用結果更新了我的最初問題。 – AaronJPung