Expand description
Joint-Poisson counts-path objective with profiled flux.
This module implements the joint-Poisson conditional binomial deviance:
the per-bin flux is profiled out of a two-arm Poisson model analytically
(derivation below). The deviance is validated against synthetic
counts benchmarks and locked by a real-VENUS counts regression test
on the committed aggregated-Hf fixture. It supersedes
the fixed-flux Poisson NLL (poisson.rs) for the counts-path fitter.
§Model
Under the λ-at-sample convention with proton-charge ratio c = Q_s / Q_ob:
O_i ~ Poisson(λ_i / c)(open-beam counts)S_i ~ Poisson(λ_i · T_i)(sample counts)
Profiling out λ_i bin-by-bin gives the closed-form MLE
λ̂_i = c · (O_i + S_i) / (1 + c · T_i)The profile-conditional log-likelihood is equivalent (up to constants) to
a Binomial S_i | N_i = O_i + S_i ~ Binomial(N_i, p_i) with
p_i = c · T_i / (1 + c · T_i)The conditional deviance is
D(θ) = 2 · Σ_i [ S_i · ln(S_i / (N_i · p_i))
+ O_i · ln(O_i / (N_i · (1 − p_i))) ]with the x · ln(x / 0) → 0 convention when x = 0.
Under the correct model, D / (n − k) → 1 as n → ∞ — this replaces the
fixed-flux Pearson χ²/dof reported from the old Poisson path (which
scaled with the proton-charge ratio c at constant density fidelity).
Structs§
- Joint
Poisson FitConfig - Configuration for
joint_poisson_fit. - Joint
Poisson Objective - Joint-Poisson objective.
- Joint
Poisson Result - Outcome of
joint_poisson_fit.
Functions§
- joint_
poisson_ fit - Two-stage joint-Poisson fit: damped Fisher stage followed by Nelder-Mead polish.