You are looking at historical revision 45457 of this page. It may differ significantly from its current revision.

micro-stats

This egg provides simple statistical operations. Very simple.

Documentation

Types

sequence

statistics-alist

[type] sequence : (or string vector list ...)
[type] statistics-alist : (list-of (pair symbol *))

Note a sequence as understood by the sequences egg.

Usage

(import micro-stats)

generate-statistics

[procedure] (generate-statistics SEQ [SET-ID]) -> statistics-alist
SEQ
(sequence-of real) ; SEQ of all iterations, in microseconds
SET-ID
symbol ; 'normal

Returns an alist with the following:

size
the count of the SEQ
min
the minimum of the SEQ
max
the maximum of the SEQ
mean
arithmetic-mean alias
arithmetic-mean
the arithmetic average of the SEQ
sd
standard-deviation alias
sigma
standard-deviation alias
standard-deviation
the standard deviation for the SEQ

When verbose adds the following:

95th
the 95th percentile of the SEQ
harmonic-mean
the harmonic average of the SEQ
geometric-mean
the geometric average of the SEQ
median
the median of the SEQ
mode
the mode of the SEQ
var
variance alias
sigma^2
variance alias
variance
the variance for the SEQ

When full adds the following:

basic-statistics

[procedure] (basic-statistics SEQ) -> (vector-of real)

Returns #(m h g s v) for the SEQ.

SEQ
(sequence-of real) ; the sample

generate-statistics-alist

[procedure] (generate-statistics-alist SEQ FUNCS [BASICS]) -> statistics-alist

Returns an alist for a set of statistical functions results.

SEQ
(sequence-of real) ; the sample
FUNCS
(list-of function-spec); the report template
BASICS
#(m h g s v) ; required statistics

A function-spec is:

size
sample count
min
sample minimum
max
sample maximum
arithmetic-mean
sample arithmetic-average
standard-deviation
sample standard-deviation
percentile
sample Pth-percentile ; default is 95
harmonic-mean
sample harmonic-average
geometric-mean
sample geometric-average
median
sample median
mode
sample mode
variance
sample variance
...
(KEY . (F [PARAM ...]))
sample parameterized (: F function-spec)

percentile

[procedure] (percentile SEQ [P]) -> real

Returns Pth percentile of SEQ.

SEQ
(sequence-of real)
P
[0 .. 100] ; defaults is 95

quantile

[procedure] (quantile SEQ P) -> real

Returns p-quantile of SEQ.

SEQ
(sequence-of real)
P
[0 .. 1]

interquartile-range

[procedure] (interquartile-range SEQ) -> real

Returns Q(.75) - Q(.25).

SEQ
(sequence-of real)

five-number-summary

[procedure] (five-number-summary SEQ) -> real real real real real

Returns Q(0.0) Q(.25) Q(.50) Q(.75) Q(1.0).

SEQ
(sequence-of real)

mean*

[procedure] (mean* SEQ) -> real real real

Returns the arithmetic, harmonic, & geometric means for SEQ.

SEQ
(sequence-of real)

arithmetic-mean

mean

[procedure] (arithmetic-mean SEQ) -> real
[procedure] (mean SEQ) -> real

Returns the average for SEQ.

SEQ
(sequence-of real)

harmonic-mean

[procedure] (harmonic-mean SEQ) -> real

geometric-mean

[procedure] (geometric-mean SEQ) -> real

median

[procedure] (median SEQ) -> real

Returns the median of the SEQ.

SEQ
(sequence-of real)

mode

[procedure] (mode SEQ) -> real

Returns the mode of the SEQ.

SEQ
(sequence-of real)

variance

[procedure] (variance SEQ [BIAS]) -> real

Returns the variance for SEQ.

SEQ
(sequence-of real)
BIAS
(or boolean integer) ; bias correction, default is #t

Bias correction gets disabled by setting BIAS to {#f}, or a positive integer can be used instead of the number of elements.

standard-deviation*

[procedure] (standard-deviation* SEQ [BIAS]) -> real real

Returns the standard-deviation & variance for SEQ.

SEQ
(sequence-of real)
BIAS
(or boolean integer) ; bias correction, default is #t

standard-deviation

[procedure] (standard-deviation SEQ [BIAS]) -> real

Returns the standard-deviation for SEQ.

SEQ
(sequence-of real)
BIAS
(or boolean integer) ; bias correction, default is #t

absolute-deviation

[procedure] (absolute-deviation SEQ) -> real
SEQ
(sequence-of real)

Requirements

srfi-1 sequences sequences-utils

Authors

David Krentzlin Kon Lovett

Repository

This egg is hosted on the CHICKEN Subversion repository:

https://anonymous@code.call-cc.org/svn/chicken-eggs/release/5/micro-stats

If you want to check out the source code repository of this egg and you are not familiar with Subversion, see this page.

Version history

0.6.0
Multi-valued return functions are suffixed w/ a * and single-valued provided. Fix bias type.
0.5.0
C6 release.

License

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

A full copy of the GPL license can be found at
<http://www.gnu.org/licenses/>.