news 2026/7/21 19:09:27

基于自回归整合滑动平均模型(ARIMA)的时间序列预测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于自回归整合滑动平均模型(ARIMA)的时间序列预测

基于自回归整合滑动平均模型(ARIMA)的时间序列预测

最近在折腾时间序列预测的项目,发现ARIMA这玩意儿虽然老派但确实能打。今天咱们就抛开教科书上的复杂公式,用实际代码和通俗解释聊聊怎么用它做预测。先扔个结论:ARIMA的核心就是三句话——看历史数据、算差异、纠误差。

先搞个模拟数据试试水。假设我们有个每周销售额的波动数据:

import numpy as np import pandas as pd np.random.seed(42) base = np.linspace(0, 20, 100) trend = 0.5 * np.arange(100) seasonality = 5 * np.sin(2 * np.pi * np.arange(100)/7) noise = np.random.normal(0, 1, 100) ts_data = pd.Series(base + trend + seasonality + noise, index=pd.date_range('2020-01-01', periods=100, freq='D'))

这时候直接上ARIMA肯定翻车,得先看数据是否平稳。划重点:ADF检验才是亲爹:

from statsmodels.tsa.stattools import adfuller result = adfuller(ts_data) print(f'ADF统计量: {result[0]:.3f}') print(f'p值: {result[1]:.3f}') # 输出大概率大于0.05,说明不平稳

如果p值大于0.05,直接进入差分环节。这里有个骚操作——动态差分直到平稳:

diff_count = 0 current_data = ts_data.copy() while True: result = adfuller(current_data.dropna()) if result[1] < 0.05: break current_data = current_data.diff().dropna() diff_count += 1 print(f'需要差分次数: {diff_count}') # 通常1-2次就能搞定

接下来要确定AR和MA的阶数。别被ACF/PACF图搞懵,实战中直接让auto_arima干活更省事:

from pmdarima import auto_arima model = auto_arima(ts_data, seasonal=False, trace=True) # 输出里找AIC最小的组合,比如(2,1,1)

拿到最佳参数后正式建模:

from statsmodels.tsa.arima.model import ARIMA model = ARIMA(ts_data, order=(2,1,1)) results = model.fit() # 重点看系数P值是否小于0.05,否则考虑删减参数 print(results.summary())

预测阶段注意要包含历史数据的类型:

forecast = results.get_forecast(steps=7) # 别直接用predict,要带置信区间 print(forecast.predicted_mean)

踩过几个坑特别提醒:

  1. 遇到周期性数据记得用SARIMA(比如销售数据周循环)
  2. 预测结果出现直线下滑?检查是否差分过度
  3. 样本量小于50条的建议换模型

最后来个可视化收尾:

import matplotlib.pyplot as plt ts_data.plot(label='历史数据') forecast.predicted_mean.plot(label='预测', color='red') plt.fill_between(forecast.conf_int().index, forecast.conf_int()['lower close'], forecast.conf_int()['upper close'], color='pink', alpha=0.3) plt.legend()

ARIMA就像老中医把脉,数据平稳了、参数调准了,预测效果自然就上来了。下次遇到股票价格、服务器负载这些时间序列,不妨先拿它试试手。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 4:50:35

Qwen3-VL开箱即用镜像推荐:0配置体验多模态AI,2块钱玩一下午

Qwen3-VL开箱即用镜像推荐&#xff1a;0配置体验多模态AI&#xff0c;2块钱玩一下午 引言&#xff1a;产品经理的AI测试救星 作为产品经理&#xff0c;当你听说Qwen3-VL这款多模态AI可能解决公司项目需求时&#xff0c;肯定迫不及待想测试效果。但IT部门说配环境要3天&#x…

作者头像 李华
网站建设 2026/7/21 16:56:49

多语言AI时代来临:HY-MT1.5开源翻译模型落地趋势分析

多语言AI时代来临&#xff1a;HY-MT1.5开源翻译模型落地趋势分析 1. 技术背景与趋势 随着全球化进程加速和跨语言交流需求激增&#xff0c;高质量、低延迟的机器翻译系统已成为AI基础设施的重要组成部分。传统商业翻译API虽在通用场景表现稳定&#xff0c;但在定制化、隐私保护…

作者头像 李华
网站建设 2026/7/20 20:00:17

Qwen3-VL多模态创作:设计师专属方案,2块钱无限生成

Qwen3-VL多模态创作&#xff1a;设计师专属方案&#xff0c;2块钱无限生成 引言&#xff1a;设计师的AI创作新选择 作为一名平面设计师&#xff0c;你是否遇到过这些困扰&#xff1a;创意枯竭时找不到灵感来源、反复修改设计稿耗时费力、客户需求多变难以快速响应&#xff1f…

作者头像 李华
网站建设 2026/7/21 20:24:34

Qwen3-VL持续学习方案:模型迭代不中断,新类别识别准确率+25%

Qwen3-VL持续学习方案&#xff1a;模型迭代不中断&#xff0c;新类别识别准确率25% 1. 电商平台的新商品识别难题 想象你是一家电商平台的技术负责人&#xff0c;每天都有数百种新商品上架。传统做法是让运营人员手动打标签&#xff0c;但人工成本高、效率低。更头疼的是&…

作者头像 李华
网站建设 2026/7/15 0:55:50

Qwen3-VL避坑指南:环境配置太复杂?云端镜像一键解决

Qwen3-VL避坑指南&#xff1a;环境配置太复杂&#xff1f;云端镜像一键解决 引言 作为一名前端工程师&#xff0c;当领导突然安排我调研视觉大模型时&#xff0c;我的内心是崩溃的。特别是当我花了两天时间折腾CUDA版本冲突、PyTorch安装失败这些环境配置问题后&#xff0c;项…

作者头像 李华
网站建设 2026/7/21 12:34:12

Hunyuan翻译模型如何处理混合语言?上下文理解实战教程

Hunyuan翻译模型如何处理混合语言&#xff1f;上下文理解实战教程 在多语言交流日益频繁的今天&#xff0c;传统翻译模型常因无法准确理解语境、处理混合语言&#xff08;code-mixing&#xff09;而出现误译或语义断裂。腾讯推出的混元翻译大模型 HY-MT1.5 系列&#xff0c;正…

作者头像 李华