Class

NumCosmoMathStatsDistKernelST

Description [src]

final class NumCosmoMath.StatsDistKernelST : NumCosmoMath.StatsDistKernel
{
  /* No available fields */
}

Multivariate Student’s t kernel for NcmStatsDist.

The kernel of NcmStatsDistKernel with $\nu$ degrees of freedom, \begin{equation} \bar{K}(\chi^2) = \left(1 + \frac{\chi^2}{\nu}\right)^{-(\nu + d)/2}, \qquad u(\Sigma) = \frac{\Gamma(\nu/2)\,(\nu\pi)^{d/2}}{\Gamma\left((\nu + d)/2\right)}\sqrt{\det\Sigma}, \end{equation} that is, the density of the multivariate t distribution with location $\mu$ and scale matrix $h^2\Sigma$. For $\nu > 2$ its covariance is $\kappa h^2\Sigma$ with $\kappa = \nu/(\nu - 2)$; for $\nu \leq 2$ it has none. A sample is $x = \mu + h\sqrt{\nu/W}\,U^T z$, where $z$ holds $d$ independent standard normal variables, $W$ is a chi-squared variable with $\nu$ degrees of freedom and $\Sigma = U^T U$; see On Sampling from the Multivariate t Distribution, Marius Hofert. As $\nu \to \infty$ the kernel tends to NcmStatsDistKernelGauss; for finite $\nu$ it decays as a power of $\chi^2$.

The rule-of-thumb bandwidth is \begin{equation} h = \left[\frac{16 (\nu - 2)^2 (1 + d + \nu)(3 + d + \nu)} {(2 + d)(d + \nu)(2 + d + \nu)(d + 2\nu)(2 + d + 2\nu)\,n}\right]^{1/(d + 4)}, \end{equation} which minimizes the asymptotic mean integrated squared error for $n$ points drawn from a t density with $\nu$ degrees of freedom and scale matrix $\Sigma$. It is evaluated at $\nu = 3$ when $\nu < 3$, and tends to the Gaussian rule as $\nu \to \infty$.

Constructors

ncm_stats_dist_kernel_st_new

Creates a new NcmStatsDistKernelST of dimension dim with nu degrees of freedom.

Functions

ncm_stats_dist_kernel_st_clear

Decreases the reference count of sdkst by one and sets sdkst to NULL.

Instance methods

ncm_stats_dist_kernel_st_free

Decreases the reference count of sdkst by one.

ncm_stats_dist_kernel_st_get_nu
No description available.

ncm_stats_dist_kernel_st_ref

Increases the reference count of sdkst by one.

ncm_stats_dist_kernel_st_set_nu

Sets the degrees of freedom to nu.

Methods inherited from NcmStatsDistKernel (10)
ncm_stats_dist_kernel_eval_gamma_lambda

Computes the weighted sum of kernels (the mixture density at one point), $$ e^\gamma (1+\lambda) = \sum_i w_i\bar{K} (\chi^2_i) / u_i,$$ where $\gamma = \ln(w_a\bar{K} (\chi^2_a) / u_a)$ and $a$ labels the largest term of the sum. The three vectors must have the same length and unit stride.

ncm_stats_dist_kernel_eval_unnorm
No description available.

ncm_stats_dist_kernel_eval_unnorm_vec

Computes the unnormalized kernel $\bar{K}$ at every element of chi2 and stores the results in Ku.

ncm_stats_dist_kernel_free

Decreases the reference count of sdk by one.

ncm_stats_dist_kernel_get_dim
No description available.

ncm_stats_dist_kernel_get_lnnorm

Computes $\ln u(\Sigma)$, the logarithm of the kernel normalization at $h = 1$.

ncm_stats_dist_kernel_get_rot_bandwidth

Computes the rule-of-thumb bandwidth $h$ for a mixture of n kernels: the $h$ that minimizes the asymptotic mean integrated squared error when the estimated density is the kernel itself with the scale matrix $\Sigma$ of the mixture. See the implementations for the closed forms.

ncm_stats_dist_kernel_get_var_factor

Computes the factor $\kappa$ relating the kernel covariance to its scale matrix $\Sigma$, that is $\mathrm{Cov} = \kappa \Sigma$. It is one for the Gaussian kernel and $\nu / (\nu - 2)$ for the Student-t kernel with $\nu$ degrees of freedom, which is infinite for $\nu \leq 2$ since such kernels have no covariance.

ncm_stats_dist_kernel_ref

Increases the reference count of sdk by one.

ncm_stats_dist_kernel_sample

Draws a point from the kernel with location mu, scale matrix $\Sigma$ and bandwidth href, and stores it in y.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmoMath.StatsDistKernelST:nu
No description available.

Properties inherited from NcmStatsDistKernel (1)
NumCosmoMath.StatsDistKernel:dimension
No description available.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct NumCosmoMathStatsDistKernelSTClass {
  NcmStatsDistKernelClass parent_class;
  
}

No description available.

Class members
parent_class: NcmStatsDistKernelClass

No description available.