pub struct HierarchicalLinearModel {
pub fixed_effects: Array2<f64>,
pub random_effects_cov: Array2<f64>,
pub residual_variance: f64,
pub groups: Array1<usize>,
pub n_groups: usize,
pub n_level1_predictors: usize,
pub n_level2_predictors: usize,
pub random_slopes: bool,
}Expand description
Hierarchical linear model with random intercepts and slopes
Model structure: Level 1: y_ij = β₀j + β₁j * x_ij + ε_ij, ε_ij ~ N(0, σ²) Level 2: β₀j = γ₀₀ + γ₀₁ * w_j + u₀j, u₀j ~ N(0, τ₀₀) β₁j = γ₁₀ + γ₁₁ * w_j + u₁j, u₁j ~ N(0, τ₁₁)
Fields§
§fixed_effects: Array2<f64>Fixed effects parameters
random_effects_cov: Array2<f64>Random effects covariance matrix
residual_variance: f64Residual variance
groups: Array1<usize>Group identifiers
n_groups: usizeNumber of groups
n_level1_predictors: usizeNumber of level-1 predictors
n_level2_predictors: usizeNumber of level-2 predictors
random_slopes: boolWhether to include random slopes
Implementations§
Source§impl HierarchicalLinearModel
impl HierarchicalLinearModel
Sourcepub fn new(
n_groups: usize,
n_level1_predictors: usize,
n_level2_predictors: usize,
random_slopes: bool,
) -> Result<Self>
pub fn new( n_groups: usize, n_level1_predictors: usize, n_level2_predictors: usize, random_slopes: bool, ) -> Result<Self>
Create a new hierarchical linear model
Sourcepub fn fit_mcmc<R: Rng + ?Sized>(
&mut self,
y: ArrayView1<'_, f64>,
x_level1: ArrayView2<'_, f64>,
x_level2: ArrayView2<'_, f64>,
groups: ArrayView1<'_, usize>,
n_iter: usize,
burnin: usize,
rng: &mut R,
) -> Result<HierarchicalModelResults>
pub fn fit_mcmc<R: Rng + ?Sized>( &mut self, y: ArrayView1<'_, f64>, x_level1: ArrayView2<'_, f64>, x_level2: ArrayView2<'_, f64>, groups: ArrayView1<'_, usize>, n_iter: usize, burnin: usize, rng: &mut R, ) -> Result<HierarchicalModelResults>
Fit the hierarchical model using MCMC
Sourcepub fn predict(
&self,
x_level1: ArrayView2<'_, f64>,
x_level2: ArrayView2<'_, f64>,
groups: ArrayView1<'_, usize>,
) -> Result<Array1<f64>>
pub fn predict( &self, x_level1: ArrayView2<'_, f64>, x_level2: ArrayView2<'_, f64>, groups: ArrayView1<'_, usize>, ) -> Result<Array1<f64>>
Predict for new data
Trait Implementations§
Source§impl Clone for HierarchicalLinearModel
impl Clone for HierarchicalLinearModel
Source§fn clone(&self) -> HierarchicalLinearModel
fn clone(&self) -> HierarchicalLinearModel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for HierarchicalLinearModel
impl RefUnwindSafe for HierarchicalLinearModel
impl Send for HierarchicalLinearModel
impl Sync for HierarchicalLinearModel
impl Unpin for HierarchicalLinearModel
impl UnsafeUnpin for HierarchicalLinearModel
impl UnwindSafe for HierarchicalLinearModel
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
Mutably borrows from an owned value. Read more
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.