0
我有一個python中的數據列表,它表示時間上的作業數量。我想檢測此數據集中的重大更改。我的意思是,我希望每次數據值的增加或減少都超過上一個檢查點的特定百分比。檢測到數據列表中的重大變化
舉例來說,如果我有一個像[10,..,10,100,..,100,200,200,...,100,10]
數據。有4個重大變化。
什麼是檢測此問題的理想方法/算法?
我有一個python中的數據列表,它表示時間上的作業數量。我想檢測此數據集中的重大更改。我的意思是,我希望每次數據值的增加或減少都超過上一個檢查點的特定百分比。檢測到數據列表中的重大變化
舉例來說,如果我有一個像[10,..,10,100,..,100,200,200,...,100,10]
數據。有4個重大變化。
什麼是檢測此問題的理想方法/算法?
你可以看一下當前和下一列表元素之間的絕對差值,如果差值超過一定閾值報告它的指數,例如:
THR = 50
data = [10,10,100,100,200,200,100,10]
[(i,abs(x-y)>THR) for i,(x,y) in enumerate(zip(data,data[1:])) if abs(x-y)>THR]
#[1, 3, 5, 6] - gap after items 1 (10->100), 3 (100->200), etc.
我如何處理它的場景中變化較爲緩慢像這裏給出的例子http://stackoverflow.com/questions/43722597/detect-significant-changes-in-a-data-set-that-gradually-changes? – brokendreams
那麼,改變THR? – DyZ