python構建arima模型,python做arima模型預測

本文目錄一覽:

(四)ARIMA模型方法

1.ARIMA模型的基本思想

將預測對象隨時間推移而形成的數據序列視為一個隨機序列,對其進行差分整合後用自回歸加移動平均來擬合,並據其對時間序列的過去值及未來值進行預測的數學方法,即ARIMA模型的基本思想。

ARIMA模型一般表示為ARIMA(p,d,q),其數學表達式為

φp(B)(1-B)dyt=θq(B)εt, (7-9)

式中:φp(B)=1-φ1B-…-φpBp,θq(B)=1-θ1B-…-θqBq;

AR是自回歸,p為自回歸項,MA為移動平均,q為移動平均項數,d為差分次數;yt是時間序列,B是後移算子,φ1,…,φp為自回歸係數,θ1,…,θq為移動回歸係數,{εt} 是白噪聲序列。

2.ARIMA模型預測基本程序

(1)平穩性識別

以自相關函數和偏自相關函數圖等來判定數列是否為平穩型。

(2)對非平穩序列進行平穩化處理

存在增長或下降趨勢,需進行差分處理,直到處理後的數據的自相關函數值和偏相關函數值顯著地等於零。

(3)根據時間序列模型的識別規則建立相應模型

據序列的自相關和偏相關函數圖判定模型的類型及p與q的階數。

在自相關和偏相關函數圖上,函數在某一步之後為零,稱為截尾;不能在某一步之後為零,而是按指數衰減或正負相間遞減的形式,稱為拖尾。

由自相關函數和偏相關函數是截尾還是拖尾及其期次可進行模型判別,標準見表7-8。

表7-8 模型參數的ACF-PACF圖判別的標準

(4)假設檢驗,診斷殘差序列是否為白噪聲

用χ2檢驗檢測所估計模型的白噪聲殘差,其殘差應是一隨機序列,否則進行殘差分析,必要時需重新確定模型。

(5)預測分析

利用已通過檢驗的模型進行預測分析,得到x(t)在t+1期,即1期以後的預測值,記這個預測值為x(t+1),稱它為未來第1期的預測值。

ARIMA模型用Python分析需要安裝什麼庫

需要安裝requests庫

1.requests庫

用一句話總結就是:每個Python程序員都應該有它,爬取數據必備!

2.scrapy

提取結構化數據而創建的一個爬蟲框架,是目前python社區最流行的爬蟲框架之一

3.wxPython

Python的一個GUI(圖形用戶界面)工具

4.BeautifulSoup

xml和html的解析庫對於新手非常有用

5.Pygame

哪個程序員不喜歡玩遊戲和寫遊戲?這個庫會讓你在開發2D遊戲的時候如虎添翼

6.Pyglet

3D動畫和遊戲開發引擎

7.NumPy

為Python提供了很多高級的數學方法

8.pandas

在數據操作和數據分析方面,Pandas絕無敵手。

9.Matplotlib

Matplotlib主要的作用,是用來生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等,而Matplotlib是一個Python的2D繪圖庫,它以各種硬拷貝格式和跨平台的交互式環境生成出版質量級別的圖形。

如何利用python實現多元ARIMAX建模?

可以在Python中將其實現為一個新的獨立函數,名為evaluate_arima_model(),它將時間序列數據集作為輸入,以及具有p,d和q參數的元組作為輸入。

數據集分為兩部分:初始訓練數據集為66%,測試數據集為剩餘的34%。

arima模型python 怎麼看平穩性

時間序列分析(一) 如何判斷序列是否平穩

序列平穩不平穩,一般採用兩種方法:

第一種:看圖法

圖是指時序圖,例如(eviews畫滴):

分析:什麼樣的圖不平穩,先說下什麼是平穩,平穩就是圍繞着一個常數上下波動。

看看上面這個圖,很明顯的增長趨勢,不平穩。

第二種:自相關係數和偏相關係數

還以上面的序列為例:用eviews得到自相關和偏相關圖,Q統計量和伴隨概率。

分析:判斷平穩與否的話,用自相關圖和偏相關圖就可以了。

平穩的序列的自相關圖和偏相關圖不是拖尾就是截尾。截尾就是在某階之後,係數都為 0 ,怎麼理解呢,看上面偏相關的圖,當階數為 1 的時候,係數值還是很大, 0.914. 二階長的時候突然就變成了 0.050. 後面的值都很小,認為是趨於 0 ,這種狀況就是截尾。再就是拖尾,拖尾就是有一個衰減的趨勢,但是不都為 0 。

自相關圖既不是拖尾也不是截尾。以上的圖的自相關是一個三角對稱的形式,這種趨勢是單調趨勢的典型圖形。

下面是通過自相關的其他功能

如果自相關是拖尾,偏相關截尾,則用 AR 算法

如果自相關截尾,偏相關拖尾,則用 MA 算法

如果自相關和偏相關都是拖尾,則用 ARMA 算法, ARIMA 是 ARMA 算法的擴展版,用法類似 。

不平穩,怎麼辦?

答案是差分

還是上面那個序列,兩種方法都證明他是不靠譜的,不平穩的。確定不平穩後,依次進行1階、2階、3階…差分,直到平穩位置。先來個一階差分,上圖。

從圖上看,一階差分的效果不錯,看着是平穩的。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295914.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-27 12:57
下一篇 2024-12-27 12:57

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論