因爲我熱衷於機器學習在時間序列中的應用,特別是在醫學檢測和分類中,在嘗試的過程當中,一直在尋找優質的Python庫(而不是從頭開始編寫代碼)去實現我對於數據處理的需求。如下是我在處理時間序列數據(time series data)。我但願其中一些對你也有用!python
這個庫能夠幫助你建立時間序列數據,特別是在使用延遲(lag)或者滑窗(sliding window)進行迴歸、分類這些監督學習的算法的時候。另外一個值得注意的點是你能夠快速計算一系列的數據特徵,例如峯度,絕對能量,均值,中位數,波形長度,斜率變化等等。有了這個庫,你能夠隨意的將這些特徵放入輸入或者輸出中去。在迴歸算法中,你可能不但願直接使用數據點進行運算,那麼你能夠直接調用函數計算中值以後再輸入到模型中去。有了它,你能夠很輕鬆的進行數據的預處理和特徵轉換。算法
這個庫彷佛用的比較多,以後我也會更一期來專門講解這個庫的運用。這個庫可使用的方法有聚類,SVM,k-均值等等。若是你使用的是非監督學習的話,這會極大的減輕你的計算壓力。機器學習
這個庫的精華在於他有不少的概念和方法可使用。例如再離散化方法中,能夠實現SAX,PAA和WEASEL等。這個庫也提供了Gramian Angular Field,Recurrent Plots這樣的可視化工具。還有多種用於預處理或轉換數據集的實用接口,例如離散傅立葉變換,合併等。基於此,使用它內置的頻譜分析功能對時間序列進行分解和去噪也是一個不錯的選擇。使用它提供的數據集快速上手或許是個不錯的選擇。函數
NoLiTSA這個庫已經好久沒有更新了,可是對於非線性數據的處理,這絕對值得一試。針對於數學和物理學中的非線性時間序列問題(不少實際問題也是非線性的),它使用動態方法去處理延遲、窗口函數。在進行動態系統重建,估計相關維度還有計算時間序列的最大李雅普諾夫指數上,NoLiTSA都提供了很大的便利。工具
這是這幾個中較小的一個庫,固然小也有小的好處。對於具體數據,它能夠很好地實驗樣本熵、Lyapunov指數的計算(不僅僅是最大指數)。此外,他也能夠提供了計算Hurst指數和Detrended fluctuation analysis的工具。學習
它容許用戶根據輸入選擇不一樣的延遲和迴歸函數。我尚未深刻體驗,聽說隨機森林、XGB之類都是能夠的。接口
最後,我在推薦GitHub的一個項目叫作awesome time series in python。相信我,你值得擁有!數學