python打卡day59@浙大疏锦行
知识点回顾:
- SARIMA模型的参数和用法:SARIMA(p, d, q)(P, D, Q)m
- 模型结果的检验可视化(昨天说的是摘要表怎么看,今天是对这个内容可视化)
- 多变量数据的理解:内生变量和外部变量
- 多变量模型
- 统计模型:SARIMA(单向因果)、VAR(考虑双向依赖)
- 机器学习模型:通过滑动窗口实现,往往需要借助arima等作为特征提取器来捕捉线性部分(趋势、季节性),再利用自己的优势捕捉非线性的残差
- 深度学习模型:独特的设计天然为时序数据而生
作业:由于篇幅问题,无法实战SARIMAX了,可以自己借助AI尝试尝试,相信大家已经有这个能力了。
SARIMAX模型实现方案
1.新增外生变量处理
def load_exogenous_data():"""加载经济指标作为外生变量示例"""gdp = get_rdataset('GDP').data.set_index('year')return gdp[['consumption', 'investment']]
2.SARIMAX建模模块
from statsmodels.tsa.statespace.sarimax import SARIMAXdef train_sarimax(endog, exog, order=(1,1,1), seasonal_order=(0,1,1,12)):model = SARIMAX(endog,exog=exog,order=order,seasonal_order=seasonal_order,enforce_stationarity=False)results = model.fit(disp=0)print(results.summary())return results
3.增强可视化诊断
def plot_diagnostics(results):fig = plt.figure(figsize=(12,8))results.plot_diagnostics(fig=fig)plt.tight_layout()return fig