本文關注的是時間序列中的異常上升,異常下降,趨勢變化等。
1. 基於STL(Season-Trend decomposition procedure based on LOESS)將時間序列分爲trend, season, residue. 爲residue設置threshold, 確定異常點,https://github.com/twitter/AnomalyDetection是基於上述算法的一個實現;
2. 利用分類樹算法建立是否是異常點的預測模型,對結果進行預測;
3. 利用ARIMA模型,對數據進行建模,某個點加入模型與從模型中刪除,對結果是否有很大的影響;(R中的tsoutliers包)
4. 利用Exponential smoothing建模,考察某個點加入或者刪除對結果的影響;
5. 利用Neural Network算法建立是否是異常點的預測模型,對結果進行預測;
需要注意的是:
1. 如果最簡單的模型可以達到需求的話,就選用最簡單的模型;
2. 嘗試較複雜的模型,如果簡單模型效果不好的情況下;
3. 最好不要試圖建立一個萬能算法。