在对时间序列做预测前,我们要对数据进行一系列检验,主要是检验数据的稳定性和随机性(白噪声检验),本文主要介绍ADF检验Ljung-Box检验

ADF检验

ADF检验即单位根检验是指检验序列中是否存在单位根,因为存在单位根就是非平稳时间序列了。单位根就是指单位根过程,可以证明,序列中存在单位根过程就不平稳,会使回归分析中存在伪回归。

下面给出ADF检验的python代码

from statsmodels.tsa.stattools import adfuller
import pandas as pd
import numpy as np
data = pd.Series([151.0, 188.46, 199.38, 219.75, 241.55, 262.58, 328.22, 396.26, 442.04, 517.77, 626.52, 717.08, 824.38, 913.38, 1088.39, 1325.83, 1700.92, 2109.38, 2499.77, 2856.47, 3114.02, 3229.29, 3545.39, 3880.53, 4212.82, 4757.45, 5633.24, 6590.19, 7617.47, 9333.4, 11328.92, 12961.1, 15967.61],index=np.arange(1978,2011))
re=adfuller(data)
print(re)

(-0.04391111656553118, 0.9547464774274733, 10, 22, {'1%': -3.769732625845229, '5%': -3.005425537190083, '10%': -2.6425009917355373}, 291.54354258641223)

结果分析如下:
-0.04391111656553118是adt检验的结果,简称为T值,表示t统计量。
0.9547464774274733简称为p值,表示t统计量对应的概率值。
10表示延迟。
22表示测试的次数。
第五个是配合T值一起看的,是在99%,95%,90%置信区间下的临界的ADF检验的值。
291.54354258641223最大滞后门限值门限

首先,-0.04391111656553118大于三个置信区间的临界值,即存在单位根。

其次,p值要求小于给定的显著水平(一般是0.05),等于0最好。本数据中,P值 为 0.9547464774274733,大于0.05,即存在单位根。

所以综上所述,此序列不是平稳序列

下面给出平稳序列的结果
(-4.924087490679005, 3.129856642757301e-05, 19, 636, {'1%': -3.4406737255613256, '5%': -2.866095119842903, '10%': -2.5691958123689727}, 14356.744057311003)

T值小于三个置信区间的临界值,且P值小于0.05接近0,所以不存在单位根,是平稳序列。

Ljung-Box检验

Ljung-Box检验即LB检验、随机性检验,用来检验m阶滞后范围内序列的自相关性是否显著,或序列是否为白噪声,Q统计量服从自由度为m的卡方分布。若是白噪声数据,则该数据没有价值提取,即不用继续分析了

下面给出Ljung-Box检验的python代码

from statsmodels.stats.diagnostic import acorr_ljungbox as lb_test
re = lb_test(data, lags=20)#使用的博主自己的数据
prinit(re)
        lb_stat      lb_pvalue
1    471.099659  1.847036e-104
2    899.481638  4.786785e-196
3   1347.384204  7.695651e-292
4   1791.734228   0.000000e+00
5   2207.199800   0.000000e+00
6   2674.155719   0.000000e+00
7   3242.923906   0.000000e+00
8   3686.776794   0.000000e+00
9   4069.902008   0.000000e+00
10  4474.462678   0.000000e+00
11  4865.867510   0.000000e+00
12  5234.470249   0.000000e+00
13  5641.097308   0.000000e+00
14  6133.124076   0.000000e+00
15  6518.637784   0.000000e+00
16  6846.243758   0.000000e+00
17  7193.271970   0.000000e+00
18  7526.968985   0.000000e+00
19  7836.234889   0.000000e+00
20  8179.147428   0.000000e+00

结果分析如下

我们主要看第二列的P值,lags为检验的延迟数,一般指定是20,或是序列长度,每一个P值都小于0.05或等于0,说明该数据不是白噪声数据,数据有价值,可以继续分析。

反之如果大于0.05,则说明是白噪声序列,是纯随机性序列。

时间序列平稳性检验(ADF)和白噪声检验(Ljung-Box)相关推荐

  1. 时间序列平稳性分析和白噪声检验

    文章目录 一.时间序列平稳性 1.ADF检验 1.1.ADF检验原理 1.2.ADF的python实现 2.ACF和PACF 二.白噪声检验 原始的负荷时间序列曲线 一.时间序列平稳性 时间序列分析之 ...

  2. 【R语言实验】基于R语言的时间序列平稳性检验

    一.实验项目名称:基于R语言的时间序列平稳性检验 二.实验目的与要求: 平稳时间序列的概念,平稳性检验的时序图检验方法和自相关图检验方法. 三.实验原理: 时序图和自相关图检验时间序列的平稳性依据: ...

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

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

  4. python 白噪声检验 结果-时间序列 平稳性检验 白噪声 峰度 偏度

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

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

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

  6. R语言时间序列平稳性几种单位根检验(ADF,KPSS,PP)及比较分析

    原文链接:http://tecdat.cn/?p=21757 时间序列模型根据研究对象是否随机分为确定性模型和随机性模型两大类. 随机时间序列模型即是指仅用它的过去值及随机扰动项所建立起来的模型,建立 ...

  7. 如果常数项没有经过显著性检验_时间序列(一):平稳性、自相关函数与LB检验...

    前言 略过介绍性的知识,直接怼重难点. 1. 平稳性 Stationarity 直观上看当数据没有明显的模式特征的话(趋势性.季节性),我们认为它是平稳的.定义上"平稳"指固定时间 ...

  8. python时间序列平稳性检验_Python量化投资基础:时间序列的平稳性检验

    主要内容: 1. 自相关性和自相关系数 2. 强平稳和弱平稳 3. Python平稳性检验实战 重要性:10分 (1-10). 时间序列数据的平稳性对于我们采用什么样的分析方式.选择什么样的模型有着至 ...

  9. matlabadftest_怎样用matlab做时间序列平稳性检验

    展开全部 用matlab做时间序e68a84e8a2ad62616964757a686964616f31333431373234列平稳性检验需要作图.拟合,具体说明如下所示: 根据动态数据作相关图,进 ...

最新文章

  1. access下如何配置两个vlan_【新华三】网络工程师 H3C如何配置VLAN-trunk 二层隔离技术...
  2. 使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
  3. unity 知道2点计算线段选择角度_影像测量仪实战技巧之角度测量
  4. [导入]PHP通用分页类
  5. JavaScript数据结构与算法——列表详解(上)
  6. 计算机视觉论文doc,嘉炬-计算机视觉论文资料.doc
  7. java)_Java NIO系列教程(一) Java NIO 概述
  8. 【转】wpf从我炫系列1----布局控件的使用(上)
  9. cisco路由器故障判断及排除 计算机管理与维护
  10. Python异常:TypeError: a bytes-like object is required, not 'str'
  11. 字符集与编码(九)——GB2312,GBK,GB18030
  12. 在Exchange Server 2007中限制部分用户只能收发内部邮件
  13. idea没有错误提示的解决方法(一直处于错误分析中)
  14. matlab各类数学公式
  15. 内核移植(4)移植yaffs文件系统
  16. jdk基础之Object类getClass()方法
  17. Linked List Cycle给定一个链表,判断其中是否有环。
  18. Xcode9安装插件,xcode9安装使用Alcatraz
  19. mysql in查询效率真的低_MySql中in查询效率低的替代方法
  20. LM317稳压电源设计

热门文章

  1. ElementUI中的 Cascader 级联选择器 卡顿问题
  2. python操作ppt
  3. PHP电子商城需求分析,网站(电子商城)设计与实现[原创]
  4. java月份简写_Java如何以(MMM)格式显示一个月份的名称?
  5. Vue antdv a-select 内容搜索过滤(filterOption)
  6. CAN笔记(17) 预定义报文ID
  7. Linux和windows下minio+springboot实现文件服务器上传下载和nginx反向代理
  8. python绘制一个时间的七段数码管实例基本的七段数码管绘制
  9. LInux:进程等待之wait() waitpid()
  10. centos7.1中安装calamari