in orbit/diagnostics/backtest.py [0:0]
def _validate_metric_callables(self, metrics):
for metric in metrics:
metric_signature = self._get_metric_callable_signature(metric)
if metric_signature == {
BacktestFitKeys.ACTUAL.value,
BacktestFitKeys.PREDICTED.value,
}:
continue
elif metric_signature.issubset(
{
BacktestFitKeys.TEST_ACTUAL.value,
BacktestFitKeys.TEST_PREDICTED.value,
BacktestFitKeys.TRAIN_ACTUAL.value,
BacktestFitKeys.TRAIN_PREDICTED.value,
}
):
continue
else:
raise BacktestException(
"metric callable does not have a supported function signature"
)