TimeSeriesPredictor.predict¶
- TimeSeriesPredictor.predict(data: TimeSeriesDataFrame | DataFrame | Path | str, known_covariates: TimeSeriesDataFrame | DataFrame | Path | str | None = None, model: str | None = None, use_cache: bool = True, random_seed: int | None = 123) TimeSeriesDataFrame [source]¶
返回给定数据集的分位数和均值预测,从每个时间序列的末尾开始。
- 参数:
data (Union[TimeSeriesDataFrame, pd.DataFrame, Path, str]) –
需要进行预测的历史时间序列数据。
在
data
中,列和静态特征的名称及 dtypes 必须与用于训练预测器的train_data
匹配。如果提供的数据是 pandas.DataFrame,AutoGluon 将尝试将其转换为 TimeSeriesDataFrame。如果提供的是 str 或 Path,AutoGluon 将尝试加载此文件。
known_covariates (Union[TimeSeriesDataFrame, pd.DataFrame, Path, str], 可选的) –
如果在创建预测器时指定了
known_covariates_names
,则需要在预测范围内的每个时间序列提供已知协变量的值。具体来说必须包含
known_covariates_names
中列出的所有列。必须包含输入
data
中存在的所有item_id
值。必须包含输入
data
中每个序列结束后,完整预测范围(即prediction_length
个时间步)的timestamp
值。
您可以使用
autogluon.timeseries.TimeSeriesPredictor.make_future_data_frame()
生成包含 known_covariates 数据框所需item_id
和timestamp
组合的模板。请参阅下面的示例。
model (str, 可选的) – 您希望用于预测的模型名称。默认情况下,将使用训练期间表现最好的模型(具有最高验证分数)。
random_seed (int 或 None, 默认值 = 123) – 如果提供,将固定所有模型的随机数生成器种子。这可以保证大多数模型的结果可复现(GPU 上训练的模型除外,因为 GPU 操作的非确定性)。
use_cache (bool, 默认值 = True) – 如果为 True,将尝试使用缓存的预测结果。如果为 False,将忽略缓存的预测结果。如果在创建
TimeSeriesPredictor
时cache_predictions
设置为 False,则此参数将被忽略。
示例
>>> print(data) target promotion price item_id timestamp A 2020-01-05 20 0 19.9 2020-01-06 40 1 9.9 2020-01-07 32 0 15.0 B 2020-03-01 13 0 5.0 2020-03-02 44 1 2.9 2020-03-03 72 1 2.9 >>> predictor = TimeSeriesPredictor(prediction_length=2, known_covariates_names=["promotion", "price"]).fit(data) >>> print(future_known_covariates) promotion price item_id timestamp A 2020-01-08 1 12.9 2020-01-09 1 12.9 B 2020-03-04 0 5.0 2020-03-05 0 7.0 >>> predictor.predict(data, known_covariates=future_known_covariates) mean item_id timestamp A 2020-01-08 30.2 2020-01-09 27.0 B 2020-03-04 17.1 2020-03-05 8.3