使用python实现时间序列白噪声检验方式
白噪声检验也称为纯随机性检验, 当数据是纯随机数据时,再对数据进行分析就没有任何意义了, 所以拿到数据后最好对数据进行一个纯随机性检验
acorr_ljungbox(x, lags=None, boxpierce=False) # 数据的纯随机性检验函数
lags为延迟期数,如果为整数,则是包含在内的延迟期数,如果是一个列表或数组,那么所有时滞都包含在列表中最大的时滞中
boxpierce为True时表示除开返回LB统计量还会返回Box和Pierce的Q统计量
返回值:
lbvalue:测试的统计量
pvalue:基于卡方分布的p统计量
bpvalue:((optionsal), float or array) – 基于 Box-Pierce 的检验的p统计量
bppvalue:((optional), float or array) – 基于卡方分布下的Box-Pierce检验的p统计量
代码实现:
from statsmodels.stats.diagnostic import acorr_ljungbox
acorr_ljungbox(b.salesVolume, lags = [6, 12],boxpierce=True)

由输出结果可以看到,不管是使用哪个统计量,p值都很大,所以该数据无法拒绝原假设,即认为该数据是纯随机数据
补充知识:用python实现时间序列单位根检验
在时间序列的建模中,需要先对数据进行平稳性检验,常用的有DF检验、ADF检验和PP检验,文章实例ADF检验
注:检验的P值是只在一个假设检验问题中,利用样本观测值能够作出拒绝原假设的最小显著性水平。
如果a >= p, 则在显著性水平a 下拒绝H0
如果a < p,则在显著性水平a下接受H0
实现方法一:
from arch.unitroot import ADF
ADF(data)

ADF检验的原假设是不平稳,这里P值近似为0 , 所以拒绝原假设,认为序列平稳。
from statsmodels.stats.diagnostic import unitroot_adf
unitroot_adf(b.salesVolume)

这里包含了检验值、p-value、滞后阶数、自由度等信息。我们看到了检验统计量为–5.954367776923936,小于1%的临界值-4.01203360058309,,即p值远小于0.01,因此我们拒绝原假设,认为该时间序列是平稳的。(这里原假设是存在单位根,即时间序列为非平稳的。)
以上这篇使用python实现时间序列白噪声检验方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
这篇文章主要介绍了python 使用paramiko模块进行封装,远程操作linux主机的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下2020-12-12
深度学习Tensorflow2.8实现GRU文本生成任务详解
这篇文章主要为大家介绍了深度学习Tensorflow 2.8 实现 GRU 文本生成任务示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01
Pytest+Yaml+Excel 接口自动化测试框架的实现示例
本文主要介绍了Pytest+Yaml+Excel 接口自动化测试框架,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-01-01
Python3.5 Pandas模块之DataFrame用法实例分析
这篇文章主要介绍了Python3.5 Pandas模块之DataFrame用法,结合实例形式详细分析了Python3.5中Pandas模块的DataFrame结构创建、读取、过滤、获取等相关操作技巧与注意事项,需要的朋友可以参考下2019-04-04


最新评论