pub struct SviBayesianRegression {
pub mean_beta: Array1<f64>,
pub log_std_beta: Array1<f64>,
pub shape_tau: f64,
pub rate_tau: f64,
pub prior_var: f64,
pub prior_shape: f64,
pub prior_rate: f64,
pub n_features: usize,
pub config: SviConfig,
}Expand description
SVI-specialized Bayesian linear regression
Uses stochastic variational inference to fit a Bayesian linear regression model, making it suitable for large datasets that don’t fit in memory.
Model: y = X * beta + epsilon, epsilon ~ N(0, sigma^2) Prior: beta ~ N(0, prior_var * I), sigma^2 ~ InvGamma(a, b)
Fields§
§mean_beta: Array1<f64>Variational mean for coefficients
log_std_beta: Array1<f64>Variational log std for coefficients
shape_tau: f64Variational parameters for noise precision: shape and rate of Gamma
rate_tau: f64§prior_var: f64Prior variance for coefficients
prior_shape: f64Prior shape for noise precision
prior_rate: f64Prior rate for noise precision
n_features: usizeNumber of features
config: SviConfigSVI configuration
Implementations§
Source§impl SviBayesianRegression
impl SviBayesianRegression
Sourcepub fn new(n_features: usize, config: SviConfig) -> Result<Self>
pub fn new(n_features: usize, config: SviConfig) -> Result<Self>
Create a new SVI Bayesian regression model
Sourcepub fn with_priors(
self,
prior_var: f64,
prior_shape: f64,
prior_rate: f64,
) -> Result<Self>
pub fn with_priors( self, prior_var: f64, prior_shape: f64, prior_rate: f64, ) -> Result<Self>
Set prior parameters
Sourcepub fn fit(
&mut self,
x: ArrayView2<'_, f64>,
y: ArrayView1<'_, f64>,
) -> Result<SviRegressionResult>
pub fn fit( &mut self, x: ArrayView2<'_, f64>, y: ArrayView1<'_, f64>, ) -> Result<SviRegressionResult>
Fit using SVI with mini-batches
Trait Implementations§
Source§impl Clone for SviBayesianRegression
impl Clone for SviBayesianRegression
Source§fn clone(&self) -> SviBayesianRegression
fn clone(&self) -> SviBayesianRegression
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 SviBayesianRegression
impl RefUnwindSafe for SviBayesianRegression
impl Send for SviBayesianRegression
impl Sync for SviBayesianRegression
impl Unpin for SviBayesianRegression
impl UnsafeUnpin for SviBayesianRegression
impl UnwindSafe for SviBayesianRegression
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.