知识点回顾
- 序列数据的处理:
- 处理非平稳性:n阶差分
- 处理季节性:季节性差分
- 自回归性无需处理
- 模型的选择
- AR(p) 自回归模型:当前值受到过去p个值的影响
- MA(q) 移动平均模型:当前值收到短期冲击的影响,且冲击影响随时间衰减
- ARMA(p,q) 自回归滑动平均模型:同时存在自回归和冲击影响
作业:检索下经典的时序单变量数据集有哪些,选择一个尝试观察其性质。
经典时序数据集分析方案
1.新增数据集加载模块
import pandas as pd
from statsmodels.datasets import get_rdatasetdef load_classic_series(name='AirPassengers'):"""支持加载的经典数据集:- 'AirPassengers' 航空乘客数据(1949-1960)- 'sunspots' 太阳黑子数据(1700-2008)- 'nile' 尼罗河流量数据(1871-1970)"""dataset = get_rdataset(name).dataif name == 'AirPassengers':dataset.index = pd.date_range(start='1949-01', periods=len(dataset), freq='M')return dataset
2.增强可视化模块
import matplotlib.pyplot as pltdef plot_series_decomposition(series, period=12):decomposition = seasonal_decompose(series, period=period)fig, (ax1, ax2, ax3, ax4) = plt.subplots(4,1, figsize=(12,8))decomposition.observed.plot(ax=ax1, title='Observed')decomposition.trend.plot(ax=ax2, title='Trend')decomposition.seasonal.plot(ax=ax3, title='Seasonality')decomposition.resid.plot(ax=ax4, title='Residuals')plt.tight_layout()return fig
3.执行分析命令
python -m src.models.train --task time_series_analysis --dataset AirPassengers
经典数据集特性对比