ngmix: the reduced-χ² anomaly on stars (error model)
@fabianhervaspeters ci sta già lavorando.
Dal 30/6/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
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
- Lingua principale
- Python
- Stelle
- 18
- Fork
- 14
- Merge medio
- 8h 40m
- PR unite (30g)
- 10
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CosmoStat/shapepipe
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
Tutte le issue di CosmoStat/shapepipe
Issue simili
-
area: harness bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Human-Agent-Society/reef#625 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
learningequality/kolibri#15351 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Name consistency Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eellak/triplestore#65 · 1 commento ·