Código-fonte para llm4time.core.metrics

from .evaluate.metrics import Metrics
from .evaluate.statistics import Statistics


[documentos] def evaluate(y_val: list[float], y_pred: list[float]) -> tuple[Metrics, Statistics, Statistics]: """ Avalia previsões de séries temporais e calcula estatísticas descritivas. Esta função cria instâncias das classes ``Metrics`` e ``Statistics`` para fornecer uma análise completa das previsões de séries temporais, incluindo métricas de erro e estatísticas descritivas tanto dos valores observados quanto dos valores preditos. Args: y_val (list[float]): Lista de valores observados (reais). y_pred (list[float]): Lista de valores preditos pelo modelo. Returns: tuple[Metrics, Statistics, Statistics]: - metrics (Metrics): Instância contendo métricas de erro. - stats_val (Statistics): Instância com estatísticas da série observada. - stats_pred (Statistics): Instância com estatísticas da série predita. Examples: >>> y_val = [10, 20, 30, 40] >>> y_pred = [12, 18, 29, 41] >>> metrics, val_stats, pred_stats = evaluate(y_val, y_pred) >>> print(metrics.mae, metrics.rmse, metrics.smape) 1.5 1.58 5.0 >>> print(val_stats.mean, pred_stats.mean) 25.0 25.0 >>> print(val_stats.missing_count, pred_stats.missing_count) 0 0 """ metrics = Metrics(y_val, y_pred) stats_val = Statistics(y_val) stats_pred = Statistics(y_pred) return metrics, stats_val, stats_pred