Mir 1.0
Mir application programming interface
 
Loading...
Searching...
No Matches
Statistics functions

Data Structures

struct  mirml_rsamp_incr_t_
 Structure for online incremental calculation of sample statistics. More...
 
struct  mirml_rscov_incr_t_
 Structure for online incremental calculation of covariance of two random variables. More...
 

Typedefs

typedef struct mirml_rsamp_incr_t_ mirml_rsamp_incr_t
 Structure for online incremental calculation of sample statistics.
 
typedef struct mirml_rscov_incr_t_ mirml_rscov_incr_t
 Structure for online incremental calculation of covariance of two random variables.
 

Functions

double mirml_rsamp_mean (double *x, int len)
 Calculation of sample mean.
 
double mirml_rsamp_mean_variance (double *x, int len, double *mean)
 Calculation of sample mean and variance.
 
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.
 
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.
 
void mirml_rsamp_incr_addw (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.
 
double mirml_rsamp_incr_pvar (mirml_rsamp_incr_t *rsamp)
 Calculate population variance.
 
double mirml_rsamp_incr_svar (mirml_rsamp_incr_t *rsamp)
 Calculate sample variance using Bessel's correction.
 
double mirml_rsamp_incr_rvar (mirml_rsamp_incr_t *rsamp)
 Calculate sample variance using Bessel's correction.
 
double mirml_rsamp_incr_skew (mirml_rsamp_incr_t *rsamp)
 Calculate skewness.
 
double mirml_rsamp_incr_kurt (mirml_rsamp_incr_t *rsamp)
 Calculate kurtosis.
 
void mirml_rscov_incr_init (mirml_rscov_incr_t *csamp)
 Initialization of online incremental calculation of covariance of two random variables.
 
void mirml_rscov_incr_add (mirml_rscov_incr_t *csamp, double x, double y)
 Add next value for online incremental calculation of covariance.
 
void mirml_rscov_incr_addw (mirml_rscov_incr_t *csamp, double x, double y, double w)
 Add next weighted value for online incremental calculation of covariance.
 
double mirml_rscov_incr_pcov (mirml_rscov_incr_t *csamp)
 Calculate population covariance, sample covariance using Bessel's correction and sample covariance in case of reliability weights.
 
double mirml_rscov_incr_bcov (mirml_rscov_incr_t *csamp)
 
double mirml_rscov_incr_rcov (mirml_rscov_incr_t *csamp)
 

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. Variance, skewness and kurtosis can be calculated using other functions.

◆ mirml_rsamp_incr_addw()

void mirml_rsamp_incr_addw ( 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. Variance, skewness and kurtosis can be calculated using other functions.
Warning
Do not mix weighted and unweighted incremental calculation of sample statistics.

◆ mirml_rsamp_incr_rvar()

double mirml_rsamp_incr_rvar ( mirml_rsamp_incr_t rsamp)

Calculate sample variance using Bessel's correction.

Note
In case of weighted data, the usage of reliability weights is expected. Reliability weights: non-random values reflecting the sample's relative trustworthiness, must be normalized to unit (i.e. the sum of all weights must be equal to 1).

◆ mirml_rsamp_incr_svar()

double mirml_rsamp_incr_svar ( mirml_rsamp_incr_t rsamp)

Calculate sample variance using Bessel's correction.

Note
In case of weighted data, frequency weights (weighting factor equals the number of occurrences) are expected.

◆ 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

◆ mirml_rscov_incr_pcov()

double mirml_rscov_incr_pcov ( mirml_rscov_incr_t csamp)

Calculate population covariance, sample covariance using Bessel's correction and sample covariance in case of reliability weights.

Note
These functions work similar to the respective functions for sample statistics. See infos there.