1. 程式人生 > >只需一行代碼!Python中9大時間序列預測模型

只需一行代碼!Python中9大時間序列預測模型

rim reg tsm 水平 包括 組成 相關性 sta mod

在時間序列問題上,機器學習被廣泛應用於分類和預測問題。當有預測模型來預測未知變量時,在時間充當獨立變量和目標因變量的情況下,時間序列預測就出現了。

預測值可以是潛在雇員的工資或銀行賬戶持有人的信用評分。任何正式引入統計數據的數據科學都會遇到置信區間,這是某個模型確定性的衡量標準。

因此,預測一段時間內某些數據的價值需要特定的技術,並且需要多年的發展。

由於每種都有其特殊用途,必須註意為特定應用選擇正確的技術。預測人員在技術選擇中發揮作用,他們越了解預測可能性的範圍,公司的預測工作就越有可能取得成果。

其方法的選擇取決於預測的背景、歷史數據的相關性和可用性、所需的準確度、預測的時間段、對企業的預測成本以及分析所需的時間。

影響預測的因素

· 增加或減少趨勢

· 季節性

· 數據集的大小

時間序列的組成部分與數據本身一樣復雜。隨著時間的增加,獲得的數據也會增加。有時候更多的數據並不意味著更多的信息,但是更大的樣本避免了由於隨機采樣而產生的誤差。

因此,對於每個應用程序,使用的技術都會發生變化。

來源:數據科學博客

在本文中,我們列出了最廣泛使用的時間序列預測方法,只需一行代碼就可以在Python中使用它們:

  1. Autoregression(AR)

AR方法在先前時間步驟中模擬為觀察的線性函數。

模型的表示法涉及指定模型p的順序作為AR函數的參數。

from statsmodel.tsa.ar_model import AR

  1. Autoregressive Moving Average(ARMA)

ARMA方法結合了自回歸(AR)模型和移動平均(MA)模型。

from statsmodel.tsa.arima_model import ARMA

  1. Autoregressive Integrated Moving Average(ARIMA)

ARIMA方法結合自回歸(AR)和移動平均(MA)模型以及序列的差分預處理步驟以使序列靜止,稱為積分。

from statsmodel.tsa.arima_model import ARIMA

  1. Seasonal Autoregressive Integrated Moving-Average (SARIMA)

SARIMA方法將序列中的下一步建模為先前時間步驟的差異觀測值、誤差、差異性季節觀測值和季節性誤差的線性函數。

它結合了ARIMA模型,能夠在季節性水平上執行相同的自回歸、差分和移動平均建模。

from statsmodel.tsa.statespace.sarimax import SARIMAX

  1. Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX)

SARIMAX是SARIMA模型的擴展,還包括外生變量的建模。

SARIMAX方法還可用於使用外生變量對包含的模型進行建模,例如ARX,MAX,ARMAX和ARIMAX。

from statsmodel.tsa.statespace.sarimax import SARIMAX

  1. Vector Autoregression (VAR)

向量自回歸方法使用AR模型。AR是多個並行時間序列的推廣。

from statsmodel.tsa.vector_ar.var_model import VAR

  1. Vector Autoregression Moving-Average (VARMA)

這是ARMA對多個並行時間序列的推廣,例如,多變量時間序列。

from statsmodel.tsa.statespace.varmax import VARMAX

  1. Vector Autoregression Moving-Average with Exogenous Regressors(VARMAX)

VARMAX是VARMA模型的擴展,它還包括外生變量的建模。它是ARMAX方法的多變量版本。

  1. Holt Winter’s Exponential Smoothing (HWES)

HWES是在先前時間步驟的觀測的指數加權線性函數,將考慮趨勢和季節性因素。

from statsmodel.tsa.holtwinters import ExponentialSmoothing

只需一行代碼!Python中9大時間序列預測模型