NAME

Statistics::Basic A collection of very basic statistics formulae for vectors.

SYNOPSIS

# for use with one vector:
Statistics::Basic::Mean;
Statistics::Basic::Variance;
Statistics::Basic::StdDev;

# for use with two vectors:
Statistics::Basic::CoVariance;
Statistics::Basic::Correlation;

EXAMPLES

my $mean = Statistics::Basic::Mean->new($array_ref)->query;

print "$mean\n";  # hooray

# That works, but I needed to calculate a LOT of means for a lot of
# arrays of the same size.  Furthermore, I needed them to operate FIFO
# style.  So, they do:

my $mo = new Statistics::Basic::Mean([1..3]);

print $mo->query, "\n"; # the avearge of 1, 2, 3 is 2
      $mo->insert(4);   # Keeps the vector the same size automatically
print $mo->query, "\n"; # so, the average of 2, 3, 4 is 3

# You might need to keep a running average, so I included a growing
# insert

      $mo->ginsert(5);  # Expands the vector size by one and appends a 5
print $mo->query, "\n"; # so, the average is of 2, 3, 4, 5 is 7/2

# And last, you might need the mean of [3, 7] after all the above

      $mo->set_vector([2,3]);  # *poof*, the vector is 2, 3!
print $mo->query, "\n"; # and the average is now 5/2!  Tadda!

# These functions all work pretty much the same for ::StdDev and
# ::Variance but they work slightly differently for CoVariance and
# Correlation.

# Not suprisingly, the correlation of [1..3] and [1..3] is 1.0

my $co = new Statistics::Basic::Correlation( [1..3], [1..3] );

print $co->query, "\n";

# Cut the correlation of [1..3, 7] and [1..3, 5] is less than 1

      $co->ginsert( 7, 5 );
print $co->query, "\n";

BUGS

Besides the lack of documentation?  Well, I'm sure there's a bunch.
I've tried to come up with a comprehensive suite of tests, but it's
difficult to think of everything.

If you spot any bugs, please tell me.

ENV VARIABLES

DEBUG

Try setting $ENV{DEBUG}=1; or $ENV{DEBUG}=2; to see the internals.

Also, from your bash prompt you can 'DEBUG=1 perl ./myprog.pl' to
enable debugging dynamically.

UNBIAS

This module uses the sum(X - mean(X))/N definition of variance.
If you wish to use the unbiased, sum(X-mean(X)/(N-1) definition, then 
set the $ENV{UNBIAS}=1;

# And if you thought that was useful, then give a shout out to:
# Robert McGehee <xxxxxxxx@wso.williams.edu>, for he requested it.

AUTHOR

Please contact me with ANY suggestions, no matter how pedantic.

Jettero Heller <japh@voltar-confed.org>

COPYRIGHT

GPL!  I included a gpl.txt for your reading enjoyment.

Though, additionally, I will say that I'll be tickled if you were to
include this package in any commercial endeavor.  Also, any thoughts to
the effect that using this module will somehow make your commercial
package GPL should be washed away.

I hereby release you from any such silly conditions.

This package and any modifications you make to it must remain GPL.  Any
programs you (or your company) write shall remain yours (and under
whatever copyright you choose) even if you use this package's intended
and/or exported interfaces in them.

SEE ALSO

Most of the documentation is very thin.  Sorry.  The modules with their
own documentation (no matter how thin) are listed below.

Statistics::Basic::LeastSquareFit