讲师中心 微信公众号
AI工具推荐 视频效率加速

Python里怎么对非平稳时间序列做差分_使用Statsmodels库进行ADF检验与ARIMA建模

雨伟君_3735

雨伟君_3735

发布时间:2026-04-14 12:23:32

|

188人浏览过

|

来源于php中文网

原创

ADF检验中p值小于0.05且ADF统计量小于临界值(如-3.43)才可判定序列平稳;若p值大于0.05或存在明显趋势/季节性,需差分,通常一至二阶即可,超过二阶易导致过差分。

python里怎么对非平稳时间序列做差分_使用statsmodels库进行adf检验与arima建模

怎么判断一个序列是否需要差分

看 adfuller 返回的 p-value —— 小于 0.05 才算平稳;大于 0.05 就得差分。但别只盯 p 值,还要看 adf 统计量是否小于临界值(比如 -3.43),否则可能误判。常见陷阱是:原始序列带明显趋势或季节性,adfuller 却返回 p=0.07,这时不能硬扛,该差分还得差分。

实操建议:

立即学习“Python免费学习笔记(深入)”;

macOS UI 自动化技能包 —— 用 Python 控制你的 Mac
macOS UI 自动化技能包 —— 用 Python 控制你的 Mac

让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限

下载
  • 先画 plot() 看趋势和方差是否随时间变化;突增、缓升、周期震荡都是非平稳信号
  • 用 adfuller(series, autolag="AIC"),别省掉 autolag 参数,否则滞后阶数选得不准,检验效力下降
  • 如果一阶差分后仍不平稳(p > 0.05),再试二阶,但超过二阶要警惕——可能过差分导致噪声放大、模型失真

Statsmodels里怎么正确做ADF检验

adfuller 默认只检验无常数项、无趋势项的单位根,但现实数据大多带漂移或趋势,直接调用容易漏检。必须根据序列形态手动指定 regression 参数。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 纯随机游走(均值不变、无趋势)→ 用默认 regression="c"(含截距)
  • 有线性趋势(如逐年增长)→ 改成 regression="ct"(含截距 + 时间趋势项)
  • 季节性强的数据(如月度销售)→ 先用 seasonal_decompose 拆解,再对残差做 ADF,别直接对原序列硬上
  • 检验前务必 drop 掉 NaN:差分后头几个值是 NaN,adfuller 遇到会报 ValueError: array must not contain infs or NaNs

ARIMA建模时d参数怎么定,和差分操作怎么对齐

ARIMA(p, d, q) 中的 d 必须等于你实际做的差分阶数,且差分操作必须在拟合前完成——Statsmodels 不会在内部自动帮你差分原始序列。很多人把 d=1 和原始序列直接喂给 ARIMA,结果模型拟合的是差分后序列,但预测时却反向还原错位,导致结果全偏。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 先用 series.diff(d).dropna() 得到平稳序列,再用它跑 adfuller 验证
  • d 取值后,建模时传入原始序列 + d 参数:ARIMA(series, order=(p, d, q)),内部会按需差分
  • 预测后用 model.forecast(steps=10) 得到的是差分域结果;要还原到原始尺度,得用 model.get_forecast().predicted_mean 配合 series.iloc[-1] 手动累加(尤其 d=1 时)
  • 别用 diff().diff() 做二阶差分——它会把索引搞乱,改用 series.diff(2)

差分后建模效果差,可能是这几点没注意

差分只是手段,不是万能解。很多情况下,差分完 ADF 过了,但 ARIMA 拟合残差仍有自相关,说明差分没解决根本问题——比如季节性未剥离、外生变量缺失、或波动率时变(需 GARCH)。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 画 plot_acf/plot_pacf 看差分后序列:如果滞后 12 处还有显著峰,大概率是残留季节性,得考虑 SARIMAX 而非普通 ARIMA
  • 检查残差是否异方差:用 plot(series.diff().std()) 看标准差是否随时间跳变,跳变明显就别硬上 ARIMA,试试对数变换或 ARCH 类模型
  • 差分会丢失首部信息,样本量变少,小数据集(
差分不是黑箱开关,它改变的是序列的生成机制。同一个 d 值,在不同数据上意义可能完全不同——关键是你差分之后,是否还相信这个序列的未来是由它的过去线性决定的。

热门AI工具

更多
讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

1811

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

4804

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1769

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

28557

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3427

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3447

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

1223

2023.08.11

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

616

2023.08.10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn