網(wǎng)站首頁 編程語言 正文
一、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
相關(guān)推薦
- 2022-11-22 Redis?BloomFilter布隆過濾器原理與實現(xiàn)_Golang
- 2023-03-20 C#中的匿名函數(shù)、lambda表達式解讀_C#教程
- 2022-08-05 react+react-beautiful-dnd實現(xiàn)代辦事項思路詳解_React
- 2022-03-11 C++實操之內(nèi)聯(lián)成員函數(shù)介紹_C 語言
- 2022-04-08 從頭學習C語言之字符串處理函數(shù)_C 語言
- 2023-08-13 element表單組件的trigger表單驗證邏輯規(guī)則
- 2022-07-12 使用docker搭建Redis-cluster偽集群
- 2022-04-12 【debug】PytorchStreamReader failed reading zip arch
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支