知識點回顧
- 序列數據的處理:
- 處理非平穩性: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
經典數據集特性對比