mvem.stats.multivariate_genhyperbolic
mvem.stats.multivariate_genhyperbolic.fit
- mvem.stats.multivariate_genhyperbolic.fit(x, lmbda=1, alpha_bar=1, symmetric=False, standardize=False, nit=2000, reltol=1e-08, abstol=1e-07, silent=False, flambda=None, falpha_bar=None, fmu=None, fsigma=None, fgamma=None, return_loglike=False)[source]
Estimate the parameters of the generalised hyperbolic 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 – The intial value of lmbda. Defaults to 1.
alpha_bar (float, optional) – The initial value of alpha_bar. Defaults to 1.
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.
flmbda (np.ndarray, optional) – If flmbda!=None, force lmbda to flmbda. Defaults to None.
falpha_bar (np.ndarray, optional) – If falpha_bar!=None, force alpha_bar to falpha_bar. Defaults to None.
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.
- Tpe lmbda
float, optional
- Returns
The fitted parameters (<float> lmbda, <float> chi, <float> psi, <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_genhyperbolic.fitghypmv
- mvem.stats.multivariate_genhyperbolic.fitghypmv(x, lmbda=1, alpha_bar=1, mu=None, sigma=None, gamma=None, symmetric=False, standardize=False, nit=2000, reltol=1e-08, abstol=1e-07, silent=False, opt_pars={'alpha_bar': True, 'gamma': True, 'lmbda': True, 'mu': True, 'sigma': True})[source]
Estimate the parameters of the generalised hyperbolic distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation. Covers all special cases as well.
- Parameters
x (np.ndarray) – An array of shape (n, p) containing n observations of some p-variate data with n > p.
lmbda – The intial value of lmbda. Defaults to 1.
alpha_bar (float, optional) – The initial value of alpha_bar. Defaults to 1.
mu (np.ndarray, optional) – Optional initial value of mu, an array of shape (p,)
sigma (np.ndarray, optional) – Optional initial value of sigma, an array of shape (p,p)
gamma (np.ndarray, optional) – Optional initial value of gamma, an array of shape (p,)
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.
opt_pars (dict, optional) – A dict of (lmbda, alpha_bar, mu, sigma, gamma) with boolean values, denoting if the parameters should be estimated or fixed to their initial value. Defaults to fitting all parameters.
- Tpe lmbda
float, optional
- Returns
The fitted parameters (<float> lmbda, <float> alpha_bar, <array> mu, <array> sigma, <array> gamma) and a list of log-likelihood values at each iteration of the EM algorithm, the number of performed iterations, whether the algorithm coverged, and the final AIC.
- Return type
dict
mvem.stats.multivariate_genhyperbolic.gig_optfunc
mvem.stats.multivariate_genhyperbolic.loglike
- mvem.stats.multivariate_genhyperbolic.loglike(x, lmbda, chi, psi, mu, sigma, gamma)[source]
Log-likelihood function of the generalised hyperbolic 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.
chi (float) – Univariate parameter.
psi (float) – Univariate parameter.
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_genhyperbolic.logpdf
- mvem.stats.multivariate_genhyperbolic.logpdf(x, lmbda, chi, psi, mu, sigma, gamma)[source]
Log-probability density function of the generalised hyperbolic 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.
chi (float) – Univariate parameter.
psi (float) – Univariate parameter.
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_genhyperbolic.mean
- mvem.stats.multivariate_genhyperbolic.mean(lmbda, chi, psi, mu, sigma, gamma)[source]
Mean function of the generalised hyperbolic distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.
- Parameters
lmbda (float) – Univariate parameter.
chi (float) – Univariate parameter.
psi (float) – Univariate parameter.
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_genhyperbolic.pdf
- mvem.stats.multivariate_genhyperbolic.pdf(x, lmbda, chi, psi, mu, sigma, gamma)[source]
Probability density function of the generalised hyperbolic 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.
chi (float) – Univariate parameter.
psi (float) – Univariate parameter.
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_genhyperbolic.rvs
- mvem.stats.multivariate_genhyperbolic.rvs(lmbda, chi, psi, mu, sigma, gamma, size=1)[source]
Random number generator of the generalised hyperbolic distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.
- Parameters
lmbda (float) – Univariate parameter.
chi (float) – Univariate parameter.
psi (float) – Univariate parameter.
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, optional) – The number of samples to draw. Defaults to 1.
- Returns
The random p-variate numbers generated.
- Return type
np.ndarray with shape (n, p).
mvem.stats.multivariate_genhyperbolic.t_optfunc
mvem.stats.multivariate_genhyperbolic.var
- mvem.stats.multivariate_genhyperbolic.var(lmbda, chi, psi, mu, sigma, gamma)[source]
Variance function of the generalised hyperbolic distribution. We use the (lmbda, chi, psi, mu, sigma, gamma)-parameterisation.
- Parameters
lmbda (float) – Univariate parameter.
chi (float) – Univariate parameter.
psi (float) – Univariate parameter.
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,).