ngmix: the reduced-χ² anomaly on stars (error model)
@fabianhervaspeters がすでに取り組んでいます。
2026年6月30日 から。
評価
この issue はまだ評価されていません。
説明
On stars, reduced-χ² runs too large at the bright end (climbing to ~8 for the brightest) and too small at the faint end (~0.2, against an expected ~1). χ² naturally improves for faint objects (noise dominates the denominator), but ~0.2 is well below 1 and points at a mis-estimated error model or an over-flexible fit. The faint-star ≈0.2 is the genuinely concerning piece: it implies the assumed variance is ~5× too large (σ inflated ~2.2×).
The sign flips with brightness, so a single noise-mis-scaling can't explain both tails — the answer likely names more than one effect:
- bright-high reads as the Gaussian model genuinely failing to represent a near-point source through an imperfect PSF model (model inadequacy at the deconvolution singularity — consistent with the star-response R-climb floor);
- faint-≈0.2 reads as the assumed errors being too large — which ties to the weight map / noise estimate fed to ngmix and to the #749 prior/weight thread.
Checkable: χ²_red vs magnitude re-derived from a controlled rerun, split by branch; the noise/weight path the fit actually consumes audited end-to-end (prepare_ngmix_weights ngmix.py:986, get_noise ngmix.py:941); and, where fixable, the assumed errors corrected so χ²_red → ~1, or the residual named as an intrinsic model-inadequacy floor.
χ² is not exported today — the fit result dict surfaces only s2n (ngmix.py:505–512); χ² lives inside the ngmix LM result. A reduced-χ² column needs wiring out per object (the prototype feat(ngmix): write reduced chi2 …, commit ba384428 on investigate/star-response, is the clean seed). That export is what unblocks the χ²-vs-magnitude panel the verification suite (#765) wants. Also fix the χ²-vs-mag plot's "Galaxy Fit" y-axis mislabel — it sits on a star fit.
Longer-term (not blocking the ngmix v2.0 merge — under #773). Coupled to the dropped PSF noise-injection (its own issue under #762), which is a leading candidate for the error-model mis-specification this anomaly measures. Related: #749, #765 (consumes the χ² export).
— Claude on behalf of Cail
- 主要言語
- Python
- スター
- 18
- フォーク
- 14
- 平均マージ
- 8時間 40分
- マージ済み PR(30日)
- 10
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
CosmoStat/shapepipe のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 78/100
CosmoStat/shapepipe の issue をすべて見る
似ている issue
-
area: harness bug status: needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Human-Agent-Society/reef#625 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
learningequality/kolibri#15351 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
Name consistency オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
eellak/triplestore#65 · コメント 1 件 ·