pub enum BasisDesignScaleLaw {
Invariant,
NumericMultiplierDegreeOne,
ReplicatedInner,
TensorProductOfMarginals,
RandomInterceptSlopeDegreesZeroAndOne,
ChartSimilarityDegreeOne,
}Expand description
Transformation of the emitted design matrix.
Variants§
Invariant
The declared joint coordinate/parameter action leaves every design entry invariant (up to floating-point roundoff).
NumericMultiplierDegreeOne
Scaling only the numeric multiplier by a sends X -> a*X; scaling an
inner coordinate follows the child’s law.
ReplicatedInner
Wrapper design is a row gate/replication of its invariant inner design.
TensorProductOfMarginals
Tensor design is the row-wise product of invariant marginal designs.
RandomInterceptSlopeDegreesZeroAndOne
A random-intercept/slope block has alternating degree-zero and degree-one columns in each factor level: intercept columns are invariant and slope columns gain one power of the abscissa scale.
ChartSimilarityDegreeOne
Every design entry gains exactly one power of the chart scale a.
The constant-curvature smooth’s kernel is ℓ·(e^{−d_κ/ℓ} − 1), which is
a LENGTH: the ℓ factor is what stops the realized design collapsing
like 1/ℓ and dragging ρ̂ with it, and what makes the ℓ → ∞ face the
finite geodesic-distance kernel rather than nothing (gam#2747,
constant_curvature_kernel_matrix). Under x' = a·x, κ' = κ/a²,
ℓ' = a·ℓ the exponent d_κ/ℓ is invariant and the prefactor is not, so
X' = a·X exactly.
This is equivariance, not a broken invariance: the design gains a power
the penalty gains too, and a common positive factor on (X, S) is
absorbed exactly by λ, so the fitted function is unchanged. A basis
whose columns carry units is ordinary — a parametric x column does —
and the alternative (a dimensionless kernel) is what confounded the range
coordinate with the smoothing parameter.
Trait Implementations§
Source§impl Clone for BasisDesignScaleLaw
impl Clone for BasisDesignScaleLaw
Source§fn clone(&self) -> BasisDesignScaleLaw
fn clone(&self) -> BasisDesignScaleLaw
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BasisDesignScaleLaw
Source§impl Debug for BasisDesignScaleLaw
impl Debug for BasisDesignScaleLaw
impl Eq for BasisDesignScaleLaw
Source§impl PartialEq for BasisDesignScaleLaw
impl PartialEq for BasisDesignScaleLaw
impl StructuralPartialEq for BasisDesignScaleLaw
Auto Trait Implementations§
impl Freeze for BasisDesignScaleLaw
impl RefUnwindSafe for BasisDesignScaleLaw
impl Send for BasisDesignScaleLaw
impl Sync for BasisDesignScaleLaw
impl Unpin for BasisDesignScaleLaw
impl UnsafeUnpin for BasisDesignScaleLaw
impl UnwindSafe for BasisDesignScaleLaw
Blanket Implementations§
impl<T> Allocation for T
impl<T> Boilerplate for T
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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,
impl<T> Scalar for T
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.