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

别再死记公式了!用Python+Statsmodels实战拆解AR模型的平稳性、自相关与偏自相关

别再死记公式了用PythonStatsmodels实战拆解AR模型的平稳性、自相关与偏自相关时间序列分析中AR模型就像一位沉默的预言家通过过去的数据点向我们传递未来的信息。但太多学习者被困在Green函数和Y-W方程的数学迷宫里忘记了数据分析的本质是理解而非公式推导。今天我们将用Python的Statsmodels库像侦探破案一样从真实数据中还原AR模型的统计特性。1. 环境准备与数据加载工欲善其事必先利其器。我们先配置好分析环境import numpy as np import pandas as pd import matplotlib.pyplot as plt from statsmodels.tsa.arima.model import ARIMA from statsmodels.graphics.tsaplots import plot_acf, plot_pacf from statsmodels.tsa.stattools import adfuller # 设置绘图风格 plt.style.use(seaborn) plt.rcParams[font.family] SimHei # 中文显示经典的AirPassengers数据集是我们的第一个分析对象# 加载航空乘客数据 url https://raw.githubusercontent.com/jbrownlee/Datasets/master/airline-passengers.csv passengers pd.read_csv(url, parse_dates[Month], index_colMonth) passengers.plot(title月度航空乘客数(1949-1960)) plt.ylabel(乘客数(千))提示在实际业务中建议先进行数据探索(缺失值、异常值检查)这里假设数据已经过清洗2. 平稳性检验时间序列分析的基石平稳性就像时间序列的身份证没有它很多分析工具都会失效。我们通过三个维度来验证ADF检验的实战解读def adf_test(timeseries): result adfuller(timeseries) print(ADF统计量: %f % result[0]) print(p-value: %f % result[1]) print(临界值:) for key, value in result[4].items(): print(\t%s: %.3f % (key, value)) adf_test(passengers[Passengers])典型输出结果分析指标值解读ADF统计量0.82 临界值 → 非平稳p-value0.99≈1 → 接受原假设(非平稳)1%临界值-3.48比较基准平稳化处理的三种武器差分法passengers_diff passengers.diff().dropna()对数变换np.log(passengers)季节差分passengers.diff(12)注意差分阶数不是越多越好通常观察1-2阶差分后的序列是否平稳3. 自相关(ACF)与偏自相关(PACF)的实战密码这两个函数就像时间序列的指纹能帮我们识别AR模型的阶数p。ACF/PACF绘图技巧fig, (ax1, ax2) plt.subplots(2,1, figsize(12,8)) plot_acf(passengers_diff, lags40, axax1, title差分后序列的ACF) plot_pacf(passengers_diff, lags40, axax2, title差分后序列的PACF) plt.tight_layout()如何解读这些震荡的条形图ACF拖尾缓慢衰减 → 暗示AR特征PACF截尾在lagp后突然截断 → 可能为AR(p)模型季节性峰值在lag12,24等处出现高峰 → 提示季节周期金融数据实例标普500收益率分析# 获取标普500数据 import yfinance as yf sp500 yf.download(^GSPC, start2020-01-01)[Adj Close] returns np.log(sp500/sp500.shift(1)).dropna() # 绘制ACF/PACF fig, (ax1, ax2) plt.subplots(2,1, figsize(12,8)) plot_acf(returns, lags40, axax1, title标普500日收益率的ACF) plot_pacf(returns, lags40, axax2, title标普500日收益率的PACF)4. AR模型建模与参数估计实战确定了模型阶数接下来就是建立AR模型并估计参数。AR(2)模型完整实现流程# 建模流程 model ARIMA(passengers_diff, order(2,0,0)) # AR(2) results model.fit() # 输出模型摘要 print(results.summary())模型摘要中的关键信息表| 参数 | 系数值 | 标准误 | z统计量 | P|z| | [0.025 | 0.975] | |------|--------|--------|---------|-----|------------|--------| | const | 0.6923 | 0.395 | 1.753 | 0.080 | -0.081 | 1.466 | | ar.L1 | 0.5964 | 0.089 | 6.667 | 0.000 | 0.421 | 0.772 | | ar.L2 | -0.2143 | 0.089 | -2.402 | 0.016 | -0.389 | -0.040 |模型诊断的三把钥匙残差ACF检验plot_acf(results.resid)Q统计量ljung_box_test(results.resid)正态性检验from scipy.stats import normaltest# 残差诊断可视化 results.plot_diagnostics(figsize(12,8))5. 模型应用预测与策略构建好的模型必须能落地到实际预测和决策中。三步预测法# 预测未来12个月 forecast results.get_forecast(steps12) forecast_index pd.date_range(passengers.index[-1], periods13, freqMS)[1:] # 获取预测结果与置信区间 forecast_mean forecast.predicted_mean conf_int forecast.conf_int() # 可视化 plt.figure(figsize(12,6)) plt.plot(passengers_diff.index, passengers_diff, label观测值) plt.plot(forecast_index, forecast_mean, colorr, label预测值) plt.fill_between(forecast_index, conf_int.iloc[:,0], conf_int.iloc[:,1], colorpink) plt.title(航空乘客变化率的12个月预测) plt.legend()交易策略示例(伪代码)def trading_signal(returns, ar_window30, hold_days5): signals [] for i in range(len(returns)-ar_window): window returns[i:iar_window] model ARIMA(window, order(2,0,0)).fit() pred model.forecast(steps1)[0] if pred 0.01: # 预测涨幅超过1% signals.append((buy, returns.index[iar_window])) elif pred -0.01: signals.append((sell, returns.index[iar_window])) return signals6. 常见陷阱与解决方案即使经验丰富的数据分析师也会踩这些坑问题排查清单现象可能原因解决方案ACF/PACF无明显衰减数据未平稳化尝试更高阶差分系数不显著(p0.05)模型阶数过高降低p值或增加数据量预测值趋向均值模型未捕捉趋势引入差分项或外部变量残差自相关模型设定错误尝试ARMA或SARIMA模型选择实战技巧from pmdarima import auto_arima model auto_arima(passengers, seasonalTrue, m12, information_criterionaic, traceTrue) print(model.summary())7. 进阶技巧从AR到ARIMA当数据展现趋势时我们需要更强大的工具ARIMA模型三参数解释p: 自回归阶数(AR)d: 差分次数(I)q: 移动平均阶数(MA)# 构建ARIMA(2,1,2)模型 arima_model ARIMA(passengers, order(2,1,2)) arima_results arima_model.fit() # 季节性SARIMA示例 from statsmodels.tsa.statespace.sarimax import SARIMAX sarima_model SARIMAX(passengers, order(1,1,1), seasonal_order(1,1,1,12))模型比较矩阵模型类型适用场景statsmodels实现类AR仅自相关ARIMA(p,0,0)MA仅移动平均ARIMA(0,0,q)ARMA两者混合ARIMA(p,0,q)ARIMA含趋势项ARIMA(p,d,q)SARIMA含季节性SARIMAX在电商销售预测项目中我发现ARIMA(1,1,1)对3C产品销量预测的MAPE能达到12%而单纯AR模型的误差高达18%。特别是在促销季前加入季节性参数的SARIMA模型预测准确率提升最为明显。

相关文章:

别再死记公式了!用Python+Statsmodels实战拆解AR模型的平稳性、自相关与偏自相关

别再死记公式了!用PythonStatsmodels实战拆解AR模型的平稳性、自相关与偏自相关 时间序列分析中,AR模型就像一位沉默的预言家,通过过去的数据点向我们传递未来的信息。但太多学习者被困在Green函数和Y-W方程的数学迷宫里,忘记了数…...

如何在2024年重温经典Flash游戏:CefFlashBrowser完整指南

如何在2024年重温经典Flash游戏:CefFlashBrowser完整指南 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser 还记得那些让你废寝忘食的Flash小游戏吗?当现代浏览器纷纷…...

抖音内容高效管理:如何用开源工具批量下载无水印视频并智能归档

抖音内容高效管理:如何用开源工具批量下载无水印视频并智能归档 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...

揭秘WebPlotDigitizer:从静态图表中解放数据价值的计算机视觉实战指南

揭秘WebPlotDigitizer:从静态图表中解放数据价值的计算机视觉实战指南 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigitizer 在科…...

Qwen3-0.6B-FP8效果实测:古文翻译任务BLEU得分达72.3(超越FP16基线)

Qwen3-0.6B-FP8效果实测:古文翻译任务BLEU得分达72.3(超越FP16基线) 1. 引言:当小模型遇上极致量化 最近在尝试各种轻量化大模型部署方案时,我发现了一个很有意思的现象:很多开发者还在用FP16甚至FP32精度…...

SPIRAN ART SUMMONERGPU利用率提升:从72%到98%的CUDA内核调度优化案例

SPIRAN ART SUMMONER GPU利用率提升:从72%到98%的CUDA内核调度优化案例 1. 项目背景与性能挑战 SPIRAN ART SUMMONER是一个基于Flux.1-Dev模型的图像生成平台,融合了《最终幻想10》的美学风格,为用户提供沉浸式的视觉创作体验。在初期部署阶…...

WarcraftHelper:魔兽争霸3现代兼容终极解决方案

WarcraftHelper:魔兽争霸3现代兼容终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典魔兽争霸3在现代电脑上的各种兼…...

ngosang/trackerslist项目:如何通过地理优化Tracker提升亚洲用户P2P体验

ngosang/trackerslist项目:如何通过地理优化Tracker提升亚洲用户P2P体验 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 如果你在亚洲地区使用BitTorrent下载&a…...

Onmyoji Auto Script 爬塔功能异常排查与优化指南

Onmyoji Auto Script 爬塔功能异常排查与优化指南 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师自动脚本(Onmyoji Auto Script,简称OAS&#xff…...

别再乱用了!PyTorch中F.layer_norm和nn.LayerNorm的实战选择指南(附RNN/Transformer场景对比)

PyTorch中LayerNorm的深度实践:从原理到RNN/Transformer最优选型策略 在深度学习模型构建中,归一化层如同隐形的骨架支撑着网络训练的稳定性。当BatchNorm面对变长序列束手无策时,LayerNorm凭借其独特的计算方式成为RNN、Transformer等架构的…...

3步解密B站抢票神器:为什么别人总比你快0.1秒?

3步解密B站抢票神器:为什么别人总比你快0.1秒? 【免费下载链接】biliTickerBuy b站会员购购票辅助工具 项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy 你是否曾经在B站会员购抢票时,眼睁睁看着心仪的演唱会门票在几…...

深度解析:BitTorrent Tracker服务器列表的技术价值与实践应用

深度解析:BitTorrent Tracker服务器列表的技术价值与实践应用 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 在P2P文件共享生态系统中,Tracker服务…...

AWPortrait-Z人像生成教程:结合Photoshop进行AI+人工精修流程

AWPortrait-Z人像生成教程:结合Photoshop进行AI人工精修流程 你是不是也遇到过这样的烦恼?用AI生成的人像,乍一看很惊艳,但放大一看,细节总有些不对劲——眼睛瞳孔颜色不均匀、头发边缘模糊、皮肤纹理不自然。这时候&…...

告别npm付费!用Verdaccio在Mac/Win上10分钟搞定私有仓库(保姆级配置+权限管理)

告别npm付费!用Verdaccio在Mac/Win上10分钟搞定私有仓库(保姆级配置权限管理) 在当今快节奏的前端开发中,私有npm仓库已成为团队协作的刚需。想象一下:当你的团队正在开发多个内部组件库,却不得不反复通过…...

Applite:终极Mac软件管理方案,告别终端命令的3个高效场景

Applite:终极Mac软件管理方案,告别终端命令的3个高效场景 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 还在为Mac上的软件管理而烦恼吗?每…...

EagleEye在智慧园区中的创新应用:多目标实时追踪与隐私优先架构设计

EagleEye在智慧园区中的创新应用:多目标实时追踪与隐私优先架构设计 基于 DAMO-YOLO TinyNAS 架构的毫秒级目标检测引擎 1. 项目背景与核心价值 智慧园区作为现代城市发展的重要组成部分,面临着人员流动管理、车辆调度优化、安全监控保障等多重挑战。传…...

FRCRN模型训练数据准备与增强教程:从零构建数据集

FRCRN模型训练数据准备与增强教程:从零构建数据集 想训练一个能有效去除语音中噪声的FRCRN模型,第一步也是最关键的一步,就是准备一份高质量的训练数据。很多人模型调了半天效果不好,最后发现是数据出了问题。今天,我…...

Windows Cleaner:专治C盘爆红的终极清理神器

Windows Cleaner:专治C盘爆红的终极清理神器 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为C盘爆红而烦恼吗?Windows Cleaner就是你…...

ECharts地图实战:从自定义点聚合到交互式图例的完整视觉方案

1. ECharts地图基础配置与数据准备 第一次接触ECharts地图开发时,我被它强大的可视化能力震撼到了。记得当时接手一个区域门店分布监控项目,需要在地图上展示上千个点位,如果直接用散点图展示,整个地图就会变成密密麻麻的"芝…...

抖音批量下载神器:5分钟完成视频素材采集的终极指南

抖音批量下载神器:5分钟完成视频素材采集的终极指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...

QQ音乐加密格式终极转换指南:如何3步将.qmc文件转为MP3/FLAC

QQ音乐加密格式终极转换指南:如何3步将.qmc文件转为MP3/FLAC 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾在QQ音乐下载了心爱的歌曲,却发…...

Legacy iOS Kit终极指南:如何让旧iPhone重获新生并提升性能

Legacy iOS Kit终极指南:如何让旧iPhone重获新生并提升性能 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

抖音批量下载神器终极指南:如何轻松获取无水印视频和音乐素材

抖音批量下载神器终极指南:如何轻松获取无水印视频和音乐素材 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

**发散创新:基于Solidity的通证经济模型设计与智能合约实现**在区块链技术日益成熟的今天

发散创新:基于Solidity的通证经济模型设计与智能合约实现 在区块链技术日益成熟的今天,通证经济(Token Economy) 已成为推动去中心化应用(DApp)价值流转的核心机制。本文将围绕 以太坊生态中的 Solidity 编…...

【50】软考软件设计师——【终章】50篇学习复盘与工程师之路|知识复盘+领证流程+进阶指引

摘要:本文是《软件设计师50讲通关|从零基础到工程师职称》专栏第50篇终章,也是整个专栏的收官与升华篇。全文围绕「备考闭环复盘+职业长期成长」双核心展开,完成三大使命:一是全专栏50篇知识体系结构化复盘,串联基础理论、算法、设计、机考、冲刺全模块,形成可视化知识地…...

# 微前端架构下的 Vue 项目实战:从零搭建可扩展的模块化系统在现代前端工程中,**微前端架构(Micro-Fro

微前端架构下的 Vue 项目实战:从零搭建可扩展的模块化系统 在现代前端工程中,微前端架构(Micro-Frontends) 正逐渐成为大型单页应用(SPA)治理的核心方案。它通过将一个庞大的前端应用拆分为多个独立部署、运…...

第124期《安装指南》:新AI应用、运动相机等好物登场,还有读者精彩推荐!

第124期《安装指南》:新AI应用、运动相机等好物来袭,还有读者精彩推荐!欢迎来到第124期《安装指南》,这里将为你介绍世界上最棒、最前沿的东西。本周,作者关注了餐厅面包、GLP - 1类药物、伦尼拉基茨基以及阿尔忒弥斯二…...

用Rust构建Windows虚拟显示驱动:从原理到实战应用

用Rust构建Windows虚拟显示驱动:从原理到实战应用 【免费下载链接】virtual-display-rs A Windows virtual display driver to add multiple virtual monitors to your PC! For Win10. Works with VR, obs, streaming software, etc 项目地址: https://gitcode.co…...

南北阁Nanbeige 4.1-3B重装系统自动化工具开发实战

南北阁Nanbeige 4.1-3B重装系统自动化工具开发实战 企业IT运维中,批量重装系统是个既繁琐又耗时的任务。传统手动安装方式效率低下,且容易出错。本文将介绍如何基于南北阁Nanbeige 4.1-3B开发自动化重装系统工具,实现镜像下载、无人值守安装和…...

Pixel Script Temple 数据可视化:Matlab风格图表像素化生成应用

Pixel Script Temple 数据可视化:Matlab风格图表像素化生成应用 1. 引言:当科学数据遇上像素艺术 科研工作者经常面临一个两难选择:一方面需要精确呈现复杂数据,另一方面又希望图表能吸引读者注意。传统Matlab生成的图表虽然专业…...