pub struct ExternalOptimResult {Show 22 fields
pub beta: Array1<f64>,
pub lambdas: Array1<f64>,
pub likelihood_family: LikelihoodSpec,
pub likelihood_scale: LikelihoodScaleMetadata,
pub log_likelihood_normalization: LogLikelihoodNormalization,
pub log_likelihood: f64,
pub standard_deviation: f64,
pub iterations: usize,
pub finalgrad_norm: f64,
pub outer_converged: bool,
pub pirls_status: PirlsStatus,
pub deviance: f64,
pub stable_penalty_term: f64,
pub used_device: bool,
pub max_abs_eta: f64,
pub constraint_kkt: Option<ConstraintKktDiagnostics>,
pub artifacts: FitArtifacts,
pub inference: Option<FitInference>,
pub reml_score: f64,
pub fitted_link: FittedLinkState,
pub outer_cost_evals: usize,
pub inner_pirls_solves: usize,
}Fields§
§beta: Array1<f64>§lambdas: Array1<f64>§likelihood_family: LikelihoodSpec§likelihood_scale: LikelihoodScaleMetadata§log_likelihood_normalization: LogLikelihoodNormalization§log_likelihood: f64§standard_deviation: f64Residual scale on the response scale.
Contract: Gaussian identity models store the residual standard deviation sigma here. Non-Gaussian families keep the response-scale summary used by their explicit likelihood-scale metadata.
iterations: usize§finalgrad_norm: f64§outer_converged: boolTrue iff the outer optimizer reached a stationary point (gradient
norm below tolerance), as reported by the optimizer itself. False
when the run exhausted its iteration budget without reaching the
gradient tolerance. Downstream consumers should NOT assume that a
fit with outer_converged == false is unusable — it may still be
the best basin reached given the budget — but they must not treat
it as certified-converged either.
pirls_status: PirlsStatus§deviance: f64§stable_penalty_term: f64Stable quadratic penalty term βᵀSβ, including any solver ridge quadratic.
used_device: bool§max_abs_eta: f64§constraint_kkt: Option<ConstraintKktDiagnostics>§artifacts: FitArtifacts§inference: Option<FitInference>§reml_score: f64Complete REML/LAML objective value used for smoothing selection.
fitted_link: FittedLinkState§outer_cost_evals: usizeNumber of outer REML cost-only evaluations executed during the fit (the count the outer optimizer’s trust-region/line-search probes drive, each paying an inner P-IRLS solve). Surfaced for regression guards on outer work (#1575); not part of the statistical contract.
inner_pirls_solves: usizeNumber of actual full-n inner P-IRLS solves performed (cache-missing
prepare_eval_bundlewithkey calls). This is the true cost driver the
#1575 slowdown is measured in (“~150 outer cost evals each running a
full n-sized P-IRLS”): unlike outer_cost_evals, it excludes single-slot
cache hits and prior short-circuits and includes every solve done by the
seed-grid prepass, screening, multistart, and finalize phases. Surfaced
for a regression guard that pins the warm-start / parsimony-waiver /
PSIS-optin economy (#1575); not part of the statistical contract.
Auto Trait Implementations§
impl !RefUnwindSafe for ExternalOptimResult
impl !UnwindSafe for ExternalOptimResult
impl Freeze for ExternalOptimResult
impl Send for ExternalOptimResult
impl Sync for ExternalOptimResult
impl Unpin for ExternalOptimResult
impl UnsafeUnpin for ExternalOptimResult
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.