arima處理時序資料

2021-09-23 05:43:46 字數 2629 閱讀 1135

一、arima原理

1.1自回歸模型ar

自回歸模型描述當前值與歷史值之間的關係,用變數自身的歷史事件資料對自身進行**。自回歸模型必須滿足平穩性的要求。

1)自回歸模型首先需要確定乙個階數p,表示用幾期歷史值來**當前值。p階自回歸模型的公式定義為:

a)用自身資料進行**

b)時序資料必須具有平穩性,均值為0

c)自回歸只適用於**與自身前期相關的現象

d)自相關係數呈復指數衰減-有拖尾性

e)偏自相關係數有截尾性

1.2移動平均模型ma

移動平均模型關注的是自回歸模型中的誤差項的累加,q階自回歸過程公式定義如下:

移動平均能有效地消除**中的隨機波動。

1)自相關係數截尾巴

2)偏自相關係數拖尾

1.3自回歸移動平均模型arma

自回歸模型ar和移動平均模型ma模型相結合,

模型 自相關係數 偏自相關係數

ar§ 拖尾 p階截尾

ma(q) q階截尾 拖尾

arma(p,q) 拖尾 拖尾

1.4差分自回歸移動平均模型arima

將自回歸模型、移動平均模型和差分法結合。arima(p,d,q),的就是差分的階數。

二、建立arima模型的過程

2.1資料平穩性處理和判斷

平穩性就是要求經由樣本時間序列所得到的擬合曲線在未來一段時間仍能沿著現有的形態慣性地延續下去。平穩性要求序列的均值和方差不發生明顯的變化。

嚴平穩是一種條件比較苛刻的平穩性定義,它認為只有當序列所有的統計性質都不會隨著時間的推移而發生變化時,該序列才能被認為平穩.

寬平穩是使用序列的特徵統計量來定義的一種平穩性.它認為序列的統計性質主要由它的低階矩決定,所以只要保證序列低階矩平穩(二階),就能保證序列的主要性質近似穩定。

2.1.1平穩性處理

a.對數變化

b.平滑法

c.差分

d.分解

差分原理:

a)data=

[1,12,23,34,45,56,67,78,89]

b)data_shift_1 = data.shift(1)

[nan, 1,12,23,34,45,56,67,78]

c)data_result = data - data_shift_1

[nan,11,11,11,11,11,11,11,11]

2.1.2平穩性檢驗

adf是一種常用的單位根檢驗方法,他的原假設為序列具有單位根,即非平穩。對於乙個平穩的時序資料,就需要在給定的置信水平上顯著,拒絕原假設。

如果時序資料的pvalue顯著小於0.05,則認為原時序平穩:

移動平均序列的adf檢驗結果為: (-3.2829771685725424, 0.015656755989236697, 22, 1324, , 15240.134057880518)

adf為-3.28,低於5%,10%,pvalue為0.015,接近0,則認為95%水平拒絕該假設,則資料平穩。

資料平穩性判斷流程:

a)判斷原資料是否平穩,如果不平穩,執行b);如果平穩執行d)

b)進行一階差分,判斷一階後是否平穩,如果不平穩,執行c);如果平穩執行d)

c)進行二階差分,判斷二階後是否平穩,如果不平穩,執行e),如果平穩執行d)

d)返回平穩後結果

e)返回資料不平穩的判斷結果

2.2季節分解(不建議用sarima包自動分解)

時間序列包含4中變動要素:長期趨勢 t、迴圈趨勢c、季節趨勢s、不規則變動i。

季節調整分解方式:

1)加法

2)乘法、偽加法、對數加法(要求不能有0)(快消品補資料處理的好,建議優化這一步)

2.2.1 長期趨勢(生命週期可以在這個基礎上也試一下)

1)中心化移動平均(存在補數或者對齊問題)

對2)右端對齊

3)加權移動平均(高斯濾波)

4)指數平滑

缺點:1)加權移動平均的權重計算耗。

2)移動平均不能應用到資料邊緣的資料,但是邊緣資料都很重要。

3)右端對齊移動平均,損失精度較大。

2.2.2 季節趨勢

迴圈週期疊加

2.2.3 不規則變動(殘差資訊待優化)

去除,將來可以用來計算置信區間

2.2.4 長期趨勢提取線性

2.3模型識別和定階(資料規律和長度優化確定後,這裡要重新選擇)

使用擬合效果的資訊準則法確定階數,這裡的資訊準側有aic(赤池資訊準則)和bic(貝葉斯資訊準則),它們的分析原理都是擬合殘差最小的階數p和q就是最合適的。

2.4模型**

1、長期趨勢-arima

2、季節趨勢-週期疊加(如果以後採用乘法和偽乘法分解,fft在可以提取即時週期)

3、線性趨勢-線性回歸延長

2.5模型合成

result = 長期趨勢+季節趨勢+線性趨勢

python處理時序資料總結

pandas處理時序資料容易出錯,經過多次摸索之後總結如下 先讀取資料 data pd.read csv fs,header none,sep index col false,encoding utf16 engine python skiprows 1,names time values 跳過一行...

時序資料簡介

生活中,我們經常會接觸到需要對某些指標或者狀態按時間序列進行統計和分析的場景,典型的如 走勢 氣象變化 記憶體監控等。這些依賴於時間而變化,可以用數值來反映其變化程度的資料就叫時序資料。時序資料具有兩個關鍵的指標 監測時間和監測數值。時序資料按照其資料組織形式可以分為單值模型和多值模型兩種。單值模型...

時序資料庫

看到這類資料處理基本是要對乙個時間範圍的資料,根據時間段,維度進行歸類,做一些聚合運算。時序資料庫要解決的問題就是如何能在海量資料中,快速響應使用者的此類查詢。序資料庫的一些基本概念 不同的時序資料庫稱呼略有不同 metric 度量,相當於關係型資料庫中的table。data point 資料點,相...