Bias
polars_ts.bias
Forecast bias detection and correction. Closes #56.
bias_detect(df, actual_col='y', predicted_col='y_hat', id_col=None)
Detect systematic forecast bias.
Computes mean error, sign test ratio, and bias ratio per group.
Parameters
df DataFrame with actual and predicted values. actual_col Column with actual values. predicted_col Column with predicted values. id_col If provided, compute bias per group.
Returns
pl.DataFrame
DataFrame with columns ["mean_error", "sign_ratio", "bias_ratio"].
sign_ratio is the fraction of positive errors (> 0.5 = over-predicting).
bias_ratio is mean_error / MAE.
bias_correct(df, actual_col='y', predicted_col='y_hat', method='mean', id_col=None)
Correct systematic forecast bias.
Parameters
df
DataFrame with actual and predicted values.
actual_col
Column with actual values.
predicted_col
Column with predicted values.
method
Correction method:
"mean" — subtract mean error,
"regression" — linear recalibration (slope + intercept),
"quantile" — quantile mapping correction.
id_col
If provided, correct per group.
Returns
pl.DataFrame
DataFrame with predicted_col adjusted and
{predicted_col}_original preserving the uncorrected values.
_regression_correct(df, actual_col, predicted_col)
Apply linear recalibration: actual ≈ slope * predicted + intercept.
_quantile_correct(df, actual_col, predicted_col)
Quantile mapping: map predicted quantiles to actual quantiles.