操作指南
预测回调
获取每个预测范围内的输入特征和预测结果
如果您想在预测前对输入进行某些操作,或者在输出用于更新目标(以及依赖于滞后的后续特征)之前对输出进行某些操作,您可以传递一个函数在这些时刻运行。
这里有几个示例
预测前
检查输入
我们可以定义一个函数,在预测前显示我们的输入 dataframe。
现在我们可以将此函数传递给 MLForecast.predict
的 before_predict_callback
参数。
unique_id | lag1 | lag2 | |
---|---|---|---|
0 | id_0 | 4.15593 | 3.000028 |
unique_id | lag1 | lag2 | |
---|---|---|---|
0 | id_0 | 5.250205 | 4.15593 |
unique_id | ds | LGBMRegressor | |
---|---|---|---|
0 | id_0 | 2000-08-10 | 5.250205 |
1 | id_0 | 2000-08-11 | 6.241739 |
保存输入特征
将每个时间戳作为输入发送给模型的特征保存起来会很有帮助,例如用于估计 SHAP 值。这可以通过 SaveFeatures
回调轻松实现。
调用 predict 后,我们就可以获取特征了。
unique_id | lag1 | |
---|---|---|
0 | id_0 | 4.155930 |
1 | id_0 | 5.281643 |
预测后
使用递归策略(默认)进行预测时,每个时间戳的预测结果用于更新目标并重新计算特征。如果您想在此之前对这些预测结果进行某些操作,您可以使用 MLForecast.predict
的 after_predict_callback
参数。
增加预测值
假设我们知道我们的模型总是低估,我们想通过将预测值提高 10% 来防止这种情况发生。我们可以通过以下方式实现这一点