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-alistReturns 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]) -> realReturns Pth percentile of SEQ.
: SEQ ; (seq-of real) : P ; [0 .. 100] ; defaults is 95
mean
[procedure] (mean SEQ) -> real real realReturns the arithmetic, harmonic, & geometric means for SEQ.
: SEQ ; (seq-of real)
median
[procedure] (median SEQ [<?]) -> realReturns the median of the SEQ.
: SEQ ; (seq-of real) : <? ; binary-predicate ; less-than predicate, default <
mode
[procedure] (mode SEQ [=?]) -> realReturns the mode of the SEQ.
: SEQ ; (seq-of real) : =? ; binary-predicate ; equality predicate, default =
standard-deviation
[procedure] (standard-deviation SEQ [MEAN]) -> real realReturns the standard-deviation, & variance for SEQ, given the MEAN. Calculates the MEAN when not given.
: SEQ ; (seq-of real) : MEAN ; real
Requirements
Authors
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/>.