ARIMA 模型 Python statsmodels 实战:3步完成销售数据预测与残差检验 ARIMA 模型 Python statsmodels 实战3步完成销售数据预测与残差检验时间序列分析在商业决策中扮演着关键角色而ARIMA模型作为经典预测工具能有效捕捉销售数据的动态变化规律。本文将带您用Python的statsmodels库快速构建ARIMA模型从数据预处理到模型诊断提供可直接复用的代码模板。1. 环境准备与数据加载首先确保已安装必要库pip install statsmodels pandas matplotlib。我们使用某电商平台24个月的洗发水销售数据作为示例import pandas as pd import matplotlib.pyplot as plt from statsmodels.tsa.statespace.sarimax import SARIMAX from statsmodels.tsa.stattools import adfuller from statsmodels.graphics.tsaplots import plot_acf, plot_pacf # 加载数据 sales_data pd.read_csv(shampoo_sales.csv, parse_dates[Month], index_colMonth) print(sales_data.head()) # 可视化原始数据 plt.figure(figsize(12,6)) plt.plot(sales_data, labelOriginal Sales) plt.title(Shampoo Sales Trend) plt.xlabel(Date) plt.ylabel(Sales Volume) plt.grid(True) plt.legend() plt.show()关键检查点确认时间索引已正确设置为DateTime格式观察数据是否存在明显季节性本例为月度数据检查缺失值sales_data.isnull().sum()提示当数据量少于50个观测点时ARIMA预测效果可能不稳定建议收集更多数据或考虑其他简化模型。2. 平稳性检验与参数确定ARIMA建模的核心前提是时间序列的平稳性。我们通过ADF检验和自相关图确定差分阶数d# ADF单位根检验 def adf_test(timeseries): result adfuller(timeseries) print(ADF Statistic:, result[0]) print(p-value:, result[1]) print(Critical Values:) for k, v in result[4].items(): print(f {k}: {v}) adf_test(sales_data) # 初始p值通常0.05需差分 # 一阶差分处理 sales_diff sales_data.diff().dropna() adf_test(sales_diff) # 检查p值是否0.05 # 自相关图分析 fig, (ax1, ax2) plt.subplots(2,1, figsize(12,8)) plot_acf(sales_diff, lags20, axax1) plot_pacf(sales_diff, lags20, axax2) plt.tight_layout() plt.show()参数确定方法图形特征可能参数判断依据ACF拖尾q0无显著截断点PACF截尾p2滞后2阶后快速衰减ADF检验d1一阶差分后平稳3. 模型训练与诊断结合前步分析我们构建ARIMA(2,1,0)模型并进行残差检验# 模型训练 model SARIMAX(sales_data, order(2,1,0), seasonal_order(0,0,0,0)) results model.fit(dispFalse) print(results.summary()) # 残差诊断 residuals results.resid fig, (ax1, ax2) plt.subplots(2,1, figsize(12,8)) residuals.plot(axax1, titleResiduals Plot) residuals.plot(kindkde, axax2, titleResiduals Distribution) plt.tight_layout() plt.show() # 残差自相关检验 plot_acf(residuals, lags20) plt.show()诊断标准正态性残差Q-Q图应近似直线独立性D-W值接近2本例1.98同方差性残差波动无规律性变化若发现以下问题需调整模型残差自相关增加q参数残差偏态考虑对数变换季节性未消除引入SARIMA4. 预测实现与效果评估最后进行12期销售预测并可视化结果# 生成预测 forecast results.get_forecast(steps12) forecast_mean forecast.predicted_mean conf_int forecast.conf_int() # 可视化 plt.figure(figsize(12,6)) plt.plot(sales_data, labelHistorical) plt.plot(forecast_mean, labelForecast, colorred) plt.fill_between(conf_int.index, conf_int.iloc[:,0], conf_int.iloc[:,1], colorpink, alpha0.3) plt.title(12-Month Sales Forecast with Confidence Interval) plt.legend() plt.grid(True) plt.show() # 评估指标 from sklearn.metrics import mean_absolute_error train_pred results.predict(start1, endlen(sales_data)) mae mean_absolute_error(sales_data, train_pred) print(fMAE: {mae:.2f})提升预测精度的实用技巧使用滚动预测验证Rolling Forecast Validation尝试自动参数搜索auto_arima函数对非负数据使用Box-Cox变换结合外部变量构建ARIMAX模型实际项目中建议保存模型对象以便后续调用import joblib joblib.dump(results, arima_model.pkl) # 加载模型loaded_model joblib.load(arima_model.pkl)

相关新闻

最新新闻

腾讯面试官问:为什么很多人做不出企业级Agent?核心问题是哪?看完这篇你就懂了!

腾讯面试官问:为什么很多人做不出企业级Agent?核心问题是哪?看完这篇你就懂了!

一、最大的问题:你以为你在做 Agent,但你只是在做“聊天机器人” 很多同学做 Agent 的默认思路: 输入一句话模型自动产生答案偶尔加个 tool-calling 看起来像 ReAct,实际上只是一个“套壳问答机器人”。 真正的企业 Agent 是什么&…

2026/8/27 17:48:27
复旦NLP团队2025新书《大规模语言模型:从理论到实践(第2版)》重磅来袭!附PDF,先到先得!!

复旦NLP团队2025新书《大规模语言模型:从理论到实践(第2版)》重磅来袭!附PDF,先到先得!!

前言 各位读者朋友们,相信你一定还记得,在各大平台AI大模型图书推荐榜单中,《大规模语言模型:从理论到实践》一书始终位居排行榜前列,在2023年末那个时间点,这本书是少有的把大模型相关技术系统汇总整理&am…

2026/8/27 17:48:27
随着大模型技术的发展——RAG技术有可能会被淘汰吗?看完这篇你就知道了!!

随着大模型技术的发展——RAG技术有可能会被淘汰吗?看完这篇你就知道了!!

前言 “ RAG技术未来并不会被淘汰,只不过会随着技术的迭代而不断升级。**”** 关于RAG技术有很多不同的观点,有人认为RAG技术是大模型的阶段性解决方案,最终会被淘汰;但也有人认为RAG技术仍不能被替代,其作用依然无可代…

2026/8/27 17:48:27
如何用Windows 11 Debloater安全卸载Microsoft Edge?停止自动更新与服务禁用完整指南

如何用Windows 11 Debloater安全卸载Microsoft Edge?停止自动更新与服务禁用完整指南

如何用Windows 11 Debloater安全卸载Microsoft Edge?停止自动更新与服务禁用完整指南 【免费下载链接】windows-11-debloat Script to optimize your installation of Windows 11. 项目地址: https://gitcode.com/gh_mirrors/wi/windows-11-debloat Windows …

2026/8/27 17:48:27
【AI大模型】本周大模型新动向:自动幻觉检测、多智能体强化学习、多模态数据压缩

【AI大模型】本周大模型新动向:自动幻觉检测、多智能体强化学习、多模态数据压缩

01、Token Sequence Compression for Efficient Multimodal Computing 大型多模态模型(LMMs)的指数级增长推动了跨模态推理的发展,但带来了巨大的计算成本。本文聚焦于视觉语言模型,指出当前视觉编码器的冗余和低效,并…

2026/8/27 17:48:27
网盘直链下载不求人:LinkSwift 油猴脚本免费完整使用教程

网盘直链下载不求人:LinkSwift 油猴脚本免费完整使用教程

网盘直链下载不求人:LinkSwift 油猴脚本免费完整使用教程 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…

2026/8/27 17:43:27