白噪声检验也称为纯随机性检验, 当数据是纯随机数据时,再对数据进行分析就没有任何意义了, 所以拿到数据后最好对数据进行一个纯随机性检验
acorr_ljungbox(x, lags=None, boxpierce=False) # 数据的纯随机性检验函数
lags为延迟期数,如果为整数,则是包含在内的延迟期数,如果是一个列表或数组,那么所有时滞都包含在列表中最大的时滞中
boxpierce为True时表示除开返回LB统计量还会返回Box和Pierce的Q统计量
返回值:
lbvalue:测试的统计量
pvalue:基于卡方分布的p统计量
bpvalue:((optionsal), float or array) ?C 基于 Box-Pierce 的检验的p统计量
bppvalue:((optional), float or array) ?C 基于卡方分布下的Box-Pierce检验的p统计量
代码实现:
from statsmodels.stats.diagnostic import acorr_ljungbox
acorr_ljungbox(b.salesVolume, lags = [6, 12],boxpierce=True)
由输出结果可以看到,不管是使用哪个统计量,p值都很大,所以该数据无法拒绝原假设,即认为该数据是纯随机数据
补充知识:用python实现时间序列单位根检验
在时间序列的建模中,需要先对数据进行平稳性检验,常用的有DF检验、ADF检验和P