4大類11種常見的時間序列預測方法總結和代碼示例


本篇文章將總結時間序列預測方法,並將所有方法分類介紹並提供相應的python代碼示例,以下是本文將要介紹的方法列表:

1、使用平滑技術進行時間序列預測

  • 指數平滑
  • Holt-Winters 法

2、單變量時間序列預測

  • 自回歸 (AR)
  • 移動平均模型 (MA)
  • 自回歸滑動平均模型 (ARMA)
  • 差分整合移動平均自回歸模型 (ARIMA)
  • 季節性 ARIMA (SARIMA)

3、外生變量的時間序列預測

  • 包含外生變量的SARIMAX (SARIMAX)
  • 具有外生回歸量的向量自回歸移動平均 (VARMAX)

4、多元時間序列預測

  • 向量自回歸 (VAR)
  • 向量自回歸移動平均 (VARMA)

下面我們對上面的方法一一進行介紹,並給出python的代碼示例

1、指數平滑Exponential Smoothing

指數平滑法是過去觀測值的加權平均值,隨着觀測值變老,權重呈指數會衰減。換句話說,觀察時間越近相關權重就越高。它可以快速生成可靠的預測,並且適用於廣泛的時間序列。

簡單指數平滑:此方法適用於預測沒有明確趨勢或季節性模式的單變量時間序列數據。簡單指數平滑法將下一個時間步建模為先前時間步的觀測值的指數加權線性函數。

它需要一個稱為 alpha (a) 的參數,也稱為平滑因子或平滑系數,它控制先前時間步長的觀測值的影響呈指數衰減的速率,即控制權重減小的速率。a 通常設置為 0 和 1 之間的值。較大的值意味着模型主要關注最近的過去觀察,而較小的值意味着在進行預測時會考慮更多的歷史。簡單指數平滑時間序列的簡單數學解釋如下所示:

  1. # SES
  2. from statsmodels.tsa.holtwinters import SimpleExpSmoothing
  3. from random import random
  4. # contrived dataset
  5. data = [x + random() for x in range(1, 100)]
  6. # fit model
  7. model = SimpleExpSmoothing(data)
  8. model_fit = model.fit()
  9. # make prediction
  10. yhat = model_fit.predict(len(data), len(data))
  11. print(yhat)

完整文章:

https://www.overfit.cn/post/48b9c34c2b8c4a938e838d3c3616e789


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM