per_observación_crps#
- pymc_marketing.metrics.per_observation_crps(y_true, y_pred)[fuente]#
Calcule la puntuación de probabilidad clasificada continua (CRPS) para cada observación.
El CRPS — Puntaje de Probabilidad Clasificada Continua — es una función de puntuación que compara un único valor de verdad fundamental con una Función de Distribución Acumulativa.
- Parámetros:
- y_truenumpy:similar_a_array
Los valores de la verdad fundamental.
- y_prednumpy:similar_a_array
Los valores predichos. Se espera que y_pred tenga una dimensión de muestra adicional a la izquierda.
- Devoluciones:
- array_like
El CRPS para cada observación.
Referencias
Esta implementación es una adaptación mínima de la que se encuentra en el proyecto Pyro: https://docs.pyro.ai/en/dev/_modules/pyro/ops/stats.html#crps_empirical
Para una introducción al CRPS, consulte https://towardsdatascience.com/crps-a-scoring-function-for-bayesian-machine-learning-models-dd55a7a337a8
Ejemplos
import numpy as np from pymc_marketing.metrics import per_observation_crps # y_true shape is (3,) y_true = np.array([1, 1, 1]) # y_pred shape is (10, 3). The extra dimension on the left is the number of samples. y_pred = np.repeat(np.array([[0, 1, 0]]), 10, axis=0) # The result has shape (3,), one value per observation. per_observation_crps(y_true, y_pred) >> array([1., 0., 1.])