Raku Land Game::Stats

cpan:KOBOLDWIZ

This software is a minimal statistics package which includes probabiltiy calculation based on populations which sometimes are a Distribution themselves.

It is to be used in games and was built for speed not general OOP.

Features are populations and distributions of probabilities wherefor an estimate and variance can be calculated. A Covariance class provides with 2 populations the covariance. The same works for a correlation. There is also a Probability class which uses a population of probabilities and calculates conditional probabilities and thus a multi-variate Bayes method. You can access the nth probability in this case and work on towards Bayesian Inference.

Examples: my \$pp = 0.1; ### start probability my \$pop = Mathx::Stat::DistributionPopulation.new; ### list of probabilties

my @plist; my @indices;

We fill the distributionpopulation with probabilities

loop (my \$i = \$pp, my \$j = 0; \$i <= 1.0; \$i+=0.1, \$j++) { \$pop.add(\$i); push(@plist, \$i); push(@indices, \$j); }

\$pop.Expectance; ### yields 0.55

\$pop.Variance; ## yields the variance of the probabilties in the population

\$pop.GeneratedNumber ### yields a marginal distribution number based on population

my \$cov = Mathx::Stat::Covariance.new; my \$corr = Mathx::Stat::Correlation.new;

calculation of covariance and correlation

\$cov.Covariance(\$pop,\$pop);

\$corr.Correlation(\$pop,\$pop);

make a multi-variate probability instance (again based on a population list)

my \$p = Mathx::Stat::Probability.new(xpop => @plist);

probability list and the index of the precondition probability

\$p.Bayes(@indices, @plist, 1);

\$p.Bayes(@indices, @plist, 0);

probabilities in the population ofthe variable \$p

\$p.CalculatedCondP(3,0);

\$p.CalculatedCondP(7,4);