news 2026/3/10 15:41:30

ADF检测:给时间序列做个“体检”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ADF检测:给时间序列做个“体检”

本文详细介绍ADF检测(Augmented Dickey-Fuller Test),这是时间序列分析中判断数据是否平稳的金标准。

在做时间序列预测(比如用 ARIMA 模型)之前,我们必须先回答一个问题:“这组数据是平稳的吗?”如果不平稳,很多模型根本跑不通,或者跑出来的结果是错的。


1. 什么是“平稳性” (Stationarity)?

用最直白的话说:平稳的数据,就是“守规矩”的数据。

它的统计特性(均值、方差)不会随着时间流逝而改变。无论你什么时候去观察它,它看起来都差不多。

生动的例子

  • 平稳序列(心电图)

    • 人的心跳虽然在跳动,但始终围绕着一个基准线(比如每分钟 75 次)上下波动。
    • 它不会今天跳 70,明天跳 200,后天跳 1000。
    • 特点:有固定的均值,波动范围(方差)也比较固定。
  • 非平稳序列(股票走势)

    • 一支牛股,价格从 10 块涨到 100 块,又跌回 50 块。
    • 它的均值一直在变(去年均价 20,今年均价 80)。
    • 特点:有趋势(上涨或下跌),或者波动越来越剧烈。

(图示:上方是平稳序列,围绕 0 轴稳定波动;下方是非平稳序列,像醉汉走路一样没有定性)


2. 为什么要追求平稳?

你可能会问:“股票那种不平稳的数据才是常态啊,为什么要强求平稳?”

因为大多数经典的时间序列模型(如 ARIMA)都是基于“过去即未来”的假设。

  • 如果数据是平稳的,我们可以自信地说:“过去它的均值是 0,未来它的均值大概率还是 0。”
  • 如果数据不平稳(比如一直在涨),过去的均值是 10,未来的均值可能是 100。用过去的规律去套未来的数据,就会失效。

所以,在建模前,我们通常要把“不平稳”的数据转化成“平稳”的数据。


3. 什么是 ADF 检测?

肉眼看图虽然直观,但有时候不够严谨。我们需要一个数学上的裁判,这就是ADF 检测

它的全称是Augmented Dickey-Fuller Test(增广迪基-福勒检验)。

核心逻辑:假设检验

ADF 检测就像法庭审判:

  1. 原假设 (H0)“被告是有罪的”->“数据是不平稳的”(存在单位根)。
  2. 备择假设 (H1)“被告是无罪的”->“数据是平稳的”

我们需要找证据(计算统计量)来推翻原假设。


4. 如何看 ADF 检测结果?

我们在 Python 中使用statsmodels库来做 ADF 检测。结果中我们主要看两个指标:

4.1 p-value (P值) —— 最重要!

  • p-value < 0.05

    • 结论:证据确凿,拒绝原假设
    • 人话数据是平稳的
    • 可以放心使用 ARIMA 等模型。
  • p-value > 0.05

    • 结论:证据不足,接受原假设
    • 人话数据是不平稳的
    • 需要处理(比如做差分)后再来检测。

4.2 Test Statistic (统计量)

  • 如果Test Statistic小于Critical Value (1%, 5%, 10%),也可以说明平稳。
  • 通常看 P 值就够了,P 值更直观。

5. 数据不平稳怎么办?

如果 ADF 检测告诉你数据不平稳(p > 0.05),别慌,我们有绝招:差分 (Differencing)

  • 一阶差分:今天减昨天。
    • 股票价格一直在涨(不平稳)。
    • 但“每天的涨跌幅”(今天价格 - 昨天价格)通常就是围绕 0 波动了(平稳)。
  • 对数变换:取 Log。
    • 如果数据的波动越来越大(喇叭口形状),取 Log 可以把波动压下来。

6. Python 代码示例

fromstatsmodels.tsa.stattoolsimportadfullerimportpandasaspd# 假设 data 是你的时间序列数据result=adfuller(data)print(f'ADF Statistic:{result[0]}')print(f'p-value:{result[1]}')ifresult[1]<0.05:print("恭喜!数据是平稳的。")else:print("遗憾,数据不平稳。建议做一阶差分:data.diff()")

7. 总结

  • 平稳性是时间序列建模的基石。
  • ADF 检测是判断平稳性的裁判。
  • 记住口诀:P 值小于 0.05,才是好数据(平稳)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 5:58:51

AI论文写作利器盘点!12款知名AI网站,高效搞定各类论文创作

被毕业论文逼到熬夜、被课程论文搞得焦头烂额、被期刊论文修改反复折磨的宝子们看过来&#xff01;不管你是要完成期末论文考核、梳理论文文献综述&#xff0c;还是冲刺核心期刊投稿、撰写职称论文&#xff0c;在AI赋能学术创作的当下&#xff0c;这些难题都能找到高效解决方案…

作者头像 李华
网站建设 2026/3/9 1:33:26

那些漏洞挖掘高手,都靠什么方法挖出漏洞的?

前言 说到安全就不能不说漏洞&#xff0c;而说到漏洞就不可避免地会说到三座大山&#xff1a; 漏洞分析 漏洞利用 漏洞挖掘 从个人的感觉上来看&#xff0c;这三者尽管通常水乳交融、相互依赖&#xff0c;但难度是不尽相同的。本文就这三者分别谈谈自己的经验和想法。 漏洞分析…

作者头像 李华
网站建设 2026/3/5 18:04:00

GLM-TTS输出目录@outputs详解:文件命名规则与路径配置

GLM-TTS 输出目录 outputs 详解&#xff1a;文件命名与路径管理的工程实践 在语音合成系统从实验室走向生产环境的过程中&#xff0c;一个常被忽视却至关重要的环节浮出水面——输出管理。我们或许能用几行代码跑通一次语音生成&#xff0c;但当面对每天上千条任务、多个用户并…

作者头像 李华
网站建设 2026/3/7 13:33:46

Agent公司10个月卖身数十亿,2026年不懂Agent=失业?小白程序员必看!

“Agent元年”以一个 Agent 公司被数十亿美元收购结束&#xff0c;非常精彩。Manus 在 2025 年 3 月份内测即爆火&#xff0c;造就了2025年是Agent元年的说法。 “十个月就卖身数十亿”的信息&#xff0c;元旦后肯定会有一波巨大的讨论。 带来的影响肯定方方面面&#xff0c;但…

作者头像 李华
网站建设 2026/3/7 21:26:37

语音合成灰度弹性成本控制:根据使用量动态调整支出

语音合成灰度弹性成本控制&#xff1a;根据使用量动态调整支出 在智能客服、有声内容创作和虚拟角色交互日益普及的今天&#xff0c;语音合成&#xff08;TTS&#xff09;已不再是“能说话就行”的基础功能&#xff0c;而是迈向个性化、情感化和高可用性的关键组件。然而&#…

作者头像 李华
网站建设 2026/3/6 17:28:44

分析反向比例运算放大器电路

一、电路核心判定:反向比例运算放大器 从你提供的电路图(基于 LM321 单运放)可明确: 输入信号 VI:通过电阻 R1 接入运放的反向输入端(3 脚,V-); 同向输入端(1 脚,V+):直接接地; 反馈网络:输出端(4 脚)通过电阻 R2 接回反向输入端,构成电压并联负反馈; 结合…

作者头像 李华