pub struct GaussianLocationScaleFitResult {
pub fit: BlockwiseTermFitResult,
pub wiggle_knots: Option<Array1<f64>>,
pub wiggle_degree: Option<usize>,
pub beta_link_wiggle: Option<Vec<f64>>,
pub response_scale: f64,
}Fields§
§fit: BlockwiseTermFitResult§wiggle_knots: Option<Array1<f64>>§wiggle_degree: Option<usize>§beta_link_wiggle: Option<Vec<f64>>§response_scale: f64Response standardization factor applied internally during fitting.
The Gaussian location-scale path fits on y / response_scale so the
fixed log-σ soft floor LOGB_SIGMA_FLOOR = 0.01 is operationally
scale-relative (1 % of the response spread) rather than absolute,
keeping κ = dlogσ/dη ≈ 1 across the realistic σ range and informing the
scale block like gamlss. The returned coefficient blocks, beta, and
link-wiggle knots/coefficients are already mapped back to raw response
units (the Location/Mean block scaled by response_scale, the Scale
block intercept shifted by +ln(response_scale)), so downstream
reconstruction μ = X_mean·β comes out in raw units with no further
rescaling.
The σ reconstruction, however, must scale the floor too to stay response-scale-equivariant (#884):
σ = response_scale·LOGB_SIGMA_FLOOR + exp(X_scale·β)
= response_scale·(LOGB_SIGMA_FLOOR + exp(η_internal)).The intercept shift carries only the exp(η) term; reconstructing with a
raw LOGB_SIGMA_FLOOR instead of response_scale·LOGB_SIGMA_FLOOR leaves
the non-equivariant residual LOGB_SIGMA_FLOOR·(1 − response_scale).
This field records the factor that was applied for transparency,
covariance bookkeeping, and the equivariant σ-floor reconstruction; it is
1.0 when no standardization was needed (degenerate constant response).
Auto Trait Implementations§
impl !RefUnwindSafe for GaussianLocationScaleFitResult
impl !UnwindSafe for GaussianLocationScaleFitResult
impl Freeze for GaussianLocationScaleFitResult
impl Send for GaussianLocationScaleFitResult
impl Sync for GaussianLocationScaleFitResult
impl Unpin for GaussianLocationScaleFitResult
impl UnsafeUnpin for GaussianLocationScaleFitResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.