Mir 1.0
Mir application programming interface
Statistics functions

Data Structures

struct  mirml_rsamp_incr_t_
 Structure for online incremental calculation of sample statistics. More...
 

Typedefs

typedef struct mirml_rsamp_incr_t_ mirml_rsamp_incr_t
 Structure for online incremental calculation of sample statistics.
 

Functions

double mirml_rsamp_mean (double *x, int len)
 Calculation of sample mean. More...
 
double mirml_rsamp_mean_variance (double *x, int len, double *mean)
 Calculation of sample mean and variance. More...
 
void mirml_rsamp_statistics4 (double *x, int len, double *mean, double *variance, double *skewness, double *kurtosis)
 Calculation of sample mean, variance, skewness and excess kurtosis. More...
 
void mirml_rsamp_incr_init (mirml_rsamp_incr_t *rsamp)
 Initialization of online incremental calculation of sample statistics.
 
void mirml_rsamp_incr_add (mirml_rsamp_incr_t *rsamp, double val)
 Add next value for online incremental calculation of sample statistics. More...
 
void mirml_rsamp_incr_add_w (mirml_rsamp_incr_t *rsamp, double val, double w)
 Add next weighted value for online incremental calculation of sample statistics. P. Pebay, T. B. Terriberry, H. Kolla, J. Bennett, Numerically stable, scalable formulas for parallel and online computation of higher-order multivariate central moments with arbitrary weights. Comput Stat 31, 1305–1325 (2016), 10.1007/s00180-015-0637-z. More...
 
void mirml_rsamp_incr_calc (mirml_rsamp_incr_t *rsamp)
 Calculate sample statistics based in accumulated data. More...
 

Detailed Description

Function Documentation

◆ mirml_rsamp_incr_add()

void mirml_rsamp_incr_add ( mirml_rsamp_incr_t rsamp,
double  val 
)

Add next value for online incremental calculation of sample statistics.

Note
Sample mean value is updated in this function, but not variance, skewness and kurtosis.

◆ mirml_rsamp_incr_add_w()

void mirml_rsamp_incr_add_w ( mirml_rsamp_incr_t rsamp,
double  val,
double  w 
)

Add next weighted value for online incremental calculation of sample statistics. P. Pebay, T. B. Terriberry, H. Kolla, J. Bennett, Numerically stable, scalable formulas for parallel and online computation of higher-order multivariate central moments with arbitrary weights. Comput Stat 31, 1305–1325 (2016), 10.1007/s00180-015-0637-z.

Note
Sample mean value is updated in this function, but not variance, skewness and kurtosis.
Warning
Do not mix weighted and unweighted incremental calculation of sample statistics.

◆ mirml_rsamp_incr_calc()

void mirml_rsamp_incr_calc ( mirml_rsamp_incr_t rsamp)

Calculate sample statistics based in accumulated data.

Note
Sample mean is updated each time a new data added. This function calculates variance, skewness and kurtosis.

◆ mirml_rsamp_mean()

double mirml_rsamp_mean ( double *  x,
int  len 
)

Calculation of sample mean.

Parameters
[in]xVector of values.
[in]lenLength of the input vector.
Note
Implements compensated variant in http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
Returns
Calculated mean of random sample in vector x.

◆ mirml_rsamp_mean_variance()

double mirml_rsamp_mean_variance ( double *  x,
int  len,
double *  mean 
)

Calculation of sample mean and variance.

Parameters
[in]xVector of values.
[in]lenLength of the input vector.
[out]meanCalculated mean if not NULL.
Note
Implements compensated variant in http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
Returns
Calculated variance of random sample in vector x.

◆ mirml_rsamp_statistics4()

void mirml_rsamp_statistics4 ( double *  x,
int  len,
double *  mean,
double *  variance,
double *  skewness,
double *  kurtosis 
)

Calculation of sample mean, variance, skewness and excess kurtosis.

Parameters
[in]xVector of values.
[in]lenLength of the input vector.
[out]meanCalculated mean if not NULL.
[out]meanCalculated variance if not NULL.
[out]meanCalculated skewness if not NULL.
[out]meanCalculated excess kurtosis if not NULL.
Note
See Higher-order statistics in http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance