知識點回顧:
- 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