python時間序列平穩性 時間序列d的平穩性

2021-10-11 21:59:10 字數 1220 閱讀 4832

我正在嘗試使用python中的arima建模來建模時間序列資料。我對預設資料序列使用函式statsmodels.tsa.stattools.arma_order_select_ic,得到p和q的值分別為2,2。**如下dates=pd.date_range('2010-11-1','2011-01-30')

dataseries=series([22,624,634,774,726,752,38,534,722,678,750,690,686,26,708,606,632,632,632,584,28,576,474,536,512,464,436,24,448,408,528,

602,638,640,26,658,548,620,534,422,482,26,616,612,622,598,614,614,24,644,506,522,622,526,26,22,738,582,592,408,466,568,

44,680,652,598,642,714,562,38,778,796,742,460,610,42,38,732,650,670,618,574,42,22,610,456,22,630,408,390,24],index=dates)

df=pd.dataframe()

dfsm.tsa.arma_order_select_ic(df, max_ar=4, max_ma=2, ic='aic')

結果如下:

但當我使用奧古斯丁-迪基-富勒檢驗時,檢驗結果表明該序列不是平穩的。d_order0=sm.tsa.adfuller(dataseries)

print 'adf: ', d_order0[0]

print 'p-value: ', d_order0[1]

print'critical values: ', d_order0[4]

if d_order0[0]> d_order0[4]['5%']:

print 'time series is nonstationary'

print d

else:

print 'time series is stationary'

print d

輸出如下:adf: -1.96448506629

p-value: 0.302358888762

critical values:

time series is nonstationary

當我用r交叉驗證結果時,它表明預設序列是平穩的。那麼為什麼奧古斯丁-迪基-富勒檢驗會產生非平穩序列呢?

理解 時間序列的平穩性

為什麼要平穩?原因一 時間序列資料的資料結構與傳統的統計資料結構不同。最大的區別在於,傳統隨機變數可以得到多個觀測值 比如骰子點數,可以反覆擲得到多個觀測值,忽略時間的差異 而時間序列資料中,每個隨機變數只有乙個觀測值 比如設 價為研究的隨機變數,每天只有乙個 價,不同日子的 服從的分布不同,即考慮...

時間序列學習筆記(2)平穩性

平穩性檢驗 非平穩序列確定性分析 加權平滑法 指數平滑法 純隨機檢驗 幾個定義點 確定趨勢or隨機趨勢,這裡隨機趨勢是很不好把把握的,認為不是隨機散亂的,便認為存在一種趨勢,而確定趨勢是可以找尋具體函式的。趨勢,迴圈,在一段時間內有規律的運動,像我們理解中的一年四季 隨機因素 除趨勢和季節因素 引起...

時間序列平穩性的統計檢驗

在實際應用過程中,通常需要對時間序列進行平穩性判斷,觀察乙個序列是否存在某種趨勢,以及各時間間隔內折線是否存在 明顯的差異。下面介紹一下常用的幾種檢驗方法。1 繪製時間序列散點圖。該方法只能直觀 粗略的看序列是否存在明顯的趨勢。2 daniel檢驗法。主要用於觀察序列是否存在著趨勢,不檢測自相關。該...