Skip to main content

CVineCopula

Struct CVineCopula 

Source
pub struct CVineCopula { /* private fields */ }
Expand description

C-vine copula (Canonical vine).

In a C-vine, each tree has a star structure with one variable as the root. Tree 1: copulas C_{1,j} for j=2,…,d Tree 2: copulas C_{2,j|1} for j=3,…,d etc.

§Example Structure (4D)

Tree 1: C_{12}, C_{13}, C_{14} Tree 2: C_{23|1}, C_{24|1} Tree 3: C_{34|12}

Implementations§

Source§

impl CVineCopula

Source

pub fn new(dimension: usize, trees: Vec<Vec<PairCopula>>) -> Result<Self>

Create a new C-vine copula.

§Arguments
  • dimension - Number of dimensions
  • trees - Vector of trees, each containing pair-copulas
§Returns

A new C-vine copula

Trait Implementations§

Source§

impl Clone for CVineCopula

Source§

fn clone(&self) -> CVineCopula

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copula for CVineCopula

Source§

fn sample<R: Rng + ?Sized>(&self, n: usize, rng: &mut R) -> Result<DMatrix<f64>>

Sample by inverting the Rosenblatt transform (Aas et al., 2009, Algorithm 1).

In a C-vine, the conditioning value of tree k is F(x_k | x_0, …, x_{k-1}), which is exactly the independent uniform w[k] drawn for variable k. Each variable is therefore obtained by applying the inverse h-functions of its pair-copulas from the deepest tree to the first.

Source§

fn cdf(&self, u: &[f64]) -> Result<f64>

Evaluate the copula cumulative distribution function (CDF) at point u. Read more
Source§

fn pdf(&self, u: &[f64]) -> Result<f64>

Evaluate the copula probability density function (PDF) at point u. Read more
Source§

fn dimension(&self) -> usize

Get the dimension of the copula. Read more
Source§

fn conditional_cdf(&self, u: &[f64], given: &[usize]) -> Result<f64>

Compute the conditional copula CDF given some variables. Read more
Source§

fn tail_dependence(&self) -> Result<(f64, f64)>

Compute the tail dependence coefficients. Read more
Source§

fn kendall_tau(&self) -> Result<f64>

Compute Kendall’s tau for this copula. Read more
Source§

fn spearman_rho(&self) -> Result<f64>

Compute Spearman’s rho for this copula. Read more
Source§

fn has_closed_form(&self) -> (bool, bool)

Check if the copula has analytical forms for CDF and PDF. Read more
Source§

fn family_name(&self) -> &'static str

Get a string identifier for the copula family.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SendAlias for T

Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

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

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> SyncAlias for T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.