在時間序列問題上,機器學習被普遍應用於分類和預測問題。當有預測模型來預測未知變量時,在時間充當獨立變量和目標因變量的狀況下,時間序列預測就出現了。機器學習
預測值能夠是潛在僱員的工資或銀行帳戶持有人的信用評分。任何正式引入統計數據的數據科學都會遇到置信區間,這是某個模型肯定性的衡量標準。函數
所以,預測一段時間內某些數據的價值須要特定的技術,而且須要多年的發展。學習
因爲每種都有其特殊用途,必須注意爲特定應用選擇正確的技術。預測人員在技術選擇中發揮做用,他們越瞭解預測可能性的範圍,公司的預測工做就越有可能取得成果。spa
其方法的選擇取決於預測的背景、歷史數據的相關性和可用性、所需的準確度、預測的時間段、對企業的預測成本以及分析所需的時間。博客
影響預測的因素it
· 增長或減小趨勢io
· 季節性class
· 數據集的大小import
時間序列的組成部分與數據自己同樣複雜。隨着時間的增長,得到的數據也會增長。有時候更多的數據並不意味着更多的信息,可是更大的樣本避免了因爲隨機採樣而產生的偏差。變量
所以,對於每一個應用程序,使用的技術都會發生變化。
來源:數據科學博客
在本文中,咱們列出了最普遍使用的時間序列預測方法,只需一行代碼就能夠在Python中使用它們:
- Autoregression(AR)
AR方法在先前時間步驟中模擬爲觀察的線性函數。
模型的表示法涉及指定模型p的順序做爲AR函數的參數。
from statsmodel.tsa.ar_model import AR
- Autoregressive Moving Average(ARMA)
ARMA方法結合了自迴歸(AR)模型和移動平均(MA)模型。
from statsmodel.tsa.arima_model import ARMA
- Autoregressive Integrated Moving Average(ARIMA)
ARIMA方法結合自迴歸(AR)和移動平均(MA)模型以及序列的差分預處理步驟以使序列靜止,稱爲積分。
from statsmodel.tsa.arima_model import ARIMA
- Seasonal Autoregressive Integrated Moving-Average (SARIMA)
SARIMA方法將序列中的下一步建模爲先前時間步驟的差別觀測值、偏差、差別性季節觀測值和季節性偏差的線性函數。
它結合了ARIMA模型,可以在季節性水平上執行相同的自迴歸、差分和移動平均建模。
from statsmodel.tsa.statespace.sarimax import SARIMAX
- Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX)
SARIMAX是SARIMA模型的擴展,還包括外生變量的建模。
SARIMAX方法還可用於使用外生變量對包含的模型進行建模,例如ARX,MAX,ARMAX和ARIMAX。
from statsmodel.tsa.statespace.sarimax import SARIMAX
- Vector Autoregression (VAR)
向量自迴歸方法使用AR模型。AR是多個並行時間序列的推廣。
from statsmodel.tsa.vector_ar.var_model import VAR
- Vector Autoregression Moving-Average (VARMA)
這是ARMA對多個並行時間序列的推廣,例如,多變量時間序列。
from statsmodel.tsa.statespace.varmax import VARMAX
- Vector Autoregression Moving-Average with Exogenous Regressors(VARMAX)
VARMAX是VARMA模型的擴展,它還包括外生變量的建模。它是ARMAX方法的多變量版本。
- Holt Winter’s Exponential Smoothing (HWES)
HWES是在先前時間步驟的觀測的指數加權線性函數,將考慮趨勢和季節性因素。
from statsmodel.tsa.holtwinters import ExponentialSmoothing