日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

解讀時間序列分析之ADF檢驗_python

作者:大蝦飛哥哥 ? 更新時間: 2023-01-11 編程語言

一、ADF檢驗

在使用很多時間序列模型的時候,如 ARMA、ARIMA,都會要求時間序列是平穩(wěn)的,所以一般在研究一段時間序列的時候,第一步都需要進行平穩(wěn)性檢驗,除了用肉眼檢測的方法,另外比較常用的嚴格的統(tǒng)計檢驗方法就是ADF檢驗,也叫做單位根檢驗。

ADF檢驗全稱是 Augmented Dickey-Fuller test,顧名思義,ADF是 Dickey-Fuller檢驗的增廣形式。DF檢驗只能應用于一階情況,當序列存在高階的滯后相關(guān)時,可以使用ADF檢驗,所以說ADF是對DF檢驗的擴展。

二、單位根

一階AR模型,即AR(1)的情況,其模型如下:

如果α1 = 1 ,成為單位根。該模型就是隨機游走,我們知道它是不平穩(wěn)的。

換個思路想象一下,當α1 = 1 ,那么前一時刻的收益率對當下時刻的影響是100%的,不會減弱;那么就算是很遠的某個時刻,當下對它的影響還是不會消除,所以方差(表現(xiàn)在波動)是受前面所有時刻的影響,是和 t 相關(guān)的,因此不平穩(wěn);

如果α1 > 1,那么當前時刻的波動不僅受前面時刻的影響,還被放大了,所以肯定不平穩(wěn);

只有當α1 < 1 的時候,前面時刻的波動對當前時刻的影響會逐漸減小。可以計算此時的自協(xié)方差以及自相關(guān)系數(shù)是一個固定值。所以這種情況下,序列是平穩(wěn)的。

三、ADF檢驗的原理

ADF檢驗就是判斷序列是否存在單位根:如果序列平穩(wěn),就不存在單位根;否則,就會存在單位根。

所以,ADF檢驗的 H0 假設就是存在單位根,如果得到的顯著性檢驗統(tǒng)計量小于三個置信度(10%,5%,1%),則對應有(90%,95%,99%)的把握來拒絕原假設。

四、ADF檢驗的python實現(xiàn)

ADF檢驗可以通過python中的 statsmodels 模塊,這個模塊提供了很多統(tǒng)計模型。

1.引入庫

代碼如下:

from statsmodels.tsa.stattools import adfuller

2.函數(shù)說明

adfuller函數(shù)的參數(shù)意義分別是:

  • x:一維的數(shù)據(jù)序列。
  • maxlag:最大滯后數(shù)目。
  • regression:回歸中的包含項(c:只有常數(shù)項,默認;ct:常數(shù)項和趨勢項;ctt:常數(shù)項,線性二次項;nc:沒有常數(shù)項和趨勢項)。
  • autolag:自動選擇滯后數(shù)目(AIC:赤池信息準則,默認;BIC:貝葉斯信息準則;t-stat:基于maxlag,從maxlag開始并刪除一個滯后直到最后一個滯后長度基于 t-statistic 顯著性小于5%為止;None:使用maxlag指定的滯后)。
  • store:True False,默認。
  • regresults:True 完整的回歸結(jié)果將返回。False,默認。

返回值意義為:

  • adf:Test statistic,T檢驗,假設檢驗值。
  • pvalue:假設檢驗結(jié)果。
  • usedlag:使用的滯后階數(shù)。
  • nobs:用于ADF回歸和計算臨界值用到的觀測值數(shù)目。
  • icbest:如果autolag不是None的話,返回最大的信息準則值。
  • resstore:將結(jié)果合并為一個dummy。

五、時間序列分析

1.使用IH2112股指期貨數(shù)據(jù)為例

2.使用IH2112股指期貨數(shù)據(jù)為例

    result = adfuller(ih_df["IH2112"].values)
    print(result)

3. 將數(shù)據(jù)進行一階差分滯后

    ih_df_diff = np.diff(ih_df["IH2112"].values)
    result = adfuller(ih_df_diff)
    print(result)

總結(jié)

原文鏈接:https://blog.csdn.net/xu624735206/article/details/121767521

欄目分類
最近更新