Scoring Rules

0.9.0 · active · verified Fri Apr 17

Scoringrules is a Python library for evaluating probabilistic forecasts using various scoring rules. It provides implementations of Continuous Ranked Probability Score (CRPS), Log Score, Brier Score, Dawid-Sebastiani Score, and more for various distributions and ensembles. The current version is 0.9.0, and the library maintains an active development pace with frequent minor releases and occasional breaking changes.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart calculates the Continuous Ranked Probability Score (CRPS) for a set of Gaussian probabilistic forecasts against corresponding observations. It demonstrates the basic usage pattern with `numpy` arrays and the `crps.gaussian` function, highlighting the argument order requirement.

import numpy as np
import scoringrules as sr

# Generate some synthetic data
forecast_mean = np.array([0.1, 0.2, 0.3, 0.4])
forecast_std = np.array([0.5, 0.5, 0.5, 0.5])
observations = np.array([0.1, 0.1, 0.3, 0.5])

# Calculate CRPS for a Gaussian distribution
# Observations must be the first argument since v0.5.0
crps_scores = sr.crps.gaussian(observations, forecast_mean, forecast_std)
print(f"CRPS scores: {crps_scores}")
print(f"Mean CRPS: {np.mean(crps_scores)}")

view raw JSON →