mvem.stats.multivariate_genskewt

mvem.stats.multivariate_genskewt.fit

mvem.stats.multivariate_genskewt.fit(x, lmbda=- 1, symmetric=False, standardize=False, nit=2000, reltol=1e-08, abstol=1e-07, silent=False, fmu=None, fsigma=None, fgamma=None, return_loglike=False)[source]

Estimate the parameters of the generalised hyperbolic skew t-distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.

Parameters
  • x (np.ndarray) – An array of shape (n, p) containing n observations of some p-variate data with n > p.

  • lmbda (float, optional) – The initial value of lmbda > 0.

  • symmetric (bool, optional) – Whether to fit a symmetric distribution or not. Default to False.

  • standardize (bool, optional) – Whether to standardize the data before fitting or not. Default to False.

  • nit (int, optional) – The maximum number of iterations to use in the EM algorithm. Defaults to 2000.

  • reltol (float, optional) – The relative convergence criterion for the log-likelihood function. Defaults to 1e-8.

  • abstol (float, optional) – The relative convergence criterion for the log-likelihood function. Defaults to 1e-7.

  • silent (bool, optional) – Whether to print the log-likelihoods and parameter estimates during fitting or not. Defaults to False.

  • fmu (np.ndarray, optional) – If fmu!=None, force mu to fmu. Defaults to None.

  • fsigma (np.ndarray, optional) – If fsigma!=None, force sigma to fsigma. Defaults to None.

  • fgamma (np.ndarray, optional) – If fgamma!=None, force gamma to fgamma. Defaults to None.

  • return_loglike (np.ndarray, optional) – Return a list of log-likelihood values at each iteration. Defaults to False.

Returns

The fitted parameters (<float> lmbda, <float> chi, <array> mu, <array> sigma, <array> gamma). Also returns a list of log-likelihood values at each iteration of the EM algorithm if return_loglike=True.

Return type

tuple

mvem.stats.multivariate_genskewt.loglike

mvem.stats.multivariate_genskewt.loglike(x, lmbda, chi, mu, sigma, gamma)[source]

Log-likelihood function of the generalised hyperbolic skew t-distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.

Parameters
  • x (np.ndarray) – An array of shape (n, p) containing n observations of some p-variate data with n > p.

  • lmbda (float) – Univariate parameter < 0.

  • chi (float) – Univariate parameter > 0.

  • mu (np.ndarray) – Location parameter with shape (p,).

  • sigma (np.ndarray) – A positive semi-definite array with shape (p, p).

  • gamma (np.ndarray) – Parameter with shape (p,).

Returns

The log-likelihood given all observations and parameters.

Return type

float

mvem.stats.multivariate_genskewt.logpdf

mvem.stats.multivariate_genskewt.logpdf(x, lmbda, chi, mu, sigma, gamma)[source]

Log-probability density function of the generalised hyperbolic skew t-distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.

Parameters
  • x (np.ndarray) – An array of shape (n, p) containing n observations of some p-variate data with n > p.

  • lmbda (float) – Univariate parameter < 0.

  • chi (float) – Univariate parameter > 0.

  • mu (np.ndarray) – Location parameter with shape (p,).

  • sigma (np.ndarray) – A positive semi-definite array with shape (p, p).

  • gamma (np.ndarray) – Parameter with shape (p,).

Returns

The log-density at each observation.

Return type

np.ndarray with shape (n,).

mvem.stats.multivariate_genskewt.mean

mvem.stats.multivariate_genskewt.mean(lmbda, chi, mu, sigma, gamma)[source]

Mean function of the generalised hyperbolic skew t-distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.

Parameters
  • lmbda (float) – Univariate parameter < 0.

  • chi (float) – Univariate parameter > 0.

  • mu (np.ndarray) – Location parameter with shape (p,).

  • sigma (np.ndarray) – A positive semi-definite array with shape (p, p).

  • gamma (np.ndarray) – Parameter with shape (p,).

Returns

The mean of the specified distribution.

Return type

np.ndarray with shape (p,).

mvem.stats.multivariate_genskewt.pdf

mvem.stats.multivariate_genskewt.pdf(x, lmbda, chi, mu, sigma, gamma)[source]

Probability density function of the generalised hyperbolic skew t-distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.

Parameters
  • x (np.ndarray) – An array of shape (n, p) containing n observations of some p-variate data with n > p.

  • lmbda (float) – Univariate parameter < 0.

  • chi (float) – Univariate parameter > 0.

  • mu (np.ndarray) – Location parameter with shape (p,).

  • sigma (np.ndarray) – A positive semi-definite array with shape (p, p).

  • gamma (np.ndarray) – Parameter with shape (p,).

Returns

The density at each observation.

Return type

np.ndarray with shape (n,).

mvem.stats.multivariate_genskewt.rvs

mvem.stats.multivariate_genskewt.rvs(lmbda, chi, mu, sigma, gamma, size)[source]

Random number generator of the generalised hyperbolic skew t-distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.

Parameters
  • lmbda (float) – Univariate parameter < 0.

  • chi (float) – Univariate parameter > 0.

  • mu (np.ndarray) – Location parameter with shape (p,).

  • sigma (np.ndarray) – A positive semi-definite array with shape (p, p).

  • gamma (np.ndarray) – Parameter with shape (p,).

  • size (int) – The number of samples to draw.

Returns

The random p-variate numbers generated.

Return type

np.ndarray with shape (n, p).

mvem.stats.multivariate_genskewt.var

mvem.stats.multivariate_genskewt.var(lmbda, chi, mu, sigma, gamma)[source]

Variance function of the generalised hyperbolic skew t-distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.

Parameters
  • lmbda (float) – Univariate parameter < 0.

  • chi (float) – Univariate parameter > 0.

  • mu (np.ndarray) – Location parameter with shape (p,).

  • sigma (np.ndarray) – A positive semi-definite array with shape (p, p).

  • gamma (np.ndarray) – Parameter with shape (p,).

Returns

The variance of the specified distribution.

Return type

np.ndarray with shape (p,).