news 2026/1/15 12:51:03

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/1/12 2:25:09

清华镜像同步频率说明:把握GLM-TTS最新提交时间点

把握 GLM-TTS 最新动态&#xff1a;从清华镜像同步机制到高阶语音控制实战 在国产大模型加速落地的今天&#xff0c;语音合成已不再是“能出声就行”的简单任务&#xff0c;而是朝着自然度、可控性与个性化全面进阶。以清华大学智谱AI开源的 GLM-TTS 为例&#xff0c;它不仅继…

作者头像 李华
网站建设 2026/1/15 0:34:14

基于物联网的一般道路交通事故检测与通知算法

摘要随着人口增长&#xff0c;每分钟发生的交通事故数量也在不断增加。这些道路交通事故具有不可预测性。在许多情况下&#xff0c;事故无法及时、准确地向附近的救护车报告。大多数情况下&#xff0c;紧急服务的缺失导致无法及时提供急救&#xff0c;而这短短几分钟的延迟可能…

作者头像 李华
网站建设 2026/1/15 3:48:53

2025 计划转行网络安全?这篇揭秘网安职场真实面貌!

最近是不是经常刷到网络安全相关的内容&#xff1f;看着别人做渗透测试、参加CTF比赛&#xff0c;觉得这行挺酷&#xff0c;薪资也不错&#xff0c;心里痒痒的想转行&#xff1f;别急&#xff0c;今天咱们就坐下来好好聊聊&#xff0c;带你看看真实的网安职场到底是什么样的。 …

作者头像 李华
网站建设 2026/1/15 7:18:37

c# backgroundworker执行长时间TTS合成不阻塞UI

C# BackgroundWorker 执行长时间 TTS 合成不阻塞 UI 在开发智能语音工具的过程中&#xff0c;一个常见的痛点浮出水面&#xff1a;当用户点击“开始合成”后&#xff0c;界面瞬间卡死&#xff0c;鼠标无法拖动&#xff0c;按钮无响应——哪怕只是等待三十秒&#xff0c;也足以让…

作者头像 李华
网站建设 2026/1/15 10:51:03

提升语音合成质量的5大技巧:来自GLM-TTS用户的最佳实践

提升语音合成质量的5大技巧&#xff1a;来自GLM-TTS用户的最佳实践 在虚拟主播24小时不间断直播、有声书按需生成、客服系统自动播报的今天&#xff0c;用户对语音合成的要求早已不再是“能说话”这么简单。我们期待的是像真人一样的语气起伏、情感流动和音色个性——而这正是G…

作者头像 李华