Python ADF 单位根检验 如何查看结果的实现

 更新时间:2020年06月03日 11:10:10   作者:蒹葭苍苍-白露为霜  
这篇文章主要介绍了Python ADF 单位根检验 如何查看结果的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

from statsmodels.tsa.stattools import adfuller

print(adfuller(data))

(-8.14089819118415, 1.028868757881713e-12, 8, 442, {'1%': -3.445231637930579, '5%': -2.8681012763264233, '10%': -2.5702649212751583}, -797.2906467666614)

第一个是adt检验的结果,简称为T值,表示t统计量。

第二个简称为p值,表示t统计量对应的概率值。

第三个表示延迟。

第四个表示测试的次数。

第五个是配合第一个一起看的,是在99%,95%,90%置信区间下的临界的ADF检验的值。

第一点,1%、%5、%10不同程度拒绝原假设的统计值和ADF Test result的比较,ADF Test result同时小于1%、5%、10%即说明非常好地拒绝该假设。本数据中,adf结果为-8, 小于三个level的统计值

第二点,p值要求小于给定的显著水平,p值要小于0.05,等于0是最好的。本数据中,P-value 为 1e-15,接近0.

ADF检验的原假设是存在单位根,只要这个统计值是小于1%水平下的数字就可以极显著的拒绝原假设,认为数据平稳。注意,ADF值一般是负的,也有正的,但是它只有小于1%水平下的才能认为是及其显著的拒绝原假设。

对于ADF结果在1% 以上 5%以下的结果,也不能说不平稳,关键看检验要求是什么样子的。

补充知识:python 编写ADF 检验 ,代码结果参数所表示的含义

我就废话不多说了,大家还是直接看代码吧!

from statsmodels.tsa.stattools import adfuller

import numpy as np
import pandas as pd

adf_seq = np.array([1,2,3,4,5,7,5,1,54,3,6,87,45,14,24])

dftest = adfuller(adf_seq,autolag='AIC')

dfoutput = pd.Series(dftest[0:4],index=['Test Statistic','p-value','#Lags Used','Number of Observations Used'])

# 第一种显示方式

for key,value in dftest[4].items():

  dfoutput['Critical Value (%s)' % key] = value

  print(dfoutput)

# 第二种显示方式

print(dftest)

(1)第一种显示方式如图所示:

具体的参数含义如下所示:

Test Statistic : T值,表示T统计量

p-value: p值,表示T统计量对应的概率值

Lags Used:表示延迟

Number of Observations Used: 表示测试的次数

Critical Value 1% : 表示t值下小于 - 4.938690 , 则原假设发生的概率小于1%, 其它的数值以此类推。

其中t值和p值是最重要的,其实这两个值是等效的,既可以看t值也可以看p值。

p值越小越好,要求小于给定的显著水平,p值小于0.05,等于0最好。

t值,ADF值要小于t值,1%, 5%, 10% 的三个level,都是一个临界值,如果小于这个临界值,说明拒绝原假设。

其中,1% : 严格拒绝原假设; 5%: 拒绝原假设; 10% 以此类推,程度越来越低。如果,ADF小于1% level, 说明严格拒绝原假设。

(2)第二种表示方式,如下图所示:

第一个值(0.0): 表示Test Statistic , 即T值,表示T统计量

第二个值(0.958532086060056):p-value,即p值,表示T统计量对应的概率值

第三个值(7):Lags Used,即表示延迟

第四个值(7):Number of Observations Used,即表示测试的次数

大括号中的值,分别表示1%, 5%, 10% 的三个level

查阅了资料,简单的做的总结经验。

以上这篇Python ADF 单位根检验 如何查看结果的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python jieba分词添加自定义词和去除不需要长尾词的操作方法

    Python jieba分词添加自定义词和去除不需要长尾词的操作方法

    这篇文章主要介绍了Python jieba分词如何添加自定义词和去除不需要长尾词,主要介绍jieba的基础用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • pandas 将list切分后存入DataFrame中的实例

    pandas 将list切分后存入DataFrame中的实例

    今天小编就为大家分享一篇pandas 将list切分后存入DataFrame中的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python通过类的组合模拟街道红绿灯

    Python通过类的组合模拟街道红绿灯

    这篇文章主要介绍了Python通过类的组合模拟街道红绿灯,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • django自定义Field实现一个字段存储以逗号分隔的字符串

    django自定义Field实现一个字段存储以逗号分隔的字符串

    这篇文章主要介绍了django自定义Field实现一个字段存储以逗号分隔的字符串的示例,需要的朋友可以参考下
    2014-04-04
  • Django进阶深入理解使用类视图和中间件示例

    Django进阶深入理解使用类视图和中间件示例

    这篇文章主要为大家介绍了Django高级指南之深入理解和使用类视图和中间件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 8个python新手入门项目

    8个python新手入门项目

    文将介绍8个带有代码的Python项目,这些项目将帮助大家增强编程能力,这些项目涵盖了各种主题和难度级别,助力大家成长为一个Python开发者
    2024-01-01
  • python socket实现聊天室

    python socket实现聊天室

    这篇文章主要为大家详细介绍了python socket实现聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 利用Python学习RabbitMQ消息队列

    利用Python学习RabbitMQ消息队列

    RabbitMQ和邮局的主要区别就是RabbitMQ接收、存储和发送的是二进制数据----消息,本篇文章给大家介绍利用Python学习RabbitMQ消息队列,对python消息队列相关知识感兴趣的朋友参考下
    2015-11-11
  • Python用于学习重要算法的模块pygorithm实例浅析

    Python用于学习重要算法的模块pygorithm实例浅析

    这篇文章主要介绍了Python用于学习重要算法的模块pygorithm,结合实例形式简单分析了pygorithm模块的功能、算法调用、源码获取、时间复杂度计算等相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • Python爬虫之批量下载喜马拉雅音频

    Python爬虫之批量下载喜马拉雅音频

    今天教大家如何利用Python爬虫批量下载喜马拉雅音频,文中有非常详细的代码示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05

最新评论