Flexible NaN-handling
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
調査の方向性
Start with the ensemble metric implementations and shared helpers in core/utils.py, then follow the weighted Energy Score pattern for vs_ensemble, twvs_ensemble, owvs_ensemble, and vrvs_ensemble. Check how apply_nan_policy_ens_uv, apply_nan_policy_ens_mv, and nan_policy_check handle invalid members and unsupported estimators. Done means the Variogram Score variants support the requested policies with tests for propagation, omission, and errors.
索引モデルが issue の本文から書いたものです。
説明
For ensemble-based scoring rules, we need flexible handling of missing values in ensemble members. Currently, ensemble-based metrics such as the CRPS return NaN if there is one or more NaNs in the ensemble members. It may be the case that users have an ensemble with a few NaNs (e.g. with lagged ensembles you have NaNs for some timestamps) but still want to get a valid score.
Proposed solution
We allow users to specify a nan_policy argument on ensemble metrics:
- propagate (default): return NaN if any ensemble member is NaN
- omit: ignore NaN values during computation
- raise: raise an error if NaN values are encountered
NaN in the observations always propagates, regardless of policy. The omit policy flags every invalid member — any NaN member, and in the multivariate case any member with a NaN variable or weight — and folds it into the ensemble weights as a zero weight, routing the score through the existing weighted estimators (#117). Shared helpers (apply_nan_policy_ens_uv, apply_nan_policy_ens_mv, nan_policy_check) live in core/utils.py.
Status
Done
- CRPS —
crps_ensemble,twcrps_ensemble,owcrps_ensemble,vrcrps_ensemble(#118, merged). - Energy Score —
es_ensemble,twes_ensemble,owes_ensemble,vres_ensemble(#123). First multivariate metric; also fixed two pre-existing bugs in the weighted energy numba kernels (ow = ow[0]scalar indexing, andnp.mean(fw)vsnp.sum(fw * ens_w)normalization).
Remaining
- Variogram Score —
vs_ensemble,twvs_ensemble,owvs_ensemble,vrvs_ensemble. Weighted estimators exist, so it follows the Energy pattern directly. - Gaussian Kernel Score — univariate and multivariate
gks*_ensemble. Weighted estimators exist, but the weighted multivariate numba kernels still carry theow = ow[0]bug fixed for Energy (core/kernels/_gufuncs_w.py:250,:277); needs fixing before the omit path runs on numba.
Not planned
- Dawid–Sebastiani (
dssuv_ensemble,dssmv_ensemble) — computed from mean/covariance, no weighted estimator to route through. - Log Score (
logs_ensemble,clogs_ensemble) — kernel-density estimates, omit semantics not well defined.
Note: omit is not implemented for estimators that cannot be expressed through member weighting (CRPS int/akr/akr_circperm, Energy akr/akr_circperm); these raise NotImplementedError.
- 主要言語
- Python
- スター
- 108
- フォーク
- 15
- 平均マージ
- 1時間 42分
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
frazane/scoringrules のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
frazane/scoringrules#164 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
frazane/scoringrules#163 ·
メンテナーはふだん 1 日以内に返信
-
backend:torch bug documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
frazane/scoringrules#146 ·
メンテナーはふだん 1 日以内に返信
-
Bugs in the legacy TorchBackend対応中かも @frazane が今日担当しました。 オープンbackend:torch bug
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
frazane/scoringrules#147 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
frazane/scoringrules#145 ·
メンテナーはふだん 1 日以内に返信
frazane/scoringrules の issue をすべて見る
似ている issue
-
ChatBedrockConverse changes the keys of JSON tool results to camelCase (`order_id` becomes `orderId`)対応中かも @geyazheng が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
langchain-ai/langchain-aws#1469 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
b4b usability
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
fix(schedule): align list_tasks since cursor filter boundary from strict > to >=対応中かも @bfs2021 が今日担当しました。 オープンagent-ready bug p2 schedule
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
allenporter/supernote#540 ·
メンテナーはふだん 1 日以内に返信
-
The docs build fails: ecc's live inventory dropped the ecc.ecc names btclib's pinned ecc uses対応中かも @fametrano が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
btclib-org/btclib#2968 ·
メンテナーはふだん 1 日以内に返信