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

micro-stats

This egg provides simple statistical operations. Very simple.

Documentation

Usage

(import micro-stats)

seq

binary-predicate

statistics-alist

[type] seq : (or string vector list)
[type] binary-predicate : (* * --> boolean)
[type] statistics-alist : (or null (list-of (pair symbol *)))

Note an seq is anything understood as a sequence by the sequences egg.

generate-statistics

[procedure] (generate-statistics SEQ [SET-ID]) -> statistics-alist

: SEQ ; (seq-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 runtime of the SEQ : max ; the maximum runtime of the SEQ : mean ; arithmetic-mean alias : arithmetic-mean : the arithmetic average runtime 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 runtime of the SEQ : harmonic-mean ; the harmonic average runtime of the SEQ : geometric-mean ; the geometric average runtime of the SEQ : median ; the median runtime of the SEQ : mode ; the mode runtime of the SEQ : var ; variance alias : sigma^2 ; variance alias : variance ; the variance for the SEQ

basic-statistics

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

Returns #(m h g s v).

generate-statistics-alist

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

Returns an alist for a set of statistical functions results.

: SEQ ; (seq-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 [P] ; 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 ; (seq-of real) : P ; [0 .. 100] ; defaults is 95

mean

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

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

: SEQ ; (seq-of real)

median

[procedure] (median SEQ [<?]) -> real

Returns the median of the SEQ.

: SEQ ; (seq-of real) : <? ; binary-predicate ; less-than predicate, default <

mode

[procedure] (mode SEQ [=?]) -> real

Returns the mode of the SEQ.

: SEQ ; (seq-of real) : =? ; binary-predicate ; equality predicate, default =

standard-deviation

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

Returns the standard-deviation, & variance for SEQ, given the MEAN. Calculates the MEAN when not given.

: SEQ ; (seq-of real) : MEAN ; real

Requirements

sequences

Authors

David Krentzlin Kon Lovett

Version history

: 0.0.1 ; C5 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/>.