metrics
metrics
¶
Metrics for evaluating inference accuracy and optimization quality.
Part I (18-662) metrics: prediction accuracy, calibration, ablation. Part II (18-660) metrics: actual points, optimality gap, consistency.
InferenceMetrics
dataclass
¶
InferenceMetrics(
predicted_means: list[float] = list(),
predicted_vars: list[float] = list(),
actuals: list[float] = list(),
model_predictions: dict[str, list[float]] = dict(),
)
Collects and computes inference evaluation metrics.
Usage: metrics = InferenceMetrics() for each player-gameweek: metrics.add(predicted_mean, predicted_var, actual_points) report = metrics.compute()
add
¶
add(
predicted_mean: float,
predicted_var: float,
actual: float,
model_preds: dict[str, float] | None = None,
)
Record a single prediction-actual pair.
Source code in fplx/evaluation/metrics.py
compute
¶
Compute all inference metrics.
Source code in fplx/evaluation/metrics.py
OptimizationMetrics
dataclass
¶
OptimizationMetrics(
strategy_points: dict[str, list[float]] = dict(),
oracle_points: list[float] = list(),
gameweeks: list[int] = list(),
)
Collects and computes optimization evaluation metrics.
Tracks actual points earned per gameweek under different strategies, and compares against oracle (hindsight-optimal).
Usage: metrics = OptimizationMetrics() for each gameweek: metrics.add_gameweek(gw, actual_points, oracle_points) report = metrics.compute()
add_gameweek
¶
Record actual points for one gameweek across strategies.
| PARAMETER | DESCRIPTION |
|---|---|
gw
|
Gameweek number.
TYPE:
|
strategy_results
|
{strategy_name: actual_points_earned}
TYPE:
|
oracle
|
Best possible points with hindsight.
TYPE:
|
Source code in fplx/evaluation/metrics.py
compute
¶
Compute optimization metrics for all strategies.