Online calculator for mean, variance, skew, and kurtosis.
Declared in <bdlsta_moment.h>
template<>
class Moment<BloombergLP::bdlsta::MomentLevel::e_M2>;
This class provides efficient and accurate online algorithms for calculating mean, variance, skew, and kurtosis. The class provides template specializations, so that no unnecessary data members will be kept or unnecessary calculations done. The online algorithms used are Welford for variance, and the stable M3 and M4 are taken from: https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Higher-order_statistics
The formula for sample skewness is taken from: http://www.macroption.com/skewness-formula/
The formula for sample excess kurtosis is taken from: http://www.macroption.com/kurtosis-formula/
| Name | Description |
|---|---|
Unnamed enum | Status codes returned by statistical computations. |
| Name | Description |
|---|---|
add | Add the specified value to the data set. |
count | Return the number of elements in the data set. |
kurtosis | Return the kurtosis of the data set. The behavior is undefined unless 4 <= count and the variance is not zero. |
kurtosisIfValid | Load kurtosis into result when data is sufficient. |
mean | Return the mean of the data set. The behavior is undefined unless 1 <= count. |
meanIfValid | Load mean into result when data is sufficient. |
skew | Return skew of the data set. The behavior is undefined unless 3 <= count or the variance is zero. |
skewIfValid | Load skew into result when data is sufficient. |
variance | Return the variance of the accumulated sample. |
varianceIfValid | Load variance into result when data is sufficient. |