paddlets.utils.backtest

backtest(data: ~paddlets.datasets.tsdataset.TSDataset, model: ~paddlets.models.base.Trainable, start: ~typing.Optional[~typing.Union[~pandas._libs.tslibs.timestamps.Timestamp, int, str, float]] = None, predict_window: int = 1, stride: int = 1, metric: ~typing.Optional[~paddlets.metrics.base.Metric] = None, return_score: bool = True, reduction: ~typing.Optional[~typing.Callable[[~numpy.ndarray], float]] = <function mean>) Union[TSDataset, List[TSDataset], float][源代码]

回测在长度等于predict_window的数据集上重复预测,通过“stride”时间步长进行训练,直到移动至末尾。默认情况下,Backtest 将生成一个长度为 (data_length - model.skip_chunk_len) 的 TSdataset 作为输出。如果设置 predict_window != stride,Backtest 将生成一个 TSdataset List作为输出。如果设置 return_score=True,将输出评估一个指标(由 metric 函数给出)关于预测值和实际值。最后,该方法返回所有这些指标的统计值。

参数
  • data (TSDataset) – 用于回测的 TSdataset

  • model (Trainable) – 用于回测的模型,需要提前拟合

  • predict_window (int) – 预测窗口

  • stride (int) – 两个连续预测值之间的步长

  • metric (Metric) – 指标计算公式

  • return_score (bool) – 默认为True,如果设置 return_score=True,将输出评估一个指标。如果设置 return_score=False,将输出TSDataset形式的回测结果。如果predict_window != stride,将生成一个 TSdataset List作为输出

  • reduction (Callable[[np.ndarray]|None) – 最终结果的统计方法,默认为np.mean

返回

Union[TSDataset,List[TSdataset],float]

引发

ValueError