pub enum SpatialKernel {
Spherical {
sill: f64,
range: f64,
nugget: f64,
},
Exponential {
sill: f64,
range: f64,
nugget: f64,
},
Gaussian {
sill: f64,
range: f64,
nugget: f64,
},
Matern {
sill: f64,
range: f64,
nugget: f64,
nu: f64,
},
Power {
scale: f64,
exponent: f64,
},
Linear {
slope: f64,
nugget: f64,
},
HoleEffect {
sill: f64,
range: f64,
nugget: f64,
damping: f64,
},
Anisotropic {
base_kernel: Box<SpatialKernel>,
anisotropy_matrix: Array2<f64>,
},
}Expand description
Spatial kernel types for geostatistical modeling
Variants§
Spherical
Spherical model: commonly used in geostatistics
Exponential
Exponential model: smooth spatial correlation
Gaussian
Gaussian model: very smooth spatial correlation
Matern
Matérn model: flexible smoothness parameter
Power
Power model: unbounded variance
Linear
Linear model: linear increase with distance
HoleEffect
Hole effect model: oscillatory correlation
Anisotropic
Anisotropic kernel with directional correlation
Implementations§
Source§impl SpatialKernel
impl SpatialKernel
Sourcepub fn spherical_with_nugget(sill: f64, range: f64, nugget: f64) -> Self
pub fn spherical_with_nugget(sill: f64, range: f64, nugget: f64) -> Self
Create a spherical kernel with nugget effect
Sourcepub fn exponential(sill: f64, range: f64) -> Self
pub fn exponential(sill: f64, range: f64) -> Self
Create an exponential spatial kernel
Sourcepub fn anisotropic(
base_kernel: SpatialKernel,
anisotropy_matrix: Array2<f64>,
) -> Self
pub fn anisotropic( base_kernel: SpatialKernel, anisotropy_matrix: Array2<f64>, ) -> Self
Create an anisotropic kernel
Sourcepub fn compute_covariance(&self, distance: f64) -> f64
pub fn compute_covariance(&self, distance: f64) -> f64
Compute the covariance for a given distance
Sourcepub fn compute_variogram(&self, distance: f64) -> f64
pub fn compute_variogram(&self, distance: f64) -> f64
Compute the semi-variogram for a given distance
Sourcepub fn effective_range(&self) -> f64
pub fn effective_range(&self) -> f64
Get the effective range of the kernel
Trait Implementations§
Source§impl Clone for SpatialKernel
impl Clone for SpatialKernel
Source§fn clone(&self) -> SpatialKernel
fn clone(&self) -> SpatialKernel
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SpatialKernel
impl Debug for SpatialKernel
Source§impl Kernel for SpatialKernel
impl Kernel for SpatialKernel
Source§fn compute_kernel_matrix(
&self,
x1: &Array2<f64>,
x2: Option<&Array2<f64>>,
) -> SklResult<Array2<f64>>
fn compute_kernel_matrix( &self, x1: &Array2<f64>, x2: Option<&Array2<f64>>, ) -> SklResult<Array2<f64>>
Compute the kernel matrix between X1 and X2
Source§fn kernel(&self, x1: &ArrayView1<'_, f64>, x2: &ArrayView1<'_, f64>) -> f64
fn kernel(&self, x1: &ArrayView1<'_, f64>, x2: &ArrayView1<'_, f64>) -> f64
Compute the kernel between two points
Source§fn get_params(&self) -> Vec<f64>
fn get_params(&self) -> Vec<f64>
Get hyperparameters
Source§fn compute_kernel_gradient(
&self,
X1: &Array2<f64>,
X2: Option<&Array2<f64>>,
) -> SklResult<Vec<Array2<f64>>>
fn compute_kernel_gradient( &self, X1: &Array2<f64>, X2: Option<&Array2<f64>>, ) -> SklResult<Vec<Array2<f64>>>
Compute the gradient of the kernel matrix with respect to hyperparameters
Returns a vector of gradient matrices, one for each hyperparameter
Source§fn kernel_gradient(
&self,
x1: &ArrayView1<'_, f64>,
x2: &ArrayView1<'_, f64>,
) -> SklResult<Vec<f64>>
fn kernel_gradient( &self, x1: &ArrayView1<'_, f64>, x2: &ArrayView1<'_, f64>, ) -> SklResult<Vec<f64>>
Compute the gradient of the kernel function with respect to hyperparameters
for a single pair of points
Auto Trait Implementations§
impl Freeze for SpatialKernel
impl RefUnwindSafe for SpatialKernel
impl Send for SpatialKernel
impl Sync for SpatialKernel
impl Unpin for SpatialKernel
impl UnwindSafe for SpatialKernel
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more