├── .github ├── codecov.yaml └── workflows │ ├── ci.yaml │ └── release.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── LICENSE ├── README.md ├── docs ├── Makefile ├── _static │ ├── banner_dark.svg │ ├── banner_dark_long.svg │ ├── banner_light.svg │ ├── banner_light_long.svg │ ├── favicon.ico │ └── logo.svg ├── _templates │ └── module.rst ├── conf.py ├── contributing.md ├── crps_estimators.md ├── forecast_dists.md ├── index.md ├── make.bat ├── reference.md ├── refs.bib ├── requirements.txt ├── theory.md ├── user_guide.md └── weighted_scores.md ├── pyproject.toml ├── scoringrules ├── __init__.py ├── _brier.py ├── _crps.py ├── _dss.py ├── _energy.py ├── _error_spread.py ├── _interval.py ├── _kernels.py ├── _logs.py ├── _quantile.py ├── _variogram.py ├── backend │ ├── __init__.py │ ├── base.py │ ├── jax.py │ ├── numpy.py │ ├── registry.py │ ├── tensorflow.py │ └── torch.py ├── core │ ├── __init__.py │ ├── brier.py │ ├── crps │ │ ├── __init__.py │ │ ├── _approx.py │ │ ├── _closed.py │ │ └── _gufuncs.py │ ├── dss │ │ ├── __init__.py │ │ ├── _gufuncs.py │ │ └── _score.py │ ├── energy │ │ ├── __init__.py │ │ ├── _gufuncs.py │ │ └── _score.py │ ├── error_spread │ │ ├── __init__.py │ │ ├── _gufunc.py │ │ └── _score.py │ ├── interval │ │ ├── __init__.py │ │ ├── _gufunc.py │ │ └── _score.py │ ├── kernels │ │ ├── __init__.py │ │ ├── _approx.py │ │ └── _gufuncs.py │ ├── logarithmic.py │ ├── stats.py │ ├── typing.py │ ├── utils.py │ └── variogram │ │ ├── __init__.py │ │ ├── _gufuncs.py │ │ └── _score.py └── visualization │ ├── __init__.py │ └── reliability.py ├── tests ├── __init__.py ├── conftest.py ├── data │ └── precip_Niamey_2016.csv ├── test_brier.py ├── test_crps.py ├── test_dss.py ├── test_energy.py ├── test_error_spread.py ├── test_interval.py ├── test_kernels.py ├── test_logs.py ├── test_quantile.py ├── test_variogram.py ├── test_visual.py ├── test_wcrps.py ├── test_wenergy.py └── test_wvariogram.py └── uv.lock /.github/codecov.yaml: -------------------------------------------------------------------------------- 1 | codecov: 2 | require_ci_to_pass: true 3 | 4 | 5 | comment: false 6 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/.readthedocs.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/README.md -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/_static/banner_dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/_static/banner_dark.svg -------------------------------------------------------------------------------- /docs/_static/banner_dark_long.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/_static/banner_dark_long.svg -------------------------------------------------------------------------------- /docs/_static/banner_light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/_static/banner_light.svg -------------------------------------------------------------------------------- /docs/_static/banner_light_long.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/_static/banner_light_long.svg -------------------------------------------------------------------------------- /docs/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/_static/favicon.ico -------------------------------------------------------------------------------- /docs/_static/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/_static/logo.svg -------------------------------------------------------------------------------- /docs/_templates/module.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/_templates/module.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/contributing.md -------------------------------------------------------------------------------- /docs/crps_estimators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/crps_estimators.md -------------------------------------------------------------------------------- /docs/forecast_dists.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/forecast_dists.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/reference.md -------------------------------------------------------------------------------- /docs/refs.bib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/refs.bib -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/theory.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/theory.md -------------------------------------------------------------------------------- /docs/user_guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/user_guide.md -------------------------------------------------------------------------------- /docs/weighted_scores.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/docs/weighted_scores.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/pyproject.toml -------------------------------------------------------------------------------- /scoringrules/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/__init__.py -------------------------------------------------------------------------------- /scoringrules/_brier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_brier.py -------------------------------------------------------------------------------- /scoringrules/_crps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_crps.py -------------------------------------------------------------------------------- /scoringrules/_dss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_dss.py -------------------------------------------------------------------------------- /scoringrules/_energy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_energy.py -------------------------------------------------------------------------------- /scoringrules/_error_spread.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_error_spread.py -------------------------------------------------------------------------------- /scoringrules/_interval.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_interval.py -------------------------------------------------------------------------------- /scoringrules/_kernels.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_kernels.py -------------------------------------------------------------------------------- /scoringrules/_logs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_logs.py -------------------------------------------------------------------------------- /scoringrules/_quantile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_quantile.py -------------------------------------------------------------------------------- /scoringrules/_variogram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/_variogram.py -------------------------------------------------------------------------------- /scoringrules/backend/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/backend/__init__.py -------------------------------------------------------------------------------- /scoringrules/backend/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/backend/base.py -------------------------------------------------------------------------------- /scoringrules/backend/jax.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/backend/jax.py -------------------------------------------------------------------------------- /scoringrules/backend/numpy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/backend/numpy.py -------------------------------------------------------------------------------- /scoringrules/backend/registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/backend/registry.py -------------------------------------------------------------------------------- /scoringrules/backend/tensorflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/backend/tensorflow.py -------------------------------------------------------------------------------- /scoringrules/backend/torch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/backend/torch.py -------------------------------------------------------------------------------- /scoringrules/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scoringrules/core/brier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/brier.py -------------------------------------------------------------------------------- /scoringrules/core/crps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/crps/__init__.py -------------------------------------------------------------------------------- /scoringrules/core/crps/_approx.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/crps/_approx.py -------------------------------------------------------------------------------- /scoringrules/core/crps/_closed.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/crps/_closed.py -------------------------------------------------------------------------------- /scoringrules/core/crps/_gufuncs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/crps/_gufuncs.py -------------------------------------------------------------------------------- /scoringrules/core/dss/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/dss/__init__.py -------------------------------------------------------------------------------- /scoringrules/core/dss/_gufuncs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/dss/_gufuncs.py -------------------------------------------------------------------------------- /scoringrules/core/dss/_score.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/dss/_score.py -------------------------------------------------------------------------------- /scoringrules/core/energy/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/energy/__init__.py -------------------------------------------------------------------------------- /scoringrules/core/energy/_gufuncs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/energy/_gufuncs.py -------------------------------------------------------------------------------- /scoringrules/core/energy/_score.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/energy/_score.py -------------------------------------------------------------------------------- /scoringrules/core/error_spread/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/error_spread/__init__.py -------------------------------------------------------------------------------- /scoringrules/core/error_spread/_gufunc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/error_spread/_gufunc.py -------------------------------------------------------------------------------- /scoringrules/core/error_spread/_score.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/error_spread/_score.py -------------------------------------------------------------------------------- /scoringrules/core/interval/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/interval/__init__.py -------------------------------------------------------------------------------- /scoringrules/core/interval/_gufunc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/interval/_gufunc.py -------------------------------------------------------------------------------- /scoringrules/core/interval/_score.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/interval/_score.py -------------------------------------------------------------------------------- /scoringrules/core/kernels/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/kernels/__init__.py -------------------------------------------------------------------------------- /scoringrules/core/kernels/_approx.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/kernels/_approx.py -------------------------------------------------------------------------------- /scoringrules/core/kernels/_gufuncs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/kernels/_gufuncs.py -------------------------------------------------------------------------------- /scoringrules/core/logarithmic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/logarithmic.py -------------------------------------------------------------------------------- /scoringrules/core/stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/stats.py -------------------------------------------------------------------------------- /scoringrules/core/typing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/typing.py -------------------------------------------------------------------------------- /scoringrules/core/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/utils.py -------------------------------------------------------------------------------- /scoringrules/core/variogram/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/variogram/__init__.py -------------------------------------------------------------------------------- /scoringrules/core/variogram/_gufuncs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/variogram/_gufuncs.py -------------------------------------------------------------------------------- /scoringrules/core/variogram/_score.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/core/variogram/_score.py -------------------------------------------------------------------------------- /scoringrules/visualization/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/visualization/__init__.py -------------------------------------------------------------------------------- /scoringrules/visualization/reliability.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/scoringrules/visualization/reliability.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/data/precip_Niamey_2016.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/data/precip_Niamey_2016.csv -------------------------------------------------------------------------------- /tests/test_brier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_brier.py -------------------------------------------------------------------------------- /tests/test_crps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_crps.py -------------------------------------------------------------------------------- /tests/test_dss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_dss.py -------------------------------------------------------------------------------- /tests/test_energy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_energy.py -------------------------------------------------------------------------------- /tests/test_error_spread.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_error_spread.py -------------------------------------------------------------------------------- /tests/test_interval.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_interval.py -------------------------------------------------------------------------------- /tests/test_kernels.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_kernels.py -------------------------------------------------------------------------------- /tests/test_logs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_logs.py -------------------------------------------------------------------------------- /tests/test_quantile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_quantile.py -------------------------------------------------------------------------------- /tests/test_variogram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_variogram.py -------------------------------------------------------------------------------- /tests/test_visual.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_visual.py -------------------------------------------------------------------------------- /tests/test_wcrps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_wcrps.py -------------------------------------------------------------------------------- /tests/test_wenergy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_wenergy.py -------------------------------------------------------------------------------- /tests/test_wvariogram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/tests/test_wvariogram.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frazane/scoringrules/HEAD/uv.lock --------------------------------------------------------------------------------