[ PROMPT_NODE_26184 ]
forecasting
[ SKILL_DOCUMENTATION ]
# 时间序列预测
Aeon 提供了用于预测未来时间序列值的预测算法。
## 朴素与基准方法
用于比较的简单预测策略:
- `NaiveForecaster` - 多种策略:最后值、均值、季节性朴素
- 参数:`strategy` ("last", "mean", "seasonal"), `sp` (季节周期)
- **适用场景**:建立基准或简单的模式预测
## 统计模型
经典时间序列预测方法:
### ARIMA
- `ARIMA` - 自回归积分滑动平均模型
- 参数:`p` (AR 阶数), `d` (差分阶数), `q` (MA 阶数)
- **适用场景**:线性模式、平稳或差分平稳序列
### 指数平滑
- `ETS` - 误差-趋势-季节性分解
- 参数:`error`, `trend`, `seasonal` 类型
- **适用场景**:存在趋势和季节性模式的序列
### 阈值自回归
- `TAR` - 用于状态切换的阈值自回归模型
- `AutoTAR` - 自动阈值发现
- **适用场景**:序列在不同状态下表现出不同行为
### Theta 方法
- `Theta` - 经典 Theta 预测
- 参数:`theta`, 分解权重
- **适用场景**:需要简单但有效的基准时
### 时变参数
- `TVP` - 带有卡尔曼滤波的时变参数模型
- **适用场景**:参数随时间变化时
## 深度学习预测器
用于复杂时间模式的神经网络:
- `TCNForecaster` - 时间卷积网络
- 用于大感受野的空洞卷积
- **适用场景**:长序列,需要非循环架构时
- `DeepARNetwork` - 基于 RNN 的概率预测
- 提供预测区间
- **适用场景**:需要概率预测、不确定性量化时
## 基于回归的预测
将回归应用于滞后特征:
- `RegressionForecaster` - 封装回归器用于预测
- 参数:`window_length`, `horizon`
- **适用场景**:希望使用任意回归器进行预测时
## 快速入门
python
from aeon.forecasting.naive import NaiveForecaster
from aeon.forecasting.arima import ARIMA
import numpy as np
# 创建时间序列
y = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 朴素基准
naive = NaiveForecaster(strategy="last")
naive.fit(y)
forecast_naive = naive.predict(fh=[1, 2, 3])
# ARIMA 模型
arima = ARIMA(order=(1, 1, 1))
arima.fit(y)
forecast_arima = arima.predict(fh=[1, 2, 3])
## 预测范围
预测范围 (`fh`)