Source code for tsfeast.metrics
"""Custom scoring metrics."""
from numpy import log
from sklearn.metrics import mean_squared_error
from tsfeast._base import BaseContainer
from tsfeast.utils import Data
[docs]def bic_score(mse: float, n: int, p: int):
"""
Calcuate BIC score.
Parameters
----------
mse: float
Mean-squared error.
n: int
Number of observations.
p: int
Number of parameters
Returns
-------
float
BIC value.
"""
return n * log(mse) + log(n) * p
[docs]def bic_scorer(estimator: BaseContainer, X: Data, y: Data):
"""Score SciKit-Learn estimator using BIC."""
y_pred = estimator.predict(X)
mse = mean_squared_error(y, y_pred)
return bic_score(mse, X.shape[0], X.shape[1])