当前位置: 首页 > news >正文

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,才是好数据(平稳)。
http://www.jsqmd.com/news/193594/

相关文章:

  • huggingface datasets镜像使用:获取TTS训练语料资源
  • 2025年泵体类铸造件厂家权威推荐榜单:泵阀精密铸造件/结构精密铸造件/五金件铸造件/汽车零件铸造件/阀门铸造件源头厂家精选 - 品牌推荐官
  • ADF检测实战:应用场景与“驯服”数据的步骤
  • AI已经/即将摧毁哪些行业?
  • 2025年武汉PVC原材料供应商综合推荐榜单 - 2025年品牌推荐榜
  • AI大模型与Agent开发工程师:解锁年薪50万+的黄金职业,从入门到精通的全面指南!
  • 如何通过软件调节色温与亮度有效降低蓝光暴露?
  • 清华镜像同步频率说明:把握GLM-TTS最新提交时间点
  • 车载诊断系统的安全性、漏洞与防护
  • 堡垒机vs跳板机:从区别到实操,5分钟搞懂服务器安全访问核心方案
  • 2025公考笔试专业机构TOP5权威推荐:售后完善的公考笔试培训企业甄选指南 - 工业品网
  • GLM-TTS启动脚本start_app.sh解析:自动化流程背后的逻辑
  • 清华镜像技术支持联系方式获取GLM-TTS帮助
  • C语言入门
  • 【人工智能通识专栏】第十二讲:应用文写作
  • c# backgroundworker执行长时间TTS合成不阻塞UI
  • 2025年武汉PVC原材料供货商推荐榜单 - 2025年品牌推荐榜
  • 从零掌握Transformer:大模型语言理解核心架构全解析(建议收藏)
  • 清华镜像软件列表查找GLM-TTS所需依赖包版本
  • FastAPI项目:从零到一搭建一个仿百度的搜索系统
  • 电子万能试验机的生产厂家有哪些,各厂家技术实力对比如何,哪些更有实力? - 品牌推荐大师1
  • 语音合成灰度灾难恢复演练:模拟极端情况应对能力
  • 工业传感器数据暴增怎么办,PHP如何轻松实现每秒万级数据聚合分析
  • 【Java毕设全套源码+文档】基于Java的社区生鲜团购系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 收藏!2025 AI高薪浪潮来袭:大模型学习入门指南(小白/程序员必看)
  • 20260104_152301_吴恩达:构建企业级AI_Agent的最佳实践
  • 震惊!AI已学会“摸鱼“:从Chatbot到Agent,程序员即将被解放还是被取代?2026大模型开发必看指南
  • 【人工智能通识专栏】第十三讲:图像处理
  • Attention注意力机制全解析:原理、代码与应用,大模型入门必学,建议收藏!
  • GLM-TTS与Kong API网关集成:统一入口安全管理