在時間序列問題上,機器學習被廣泛應用於分類和預測問題。當有預測模型來預測未知變量時,在時間充當獨立變量和目標因變量的情況下,時間序列預測就出現了。
預測值可以是潛在雇員的工資或銀行賬戶持有人的信用評分。任何正式引入統計數據的數據科學都會遇到置信區間,這是某個模型確定性的衡量標准。
因此,預測一段時間內某些數據的價值需要特定的技術,並且需要多年的發展。
由於每種都有其特殊用途,必須注意為特定應用選擇正確的技術。預測人員在技術選擇中發揮作用,他們越了解預測可能性的范圍,公司的預測工作就越有可能取得成果。
其方法的選擇取決於預測的背景、歷史數據的相關性和可用性、所需的准確度、預測的時間段、對企業的預測成本以及分析所需的時間。
影響預測的因素
· 增加或減少趨勢
· 季節性
· 數據集的大小
時間序列的組成部分與數據本身一樣復雜。隨着時間的增加,獲得的數據也會增加。有時候更多的數據並不意味着更多的信息,但是更大的樣本避免了由於隨機采樣而產生的誤差。
因此,對於每個應用程序,使用的技術都會發生變化。
來源:數據科學博客
在本文中,我們列出了最廣泛使用的時間序列預測方法,只需一行代碼就可以在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