NAME
    Statistics::Standard_Normal - Z scores and percentiles using standard
    normal table

SYNOPSIS
      use Statistics::Standard_Normal qw/z_to_pct pct_to_z/;;

      while (defined my $z = get_z_score($name)) {
        say "$name's result was at the ", z_to_pct($z), ' percentile';
      }

      while (defined my $pct = get_percentile($name)) {
        say "$name's result had a Z score of ", pct_to_z($pct);
        say "Be careful of flattening at high percentiles!" if $pct > 98;
      }

DESCRIPTION
    Statistics::Standard_Normal provides convenience functions to convert
    between Z scores and percentile scores using values taken from a
    standard normal distribution (that is, a normal distribution with a mean
    of 0 and a standard deviation of 1). Percentile scores are often used
    for informal reporting of results, since they make intuitive sense to
    many readers, while Z scores are less familiar, but a better behaved for
    values far from the mean.

    The intent of this package is to be lightweight -- it has no
    prerequisites outside the Perl core, no compiler requirement, and a
    small footprint -- while providing values accurate enough for most uses.

  FUNCTIONS
    Two conversion functions are provided:

    z_to_pct(*$z*)
        Returns the percentile corresponding to the Z-score *$z*. This is
        the percentage of the area under the standard normal curve located
        to the left of a vertical line at "mean" + *$z*.

        A closed-form solution to this problem does not exist, so "z_to_pct"
        uses a rapid estimation that is generally accurate to "0.1%" over
        the range of -3.719 < *$z* < 3.719. Values outside this range return
        "0.01%" or "99.99%", depending on the sign of *$z*.

    pct_to_z(*$pctile*)
        Returns the Z-score corresponding to *$pctile*. This uses an
        approximation similar to the one used by "z_to_pct"; the result is
        generally accurate to 0.005. Values of *$pctile* <0.01 or >99.9
        return -3.719 and 3.719, respectively.

  EXPORT
    Both "pct_to_z" and "z_to_pct" are available for importation, but
    neither are exported by default.

BUGS AND CAVEATS
    Conversion to Z scores of percentiles very close to 0 or 100 becomes
    increasingly inaccurate, as smaller and smaller changes in percentile
    are associated with a given change in Z score.

SEE ALSO
    For intensive usage, a compiled library may provide better performance
    (cf. "ndtr" in Math::Cephes or Math::CDF for Perl bindings to some
    options).

    If you have a set of observations and want to perform statistical tests,
    there are a host of modules in the "Statistics::" namespace; ones that
    may help you derive Z scores include Statistics::Zscore and
    Statistics::Zed.

VERSION
    version 1.00

AUTHOR
    Charles Bailey <cbail@cpan.org>

COPYRIGHT AND LICENSE
    Copyright 2012-2014 Charles Bailey.

    This software may be used under the terms of the Artistic License or the
    GNU General Public License, as the user prefers.

ACKNOWLEDGMENT
    The code incorporated into this package was originally written with
    United States federal funding as part of research work done by the
    author at the Children's Hospital of Philadelphia.