解讀時間序列分析之ADF檢驗
一、ADF檢驗
在使用很多時間序列模型的時候,如 ARMA、ARIMA,都會要求時間序列是平穩(wěn)的,所以一般在研究一段時間序列的時候,第一步都需要進行平穩(wěn)性檢驗,除了用肉眼檢測的方法,另外比較常用的嚴格的統(tǒng)計檢驗方法就是ADF檢驗,也叫做單位根檢驗。
ADF檢驗全稱是 Augmented Dickey-Fuller test,顧名思義,ADF是 Dickey-Fuller檢驗的增廣形式。DF檢驗只能應(yīng)用于一階情況,當(dāng)序列存在高階的滯后相關(guān)時,可以使用ADF檢驗,所以說ADF是對DF檢驗的擴展。
二、單位根
一階AR模型,即AR(1)的情況,其模型如下:

如果α1 = 1 ,成為單位根。該模型就是隨機游走,我們知道它是不平穩(wěn)的。
換個思路想象一下,當(dāng)α1 = 1 ,那么前一時刻的收益率對當(dāng)下時刻的影響是100%的,不會減弱;那么就算是很遠的某個時刻,當(dāng)下對它的影響還是不會消除,所以方差(表現(xiàn)在波動)是受前面所有時刻的影響,是和 t 相關(guān)的,因此不平穩(wěn);
如果α1 > 1,那么當(dāng)前時刻的波動不僅受前面時刻的影響,還被放大了,所以肯定不平穩(wěn);
只有當(dāng)α1 < 1 的時候,前面時刻的波動對當(dāng)前時刻的影響會逐漸減小??梢杂嬎愦藭r的自協(xié)方差以及自相關(guān)系數(shù)是一個固定值。所以這種情況下,序列是平穩(wěn)的。
三、ADF檢驗的原理
ADF檢驗就是判斷序列是否存在單位根:如果序列平穩(wěn),就不存在單位根;否則,就會存在單位根。
所以,ADF檢驗的 H0 假設(shè)就是存在單位根,如果得到的顯著性檢驗統(tǒng)計量小于三個置信度(10%,5%,1%),則對應(yīng)有(90%,95%,99%)的把握來拒絕原假設(shè)。
四、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檢驗,假設(shè)檢驗值。pvalue:假設(shè)檢驗結(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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)個人微信號自動監(jiān)控告警的示例
今天小編就為大家分享一篇Python實現(xiàn)個人微信號自動監(jiān)控告警的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實例
下面小編就為大家分享一篇python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器
這篇文章主要介紹了編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器的方法,包括對小說的章節(jié)排列等方面的優(yōu)化,對于Python學(xué)習(xí)者來說非常具有實踐意義!需要的朋友可以參考下2015-08-08
Python實現(xiàn)對Excel文件中不在指定區(qū)間內(nèi)的數(shù)據(jù)加以去除的方法
這篇文章主要介紹了基于Python語言,讀取Excel表格文件,基于我們給定的規(guī)則,對其中的數(shù)據(jù)加以篩選,將不在指定數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)剔除,保留符合我們需要的數(shù)據(jù)的方法,需要的朋友可以參考下2023-08-08
自定義實現(xiàn) PyQt5 下拉復(fù)選框 ComboCheckBox的完整代碼
這篇文章主要介紹了自定義實現(xiàn) PyQt5 下拉復(fù)選框 ComboCheckBox的完整代碼,本文通過實例代碼講解的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03

