stat.lsp

Module index

source download

Module: stat.lsp

Basic statistics and plotting library

Version: 3.0 - Eliminated plot functions and f-prob which now is built-in as prob-f
Version: 3.1 - Documentation changes


Author: Lutz Mueller, 2001-2013

Functions for statistics

To use this module it has to be loaded at the beginning of the program file:
 (load (append (env "NEWLISPDIR") "/modules/stat.lsp"))
 ; or shorter
 (module "stat.lsp")
 
All functions work on integers and floats or a mix of both. lists are normal LISP lists. matrices are lists of lists, one list for each row in the two dimensional data matrix. See the function stat:matrix on how to make matrices from lists.

In version 3.0 of stat.lsp the usage for Gnuplot the stat:plot and stat:plotXY functions has been eliminated. Instead use the module plot.lsp shipped with all binary and source distributions. The F-distribution function f-prob has also been eliminated instead use one of new the built-in prob-f or crit-f functions.

The documention contains only the call patterns. See the source for more documentation.

Summary of functions


General uni- and bi- variate statistics

 stat:sum      - returns the sum of a vector of numbers
 stat:mean     - returns the arithmetik mean of a vector of numbers
 stat:var      - returns the estimated variance of numbers in a vector sample
 stat:sdev     - returns the estimated standard deviation of numbers in a vector
 stat:sum-sq   - returns the sum of squares of a data vector
 stat:sum-xy   - returns the sum of products of a two data vectors
 stat:corr     - returns the correlation coefficient between two vectors (built-in since 10.4.2)
 stat:cov      - returns the covariance of two number vectors
 stat:sum-d2   - returns the sum of squared differences of a vector from its mean
 stat:sum-d2xy - returns sum of squared diffferences of two vectors
 stat:regression - calculates the intecept and slope of a regression estimate
 stat:fit      - return the fitted line using regression coefficients
 stat:moments  - calulates 1st to 3rd moments from a vector of numbers
 

Multi variate statistics

 stat:multiple-reg  - calculates a multiple regression
 stat:cov-matrix    - calculates a covariance matrix
 stat:corr-matrix   - calculates a correlation matrix
 

Time series

 stat:smooth   - smoothes a vector of numbers
 stat:lag      - calcultes a difference list with specified lag
 stat:cumulate - cumulate a data vector
 stat:power    - calculate the power spectrum of a time series
 

Matrix and list utilities

 stat:matrix       - make a matrix from column vectors
 stat:diagonal     - make a diagonal matrix
 stat:get-diagonal - return the diagonal of a matrix in a vector
 stat:mat-map      - map a binary function on to matrices
 


§

stat:corr

syntax: (stat:corr X Y)
parameter: X - A list of numbers.
parameter: Y - A list of numbers.

return: Correlation coefficient of lists X and Y.

A corr native function is built into newLISP since 10.4.2.

§

stat:cov

syntax: (stat:cov X Y)
parameter: X - A list of numbers.
parameter: Y - A list of numbers.

return: Covariance of data in lists X and Y



§

stat:cov-matrix

syntax: (stat:cov-matrix X)
parameter: X - A matrix of numbers.

return: Covariance matrix of X with N rows and k columns.



§

stat:corr-matrix

syntax: (stat:corr-matrix X)
parameter: X - A matrix of numbers.

return: Correlation matrix of X with N rows and k columns.



§

stat:cumulate

syntax: (stat:cumulate X)
parameter: X - A list of numbers.

return: The cumulated list of X.



§

stat:diagonal

syntax: (stat:diagonal item N)
parameter: item - The diagonal element.

return: A diagonal matrix of length N with item in the diagonal.



§

stat:fit

syntax: (stat:fit X Y)
parameter: X - A list of numbers.
parameter: Y - A list of numbers.

return: fitted line based on (stat:regression X Y).



§

stat:f-prob

syntax: (stat:f-prob F df1 df2)
parameter: F - The variance ratio.
parameter: df1 - Degrees of freedom.
parameter: df2 - Degrees of freedom.

return: Probablity of F variance ratio for df1, df2 degress of freedom.



§

stat:get-diagonal

syntax: (stat:get-diagonal X)
parameter: X - An matrix filled with numbers.

return: A list from the diagonal elements of X.



§

stat:lag

syntax: (stat:lag X n)
parameter: X - A list of numbers.
parameter: n - Lag n.

return: A differenced list of X with a lag of n.

If the length of list X is l then the length of the resulting differenced list is l - n.

§

stat:mat-map

syntax: (stat:mat-map op A B)

return: Matrix map, e.g. (stat:mat-map + A B).

Used for adding and subtracting matrices.

§

stat:matrix

syntax: (stat:matrix C1 .... CN)
parameter: C1 - The first column list of values.
parameter: CN - The Nth column list of values.

return: A matrix off 1 to N columns C.



§

stat:mean

syntax: (stat:mean X)
parameter: X - A list of numbers.

return: The mean of data in list X.



§

stat:moments

syntax: (stat:moments X)
parameter: X - A list of numbers.

return: Calculates all moments of list X.



§

stat:multiple-reg

syntax: (stat:multiple-reg X offY)
parameter: X - A matrix of numbers.
parameter: offY - Zero based offset into Y.

return: Multiple regression of vars in X onto Y at offsetY.



§

stat:power

syntax: (stat:power TS)
parameter: TS - A time series of numbers.

return: The power spectrum of a time series



§

stat:regression

syntax: (stat:regression X Y)
parameter: X - A list of numbers.
parameter: Y - A list of numbers.
returns (b0 b1) coefficients of regression Y = b0 + b1*X.

§

stat:sdev

syntax: (stat:sdev X)
parameter: X - A list of numbers.

return: Standard deviation of data in list X.



§

stat:smooth

syntax: (stat:smooth X alpha)
parameter: X - A list of numbers.
parameter: alpha - Smoothing coefficient 0 < alpha < 1.

return: Exponentially smoothed sequence in X.



§

stat:sum

syntax: (stat:sum X)
parameter: X - A list of numbers,

return: Sum of data in list X.



§

stat:sum-d2

syntax: (stat:sum-d2 X)
parameter: X - A list of numbers.

return: Sum of squared diffs (x - mean(X))^2 in list X.



§

stat:sum-d2xy

syntax: (stat:sum-d2xy X Y)

return: Sum of squared differences (x - y)^2 of elements in lists X and Y.



§

stat:sum-sq

syntax: (stat:sum-sq X)
parameter: X - A list of numbers.

return: Sum of x*x data elements in list X.



§

stat:sum-xy

syntax: (stat:sum-xy X Y)
parameter: X - A list of numbers.
parameter: Y - A list of numbers.

return: Sum of products x*y data elements in lists X and Y.



§

stat:var

syntax: (stat:var X)
parameter: X - A list of numbers.

return: The variance of the data in list X.



- ∂ -

generated with newLISP  and newLISPdoc