distributions module
- btQuant.distributions.adTest(data, distName='normal')[source]
Anderson-Darling test for normality.
- Parameters:
data – array of observations
distName – currently only ‘normal’ supported
- Returns:
dict with statistic, critical values
- btQuant.distributions.fitBeta(data, maxIter=100)[source]
Fit beta distribution using method of moments.
- Parameters:
data – array of observations in (0, 1)
maxIter – maximum iterations
- Returns:
dict with alpha, beta parameters, logLikelihood
- btQuant.distributions.fitExponential(data)[source]
Fit exponential distribution.
- Parameters:
data – array of positive observations
- Returns:
dict with lambda (rate), logLikelihood
- btQuant.distributions.fitGamma(data, maxIter=100)[source]
Fit gamma distribution using method of moments.
- Parameters:
data – array of positive observations
maxIter – maximum iterations
- Returns:
dict with alpha (shape), beta (rate), logLikelihood
- btQuant.distributions.fitLognormal(data)[source]
Fit lognormal distribution.
- Parameters:
data – array of positive observations
- Returns:
dict with mu, sigma (of log), logLikelihood
- btQuant.distributions.fitMixture(data, nComponents=2, maxIter=100)[source]
Fit Gaussian mixture model using EM algorithm.
- Parameters:
data – array of observations
nComponents – number of mixture components
maxIter – maximum iterations
- Returns:
dict with means, sigmas, weights
- btQuant.distributions.fitNormal(data)[source]
Fit normal distribution.
- Parameters:
data – array of observations
- Returns:
dict with mu, sigma, logLikelihood
- btQuant.distributions.fitT(data, maxIter=50)[source]
Fit Student’s t distribution.
- Parameters:
data – array of observations
maxIter – maximum iterations
- Returns:
dict with df (degrees of freedom), mu, sigma, logLikelihood
- btQuant.distributions.jsDivergence(p, q)[source]
Jensen-Shannon divergence.
- Parameters:
p – first distribution
q – second distribution
- Returns:
JS divergence
- btQuant.distributions.klDivergence(p, q)[source]
Kullback-Leibler divergence.
- Parameters:
p – true distribution (probabilities)
q – approximate distribution (probabilities)
- Returns:
KL divergence
- btQuant.distributions.ksTest(data, distName='normal', params=None)[source]
Kolmogorov-Smirnov test for distribution fit.
- Parameters:
data – array of observations
distName – ‘normal’, ‘lognormal’, ‘exponential’
params – dict of distribution parameters (if None, estimated)
- Returns:
dict with statistic, pValue (approximate)
- btQuant.distributions.moments(data)[source]
Calculate distribution moments.
- Parameters:
data – array of observations
- Returns:
dict with mean, variance, skewness, kurtosis