from statsmodels.tsa.stattools import adfuller

我使用的是python的statsmodels。

1532680234(1).jpg

可以看到里面的参数

x:array_like,1维,时间序列

maxlag:int型,最大延迟阶数

regression:Constant and trend order to include in regression,回归中包含的常数和趋势阶数。解释一下:ADF检验和DF检验一样可以用于三种类型的单位根检验。(王燕,应用时间序列分析,6.3.2ADF检验,分了三种类型,代码里给了四种类型)

* 'c' : constant only (default),默认,仅有常数均值。

* 'ct' : constant and trend,有常数均值,有趋势。

* 'ctt' : constant, and linear and quadratic trend,有常数均值有线性和二次趋势。

* 'nc' : no constant, no trend,无常数均值,无趋势。

当选择的回归类型不同时,检验结果也会不同。我在这里深深地踩了一个坑。可以看一下时序图,你的数据是否有趋势,是否有常数均值。

autolag : {'AIC', 'BIC', 't-stat', None},自动选择延迟阶数

* if None, then maxlag lags are used,如果选择none,则使用最大延迟阶数

* if 'AIC' (default) or 'BIC', then the number of lags is chosen

to minimize the corresponding information criterion,如果选择AIC或者BIC,则延迟阶数是根据相应的最小信息准则决定的。(BIC就是SBC准则)(王燕,应用时间序列分析,3.3.6模型优化)

* 't-stat' based choice of maxlag. Starts with maxlag and drops a

lag until the t-statistic on the last lag length is significant

using a 5%-sized test,这个选择要基于最大延迟maxlag,从最大延迟阶数开始,每次减少一个延迟,直到某一阶延迟的t统计量对5%来说是显著的。(也就是说p_value值小于0.05,显著拒绝原假设,证明无单位根,也就是说序列是平稳的)

image.png

这是我的数据的检测结果。

第一部分是τ(tao)统计量的值。

第二部分是p_value的值。

第三部分是结果使用的延迟阶数。

第四部分是ADF回归和计算临界值所使用的观察次数。

第五部分是临界值。

第六部分是最大的信息准则的值(如果autolag 非空),也就是AIC或者BIC的值。

当我们看序列是否平稳的结果时,一般首先看第二部分的p_value值。如果p_value值比0.05小,证明有单位根,也就是说序列平稳。如果p_value比0.05大则证明非平稳。

源码里有一句note,如果p_value接近于0.05时,则要通过临界值进行判断。也就是说如果p_value接近于0.05就要通过第一部分τ(tao)统计量的值和第五部分的临界值进行对比。τ(tao)统计量的值比临界值小,就证明平稳,反之就是非平稳。我的检测结果τ(tao)统计量的值再临界值5%-10%之间。比5%的临界值大。这里的1%,5%,10%对应的是99%,95%,90%置信区间。

ADF检验只适合AR(P)模型。

且对方差齐性效果好,对异方差性效果不佳。异方差可用PP检验。

python单位根检验看结果_时间序列的ADF检验(单位根检验)相关推荐

  1. python线性回归分析看相关性_机器学习入门-相关分析之简单线性回归

    一.什么是机器学习? 简单来说,机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的 ...

  2. python线性回归分析看相关性_机器学习入门:相关性分析之线性回归

    一.前言 机器学习--特征与标签 : 输入模型的属性是"特征",输出的是"标签" 机器学习的核心是"使用算法解析数据,从中学习,然后对世界上的某件事情 ...

  3. python的django看不懂_学Python Django学得很迷茫,怎么办?

    不请自来... 因为最近python有点"过火",所以作为一个新时代的新青年,也得学一下吧!于是乎我就开始了自学之路. 先说下自己目前的心路历程,再说下我对题主遇到的问题的看法和建 ...

  4. python有必要看数据结构_盘点 Python 10 大常用数据结构(上篇)

    我的施工计划,已完成专题: Python 常用数据结构 学习目的 这个专题,尽量使用最精简的文字,借助典型案例盘点Python常用的数据结构. 如果你还处于Python入门阶段,通常只需掌握list. ...

  5. python基础教程书籍-Python学习必看书籍_带你高效学习

    坚持就是胜利,祝你成功!!! 都说python是最好的语言. 1.<笨办法学Python 3> 入门强烈推荐 本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴 ...

  6. pettitt检验r语言_基于Kriging方法和Pettitt检验的数据冲突判别

    基于 Kriging 方法和 Pettitt 检验的数据冲突判别 李建勋 ; 唐子豪 ; 张永进 ; 王小江 [期刊名称] <计算机工程与应用> [年 ( 卷 ), 期] 2020(056 ...

  7. python白噪声检验结果查询_使用python实现时间序列白噪声检验方式

    白噪声检验也称为纯随机性检验, 当数据是纯随机数据时,再对数据进行分析就没有任何意义了, 所以拿到数据后最好对数据进行一个纯随机性检验 acorr_ljungbox(x, lags=None, box ...

  8. python白噪声检验_时间序列 平稳性检验 白噪声 峰度 偏度

    时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...

  9. python平稳性检验_Python中非平稳时间序列的处理

    以下应用有什么共同点:预测未来三个月的一个家庭的电力消耗:估计在一定时期内道路的交通量:以及预测一个股票在纽约证券交易所上交易的价格. 以上都涉及时间序列数据的概念!如果没有"时间" ...

  10. python时间序列模型有哪些_时间序列模型(ARIMA)

    时间序列简介 时间序列 是指将同一统计指标的数值按其先后发生的时间顺序排列而成的数列.时间序列分析的主要目的是根据已有的历史数据对未来进行预测. 常用的时间序列模型 常用的时间序列模型有四种:自回归模 ...

最新文章

  1. Java程序猿面试题集(181- 199)
  2. 深度学习中的优化算法之BGD
  3. CSS text-transform 属性
  4. java继承机制实验报告_JAVA继承实验报告.doc
  5. Python学习笔记:Dict和Set
  6. Dijkstra算法——计算一个点到其他所有点的最短路径的算法
  7. python如何改变数据类型_如何改变numpy数组的数据类型和形状?
  8. 正则表达式大全(汇总)
  9. POJ2955Brackets——dp
  10. 3. 请列举java ee的主要新特性_JavaEE考试题
  11. grasshopper for rhino 6下载_Grasshopper做分形图案
  12. yarn的安装和使用
  13. LeaRun快速开发平台,.Net Core加持,功能更全面
  14. 笔记本桌面计算机图标不显示不出来,电脑桌面一片空白不显示图标的处理方法...
  15. 前端过滤特殊字符、表情包
  16. 浅谈APP运营推广:该如何的精准投放广告?
  17. 传统IT企业转型之路
  18. 静音计算机方案,如何解决计算机突然静音的问题
  19. debian/ubuntu和centos的系统升级命令
  20. JavaWEB(项目分析用户登录发布新闻)

热门文章

  1. PS一键飞溅碎片特效的插件
  2. android代码 qq语音,仿QQ语音变声功能实现(二)---移植到android studio 并解决部分问题...
  3. 刽子手c语言,麻烦刽子手程序在C
  4. 一元函数,多元函数,可微的含义 多元函数微分的几何意义 多元函数偏导 那么为什么有微分和可导 能不能固定两个或者多个条件,多偏微分,哈哈
  5. Android Fingerprint完全解析(一) :Fingerprint整体框架
  6. HTML5_用语义化标记重新定义博客
  7. Markdown常用特殊符号
  8. Presto查询出现error executing query异常
  9. app.use()方法详解
  10. 血浆分拣机上位机人机交互界面设计