edu.ucla.stat.SOCR.distributions
Class JohnsonSUDistribution

java.lang.Object
  extended by edu.ucla.stat.SOCR.core.SOCRValueSettable
      extended by edu.ucla.stat.SOCR.core.Distribution
          extended by edu.ucla.stat.SOCR.distributions.JohnsonSUDistribution
All Implemented Interfaces:
IValueSettable, Pluginable, java.util.Observer

public class JohnsonSUDistribution
extends Distribution

This class models the Johnson SU (Special Unbounded) distribution with specified first 4 parameters (mean, SD, skewness, kurtosis): The Johnson family of distributions (N.L. Johnson, 1949), is a versatile model distribution. It is based on a transformation of the standard normal variable, and includes 4 forms: 1. Unbounded: the set of distributions that go to infinity in both the upper or lower tail. 2. Bounded: the set of distributions that have a fixed boundary on either the upper or lower tail, or both. 3. Log Normal: a border between the Unbounded and Bounded distribution forms. 4. Normal: a special case of the Unbounded form. The flexibility of Johnson family of distributions comes from the choice of form and fitting parameters which allows better fits data. The Johnson family involves a transformation of the raw variable to a Normal variable. This facilitates the estimates of the percentiles of the fitted distribution to be calculated from the Normal distribution percentiles. http://www.qualityamerica.com/knowledgecente/knowctrBest_Fit_Johnson.htm http://www.mathwave.com/articles/johnson_su_distribution.html


Field Summary
 
Fields inherited from class edu.ucla.stat.SOCR.core.Distribution
applet, CONTINUOUS, DISCRETE, MAXMGFXVAL, MAXMGFYVAL, MINMGFXVAL, MIXED, name
 
Constructor Summary
JohnsonSUDistribution()
          Default constructor: creates a beta distribution with xi and lambda parameters equal to 1
JohnsonSUDistribution(double _xi, double _lambda, double _gamma, double _delta)
          This general constructor creates a new JohnsonSBDistribution distribution with specified parameters
 
Method Summary
 double getCDF(double x)
          This method computes the cumulative distribution function
 double getDelta()
          Get delta
 double getDensity(double x)
          Define the beta getDensity function
 double getGamma()
          Get gamma
 double getLambda()
          Get lambda
 double getMean()
          This method returns the Johnson SU mean http://www.mathwave.com/articles/johnson_su_distribution.html
 java.lang.String getOnlineDescription()
          This method returns an online description of this distribution.
 double[] getParameters()
          This method gets the 4 parameters
 double getSD()
          This method returns the Johnson SU SD http://www.mathwave.com/articles/johnson_su_distribution.html
 double getVariance()
          This method returns the Johnson SU Variance http://www.mathwave.com/articles/johnson_su_distribution.html
 double getXi()
           
 void initialize()
          used for some subclass to initialize before being used
 double inverseCDF(double probability)
          Computes the inverse Johnson SU CDF function
 void setDelta(double _delta)
          This method sets Kurtosis
 void setGamma(double _gamma)
          This method sets skewness
 void setLambda(double _lambda)
          This method sets sigma
 void setParameters(double _xi, double _lambda, double _gamma, double _delta)
          This method sets the parameters, computes the default interval
 void setXi(double _xi)
          This method sets mean
 double simulate()
          This method simulates a value from the distribution
 void valueChanged(java.util.Observable o, java.lang.Object arg)
           
 
Methods inherited from class edu.ucla.stat.SOCR.core.Distribution
addObserver, betaCDF, comb, factorial, findGFRoot, findRoot, gamma, gammaCDF, getDisplayPane, getDomain, getFailureRate, getGFDerivative, getGFSecondDerivative, getInstance, getLocalHelp, getMaxDensity, getMean, getMedian, getMGF, getMgfDomain, getName, getPGF, getPGFDomain, getQuantile, getSampleMoment, getSOCRDistributionFunctors, getSOCRDistributions, getType, getVariance, logGamma, paramEstimate, perm, sampleMean, sampleVar, setApplet, setDomain, setDomain, setMGFDomain, setMGFDomain, setMGFParameters, setMGFParameters, setMGFParameters, setMGFParameters, setParameters, setPGFDomain, setPGFDomain, setPGFParameters, setPGFParameters, setPGFParameters, setPGFParameters, update, valueChanged
 
Methods inherited from class edu.ucla.stat.SOCR.core.SOCRValueSettable
createComponentSetter, createValueSetter, createValueSetter, createValueSetter, createValueSetter, getComponentSetter, getComponentSetters, getValueSetter, getValueSetters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JohnsonSUDistribution

public JohnsonSUDistribution(double _xi,
                             double _lambda,
                             double _gamma,
                             double _delta)
This general constructor creates a new JohnsonSBDistribution distribution with specified parameters

Parameters:
xi - = location mean
lambda - = scale SD
gamma - = shape skewness
delta - = shape kurtosis

JohnsonSUDistribution

public JohnsonSUDistribution()
Default constructor: creates a beta distribution with xi and lambda parameters equal to 1

Method Detail

initialize

public void initialize()
Description copied from class: Distribution
used for some subclass to initialize before being used

Overrides:
initialize in class Distribution

valueChanged

public void valueChanged(java.util.Observable o,
                         java.lang.Object arg)
Overrides:
valueChanged in class Distribution

setParameters

public void setParameters(double _xi,
                          double _lambda,
                          double _gamma,
                          double _delta)
This method sets the parameters, computes the default interval

Parameters:
_xi - = location
_lambda - = scale
_gamma - = shape
_delta - = shape

getParameters

public double[] getParameters()
This method gets the 4 parameters


getXi

public double getXi()

setXi

public void setXi(double _xi)
This method sets mean


getLambda

public double getLambda()
Get lambda


setLambda

public void setLambda(double _lambda)
This method sets sigma


getGamma

public double getGamma()
Get gamma


setGamma

public void setGamma(double _gamma)
This method sets skewness


getDelta

public double getDelta()
Get delta


setDelta

public void setDelta(double _delta)
This method sets Kurtosis


getDensity

public double getDensity(double x)
Define the beta getDensity function

Specified by:
getDensity in class Distribution

getCDF

public double getCDF(double x)
This method computes the cumulative distribution function

Overrides:
getCDF in class Distribution
Parameters:
x - = value to evaluate the CDF at http://www.mathwave.com/articles/johnson_su_distribution.html

inverseCDF

public double inverseCDF(double probability)
Computes the inverse Johnson SU CDF function

Overrides:
inverseCDF in class Distribution
Parameters:
probability - - a probability value in [0, 1]
Returns:
the value X for which P(X)==P(x < X) = probability.

simulate

public double simulate()
This method simulates a value from the distribution

Overrides:
simulate in class Distribution

getMean

public double getMean()
This method returns the Johnson SU mean http://www.mathwave.com/articles/johnson_su_distribution.html

Overrides:
getMean in class Distribution

getVariance

public double getVariance()
This method returns the Johnson SU Variance http://www.mathwave.com/articles/johnson_su_distribution.html

Overrides:
getVariance in class Distribution

getSD

public double getSD()
This method returns the Johnson SU SD http://www.mathwave.com/articles/johnson_su_distribution.html

Overrides:
getSD in class Distribution

getOnlineDescription

public java.lang.String getOnlineDescription()
This method returns an online description of this distribution.

Overrides:
getOnlineDescription in class Distribution