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: ~typing.Union[None, int] = None, stride: ~typing.Union[None, int] = None, metric: ~typing.Optional[~paddlets.metrics.base.Metric] = None, return_predicts: bool = False, reduction: ~typing.Optional[~typing.Callable[[~numpy.ndarray], float]] = <function mean>, verbose: bool = True) Union[float, Tuple[float, Union[TSDataset, List[TSDataset]]]][源代码]
回测在长度等于predict_window的数据集上重复预测,通过“stride”时间步长进行训练,直到移动至末尾。默认情况下,Backtest 将生成一个长度为 (data_length - model.skip_chunk_len) 的 TSdataset 作为输出。如果设置 predict_window != stride,Backtest 将生成一个 TSdataset List作为输出。
- 参数
data (TSDataset) – 用于回测的 TSdataset
model (Trainable) – 用于回测的模型,需要提前拟合
start (pd.Timestamp|int|None) – 回测的起点,默认为model.in_chunk_len的后一个点
predict_window (int|None) – 预测窗口
stride (int|None) – 两个连续预测值之间的步长
metric (Metric) – 指标计算公式
return_predicts (bool) – 默认只返回score,如果设置为True,返回score和预测值
reduction (Callable[[np.ndarray]|None) – 最终结果的统计方法,默认为np.mean
verbose (bool) – 是否开启日志打印,默认开启
- 返回
默认只返回score,如果设置return_predicts为True,返回score和预测值
- 返回类型
- 引发
ValueError –