ADF检验数据平稳性

article/2025/10/8 21:36:11

目录

1 背景

2 单位根

3 单位根检验

4 ADF检验

5 python 实现与结果解释


1 背景

        在使用很多时间序列模型的时候,如 ARMA、ARIMA,都会要求时间序列是平稳的,所以一般在研究一段时间序列的时候,第一步都需要进行平稳性检验,除了用肉眼检测的方法,另外比较常用的严格的统计检验方法就是ADF检验,也叫做单位根检验

        ADF检验全称是 Augmented Dickey-Fuller test,顾名思义,ADF是 Dickey-Fuller检验的增广形式。DF检验只能应用于一阶情况,当序列存在高阶的滞后相关时,可以使用ADF检验,所以说ADF是对DF检验的扩展。

        ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。

2 单位根

        数学上,n次单位根是n次幂为1的复数。它们位于复平面的单位圆上,构成正n边形的顶点,其中一个顶点是1。

3 单位根检验

        先来看一阶AR模型,即AR(1)的情况,其模型如下:

             

  • 如果 ,该模型就是随机游走,我们知道它是不平稳的。换个思路想象一下,当 ,那么前一时刻的收益率对当下时刻的影响是100%的,不会减弱;那么就算是很远的某个时刻,当下对它的影响还是不会消除,所以方差(表现在波动)是受前面所有时刻的影响,是和 t 相关的,因此不平稳;
  • 如果 ,那么当前时刻的波动不仅受前面时刻的影响,还被放大了,所以肯定不平稳;
  • 只有当 的时候,前面时刻的波动对当前时刻的影响会逐渐减小。可以计算此时的自协方差以及自相关系数是一个固定值。所以这种情况下,序列是平稳的。

        对于高阶的AR模型也是一样的,一个AR (P)阶 模型如下: 

              

        如果 都小于1,那么这个序列是平稳的;存在某一个 ,这个序列就不是平稳的。

        要判断 是否都小于1,一般利用AR模型的特征方程,如下:

        

        这个方程有p个根。

       检验AR序列是否平稳,就是检验是否存在某个根大于等于1。这个过程叫单位根检验

4 ADF检验

        ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。

        所以,ADF检验的

  • H0 假设:存在单位根,序列不平稳;
  • H1 假设:不存在单位根,序列平稳;

        如果得到的显著性检验统计量小于三个置信度(10%,5%,1%),则对应有(90%,95,99%)的把握来拒绝原假设,即为平稳序列。

5 python 实现与结果解释​​​​​​​

ADF检验:Augmented Dickey–Fuller test 又称为扩展迪基-福勒检验,其可以用来检测当前序列是否平稳。ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。判断序列是否平稳的流程为:

(1)判断p_value值是否小于0.05置信区间(如果p值小于0.05,说明错误拒绝H0的概率很低,则我们有理由相信H0本身就是错误的,而非检验错误导致),若小于0.05,则可以认为拒绝原假设,数据不存在单位根,序列平稳;若大于或等于0.05,则不能显著拒绝原假设,需要进行下一步判断。

(2)进行T检验,如果 T统计量小于10%水平下(90%置信区间)的数字就可以拒绝原假设,认为数据平稳;否则认为数据不平稳。

import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller"""
判断是不是平稳数据
https://blog.csdn.net/aaakirito/article/details/116651795
"""
"""
ADF检验的原理
ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。
所以,ADF检验的 H0 假设就是存在单位根,如果得到的显著性检验统计量小于三个置信度(10%,5%,1%),则对应有(90%,95,99%)的把握来拒绝原假设。
"""
# 数据一、周期数据
fs = 100  # frequency: 100  Hz
Fs = 1000 # sampling frequency: 1000 Hz
dt = 1/Fs # sampling period
N = 100
T = N * dt # span
t = np.linspace(0, T, N, endpoint = False) # time
data = np.cos(2 * np.pi * fs * t) + np.random.normal(scale = 0.2, size = len(t))# 数据二、随机数据
# data = np.random.randint(6, 10, 300)plt.plot(data)
plt.show()alpha = 0.05result = adfuller(data)
print((result))
if result[1] < alpha:  # p_value值大,无法拒接原假设,有可能单位根,需要T检验print("stationarity")
else:if result[0] < result[4]['5%']:  # 代表t检验的值小于5%,置信度为95%以上,这里还有'1%'和'10%'print("stationarity")  # 拒接原假设,无单位根,平稳的else:print("no_stationarity")  # 无法拒绝原假设,有单位根,不平稳的# 结果解释
# 第一个是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.
# p值为0.0229<0.05,说明在5%下显著,即拒绝原假设,是平稳的。

 结果:

(-9.078071590100102, 4.127093240000678e-15, 6, 93, {'1%': -3.502704609582561, '5%': -2.8931578098779522, '10%': -2.583636712914788}, 1.7840114490861652)

第一个是adt检验的结果,简称为T值,表示t统计量。
第二个简称为p值,表示t统计量对应的概率值。
第三个表示延迟。
第四个表示测试的次数。
第五个是配合第一个一起看的,是在99%,95%,90%置信区间下的临界的ADF检验的值。

判断是否平稳:

第一点,1%、%5、%10不同程度拒绝原假设的统计值和ADF Test result的比较,ADF Test result(第一个值)同时小于1%、5%、10%即说明非常好地拒绝该假设(即为平稳数据)。本数据中,adf结果为-9.078, 小于三个level的统计值
第二点,p值要求小于给定的显著水平,p值要小于0.05,等于0是最好的。本数据中,P-value 为 1e-15,接近0。p值为4.127e-15<0.05,说明在5%下显著,即拒绝原假设,是平稳的。

检验统计量P值的由来、含义、应用

1 .P值的由来

        除了利用拒绝域和接受域来判断和抉择是否拒绝原假设以外,我们还可以利用伴随概率进行判断。伴随概率是指当原假设为真时检验统计量取该观察值或更极端值的概率,此概率值我们称为 P值(P-value)。每一个检验统计量都会对应一个P值。P值是用来测量样本观测数据与原假设中假定的μ值的偏离程度。P值越小,说明实际观测到的数据与H 0 之间不一致的程度就越大,检验的结果也就越显著。

2 .P值的含义

        我们知道显著性水平α是人为选定的,即事先设定犯弃真错误的最大允许概率值;P 值则是构造出的检验统计量落在拒绝域内的概率值,P值是实际计算出来的。P值越小,对于更小的概率值,检验统计量竟然落在了拒绝域,说明拒绝原假设的理由更充分

3 .P值的应用

         一般我们将某统计量的观察值对应的P值与设定的显著性水平α进行比较,若P≤α,则我们有更充分的理由拒绝原假设;若 P >α,则我们不能拒绝原假设。常用的统计软件如 EViews、SPSS等的分析结果中均会给出检验统计量对应的P值,因此在实际应用中,我们常用P值作为判断的准则。

检验统计量:检验统计量_百度百科

单位根_哔哩哔哩_bilibili单位根检验、ADF检验、平稳性检验_哔哩哔哩_bilibili单位根_哔哩哔哩_bilibili

浅谈p值(p-value是什么):https://www.jianshu.com/p/4c9b49878f3d?u_atoken=5e49152f-59df-419b-89ff-d19b18d6d7e1&u_asession=01zxCAr9V_hf86Bi7fxPxaQOWAR5tz30J_eVi-N6mM44D-kdw-6H1jNOofbXRouLjnX0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K-NobWTG_xwyXZzPasDVPJ73KmjkU3JT7ddtoHBlecZWGBkFo3NEHBv0PZUm6pbxQU&u_asig=05B84LN60qDaOs1YORDHf9wjzQIfWoaDvgJFwl2uKFbhOKYrcaqSqZ7H8o0zmnRZzSaXxYy1bJwW0myY2mlQ5hsPgarhUtF1ewS6oWXT7MoAAQNJRH-_QMeunebqkSLPtuDJK1Rt-m63DTcBOT2grsGFozBa9wKQ_qJ8ehpf8idGX9JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzTcpd4hcOD5-oGCZAD6vpu-rmGTP_3SaRf9MwpqatSbbzKnPGeiYgOeAvNODIGQOu-3h9VXwMyh6PgyDIVSG1W9CsWlR44eK-jlHDID87XwgLrOBOWgTd5WAMvZk50HQNAcrSzr3tpkB_SrSF79k6SD1rDWJx64VZOfVQV3fhMivmWspDxyAEEo4kbsryBKb9Q&u_aref=NHbUuXXuKmWewNuhGq2xhlO9CIw%3D


http://chatgpt.dhexx.cn/article/ve0jejOV.shtml

相关文章

时间序列学习(4):平稳性检验(单位根检验、ADF检验)

时间序列学习&#xff08;4&#xff09;&#xff1a;平稳性检验&#xff08;单位根检验、ADF检验&#xff09; 1、单位根检验2、ADF检验3、指数走势的检验4、对数收益率序列检验 相关图可以大致判断序列是否平稳。但是&#xff0c;这毕竟不是严格的。 这篇笔记来就谈一谈平稳性…

Spectral clustering(谱聚类)算法的实现

目录 1.作者介绍2.关于谱聚类的介绍2.1 谱聚类概述2.2 无向权重图2.3 邻接矩阵2.4 相似矩阵2.5 度矩阵2.6 拉普拉斯矩阵2.7 K-Means 3.Spectral clustering&#xff08;谱聚类&#xff09;算法实现3.1 数据集3.2 导入所需要的包3.3 获取特征值和特征向量3.4 利用K-Means聚类3.5…

Python学习4-谱聚类

一&#xff0c;谱聚类原理 谱聚类算法原理可以参考如下链接。 这个视频推导出了拉普拉斯矩阵&#xff0c;但没有更新后续优化问题。 机器学习-白板推导系列(二十二)-谱聚类&#xff08;Spectral Clustering&#xff09;_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV…

机器学习-层次聚类(谱系聚类)算法

文章目录 简介距离矩阵最短距离法最长距离法类平均法重心法python应用 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 层次聚类&#xff08;Hierarchical Clustreing&#xff09;又…

到底什么是谱聚类算法?

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达本文转自&#xff1a;视学算法 谱聚类算法是目前最流行的聚类算法之一&#xff0c;其性能及适用场景优于传统的聚类算法如k-均值算法&#xff0c;本文对谱聚类算法进行了…

图像聚类-谱聚类

最近做的一个东西跟这个相关&#xff0c;本来希望是用深度学习对于没有标签的图像数据进行分类&#xff0c;但是通常情况下&#xff0c;深度学习是对有标签的数据进行学习&#xff0c;目的是用来自动提取特征&#xff0c;代替传统的手工提取特征。因此&#xff0c;比较容易想到…

聚类算法实践(二)——谱聚类、Chameleon聚类

上一篇文章里说到的层次聚类和K-means聚类&#xff0c;可以说是聚类算法里面最基本的两种方法&#xff08;wiki的cluster analysis页面都把它们排前两位&#xff09;。这次要探讨的&#xff0c;则是两个相对“高级”一点的方法&#xff1a;谱聚类和chameleon聚类。 4、谱聚类 …

谱聚类的案例

1. 政治博客数据集(见附件Pol_Blogs_CSV文件) 数据集网址一: Political blogs 数据集网址二: http://www.casos.cs.cmu.edu/computational_tools/datasets/external/polblogs/index11.php 政治博客数据是由Adamic和Glance于2005年收集并分析的. 该数据集包含了2004年美国总…

谱聚类算法 matlab

1、谱聚类算法步骤公式 &#xff08;1&#xff09;整理数据集&#xff0c;使数据集中数据在0-1之间。假设数据集m行n列。 &#xff08;2&#xff09;求邻接矩阵W。元素值为每一点到其他点之间距离&#xff0c;即权重。 &#xff08;3&#xff09;求相似度矩阵S&#xff0c;相…

谱聚类(Spectral Clustering)详解

原文地址为&#xff1a; 谱聚类(Spectral Clustering)详解 谱聚类(Spectral Clustering)详解 谱聚类(Spectral Clustering, SC)是一种基于图论的聚类方法——将带权无向图划分为两个或两个以上的最优子图&#xff0c;使子图内部尽量相似&#xff0c;而子图间距离尽量距离较远&…

从拉普拉斯矩阵说到谱聚类

从拉普拉斯矩阵说到谱聚类 0 引言 11月1日上午&#xff0c;机器学习班 第7次课&#xff0c;邹讲聚类&#xff08;PPT&#xff09;&#xff0c;其中的谱聚类引起了自己的兴趣&#xff0c;邹从最基本的概念&#xff1a;单位向量、两个向量的正交、方阵的特征值和特征向量&#xf…

聚类--谱聚类

前言&#xff1a;关于谱聚类&#xff0c;已经有很多厉害的老师和大牛写过教程博客等&#xff0c;也有很不错的tutorial文章可供参考。此博文仅记述个人的一些总结、思考、疑问&#xff0c;算是对现有谱聚类学习资源的一个小补充。 1. 谱聚类简述 说到聚类&#xff0c;可能最先…

MATLAB 谱聚类

k-means 可以说是思想最简单的聚类了&#xff0c;但是它在应对非凸数据时却显得手足无措&#xff0c;例如如下的数据分类&#xff1a; 各类之间虽然间隔较远&#xff0c;但是非凸&#xff0c;这时候就需要引入谱聚类了(以下为谱聚类效果)。 本文参考 [1]Ulrike von Luxburg. A…

谱聚类算法详解

谱聚类&#xff08;Spectral Clustering&#xff09;算法简单易行&#xff0c;其聚类性能优于传统的K-means算法。谱聚类将数据的划分转化为对图的分割&#xff0c;是一种基于图论的聚类方法&#xff0c;其直观理解为根据图内点的相似度将图分为多个子图&#xff0c;使子图内部…

谱聚类算法简单理解

一、算法思想 谱聚类是基于图论的知识所演化出的算法&#xff0c;在聚类中广泛使用。主要思想是将所有的数据看成空间中的点&#xff0c;这些点之间可以用边连接起来&#xff0c;距离较远的两点之间边的权重值较低&#xff0c;距离较近的两点间边的权重值较高&#xff0c;然后…

了解聚类是什么。聚类方法:k-means、核聚类、层次聚类、谱聚类

聚类 1.什么是聚类2.聚类方法2.1 划分式聚类方法k-meansk-meansbi-kmeans 基于密度的方法DBSCANOPTICS算法 层次化聚类算法核聚类支持向量聚类谱聚类引言优缺点步骤 参考文档:参考 1.什么是聚类 定义 聚类(Clustering) 是按照某个特定标准(如距离)把一个数据集分割成不同的类…

【聚类】谱聚类解读、代码示例

【聚类】谱聚类详解、代码示例 文章目录 【聚类】谱聚类详解、代码示例1. 介绍2. 方法解读2.1 先验知识2.1.1 无向权重图2.1.2 拉普拉斯矩阵 2.2 构建图&#xff08;第一步&#xff09;2.2.1 ϵ \epsilon ϵ 邻近法2.2.2 k 近邻法2.2.3 全连接法 2.3 切图&#xff08;第二步&a…

谱聚类(Spectral Clustering)原理及Python实现

谱聚类原理及Python实现 图模型 无向带权图模型 G<V,E> G < V , E > &#xff0c;每一条边上的权重 wij w i j 为两个顶点的相似度&#xff0c;从而可以定义相似度矩阵 W W ,此外还可以定义度矩阵D" role="presentation" style="position: …

谱聚类算法(Spectral Clustering)

谱聚类算法(Spectral Clustering) 谱聚类(Spectral Clustering, SC)是一种基于图论的聚类方法——将带权无向图划分为两个或两个以上的最优子图&#xff0c;使子图内部尽量相似&#xff0c;而子图间距离尽量距离较远&#xff0c;以达到常见的聚类的目的。其中的最优是指最优目标…

谱聚类(spectral clustering)及其实现详解

Preface 开了很多题&#xff0c;手稿都是写好一直思考如何放到CSDN上来&#xff0c;一方面由于公司技术隐私&#xff0c;一方面由于面向对象不同&#xff0c;要大改&#xff0c;所以一直没贴出完整&#xff0c;希望日后可以把开的题都补充全。 先把大纲列出来&#xff1a; 一…