Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Detect non-finite `log_lik` (`Inf` / `NaN`) and explicitely inform the user

オープン
#386 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
r
領域
data

調査の方向性

エントリーポイントの loo::loo() から開始し、log_lik 行列がどこで検証されるか、または PSIS-LOO に渡されるかを追跡します。+Inf を含む再現可能な行列を使用して、非有限値が暗黙的に NA 推定値を生成するのではなく、明確に報告されることを確認します。ユーザー向けの動作で無効な log_lik 値が特定され、既存の例がその情報なしに完了しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Summary

If the pointwise log-likelihood matrix contains +Inf or NaN, loo::loo() currently completes without a clear error/warning and can return NA for elpd_loo.

Proposal

Before (or while) computing PSIS-LOO, check the log_lik matrix for non-finite values and message this clearly to the user.

Reproducible example

library(loo)

set.seed(1)
ll <- matrix(rnorm(400 * 20, -1, 0.5), 400, 20)
ll[1:5, 1] <- Inf
loo(ll)$estimates  # elpd_loo is NA; no clear message that log_lik had +Inf
#          Estimate SE
# elpd_loo       NA NA
# p_loo          NA NA
# looic          NA NA

Context

Seen with truncated-normal log_lik from brms, where the truncation normalizer can underflow:
https://discourse.mc-stan.org/t/difficulty-adding-loo-criterion-to-longitudinal-truncated-normal-model/41447/12

Corresponding brms Issue: https://github.com/paul-buerkner/brms/issues/1899

主要言語
R
スター
157
フォーク
38
平均マージ
4日 16時間
マージ済み PR(30日)
2

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

stan-dev/loo のほかの issue

stan-dev/loo の issue をすべて見る

似ている issue

R の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。