JOHNSON CURVE TOOLBOX FOR MATLAB
by David L. Jones, PhD
Johnson (1949) developed a flexible system of distributions, based on three families of transformations, that translate an observed, nonnormal variate to one conforming to the standard normal distribution. The exponential, logistic, and hyperbolic sine transformations are used to generate lognormal (SL), unbounded (SU), and bounded (SB) distributions, respectively. This allows a unique distribution to be derived for whatever combination of mean, standard deviation, skewness, and kurtosis occurs for a given set of observed data. Once a variate is appropriately transformed, probability densities and percentage points may be derived based on the standard normal curve.
This TOOLBOX is a set of MATLAB functions for working with the Johnson system of distributions to analyze nonnormal, univariate data sets. Portions of it are based on my MATLAB port of Hill et al.'s (1976) AS99 and Hill's (1976) AS100 FORTRAN66 code.
CONTENTS:
f_johnson_M  use moments to estimate parameters of a Johnson distribution
f_johnson_Q  use quantiles to estimate parameters of a Johnson distribution
f_johnson_aic  calculate AIC, AICc, and BIC for a Johnson distribution
f_johnson_cdf  cumulative probability density function for a Johnson distribution
f_johnson_fit  fit a Johnson distribution to observed data
f_johnson_inv  inverse of the CDF for a Johnson distribution
f_johnson_lik  negative loglikelihood for a Johnson distribution
f_johnson_pdf  probability density function for a Johnson distribution
f_johnson_rnd  generate random numbers from a Johnson distribution
f_johnson_y2z  transform Johnson variates to standard normal variates
f_johnson_z2y  transform standard normal variates to Johnson variates
CITATION:
Jones, D. L. 2014. The Johnson Curve Toolbox for Matlab: analysis of nonnormal data using the Johnson system of distributions. College of Marine Science, University of South Florida, St. Petersburg, Florida, USA.
NOTES:
Some functions have detailed documentation and references that can be viewed in the Matlab editor. The 'examples' folder includes demonstrations of how to use the functions to fit biological, environmental, demographic, and financial data sets.
REFERENCES:
Hill, I. D. 1976. Algorithm AS 100: NormalJohnson and JohnsonNormal Transformations. Journal of the Royal Statistical Society. Series C (Applied Statistics) 25(2): 190192.
Hill, I. D., R. Hill, and R. L. Holder, 1976. Algorithm AS 99: Fitting Johnson curves by moments. Journal of the Royal Statistical Society. Series C (Applied Statistics) 25(2): 180189.
Johnson, N. L. 1949. Systems of frequency curves generated by methods of translation. Biometrika 36: 180189.
