Statistics tool based on incremental accumulation. More...
#include <ql/math/statistics/incrementalstatistics.hpp>
Public Types | |
typedef Real | value_type |
Public Member Functions | |
Inspectors | |
Size | samples () const |
number of samples collected | |
Real | weightSum () const |
sum of data weights | |
Real | mean () const |
Real | variance () const |
Real | standardDeviation () const |
Real | errorEstimate () const |
Real | skewness () const |
Real | kurtosis () const |
Real | min () const |
Real | max () const |
Size | downsideSamples () const |
number of negative samples collected | |
Real | downsideWeightSum () const |
sum of data weights for negative samples | |
Real | downsideVariance () const |
Real | downsideDeviation () const |
Modifiers | |
void | add (Real value, Real weight=1.0) |
adds a datum to the set, possibly with a weight More... | |
template<class DataIterator > | |
void | addSequence (DataIterator begin, DataIterator end) |
adds a sequence of data to the set, with default weight | |
template<class DataIterator , class WeightIterator > | |
void | addSequence (DataIterator begin, DataIterator end, WeightIterator wbegin) |
adds a sequence of data to the set, each with its weight More... | |
void | reset () |
resets the data to a null set | |
Statistics tool based on incremental accumulation.
It can accumulate a set of data and return statistics (e.g: mean, variance, skewness, kurtosis, error estimation, etc.). This class is a wrapper to the boost accumulator library.
Real mean | ( | ) | const |
returns the mean, defined as
\[ \langle x \rangle = \frac{\sum w_i x_i}{\sum w_i}. \]
Real variance | ( | ) | const |
returns the variance, defined as
\[ \frac{N}{N-1} \left\langle \left( x-\langle x \rangle \right)^2 \right\rangle. \]
Real standardDeviation | ( | ) | const |
returns the standard deviation \( \sigma \), defined as the square root of the variance.
Real errorEstimate | ( | ) | const |
returns the error estimate \( \epsilon \), defined as the square root of the ratio of the variance to the number of samples.
Real skewness | ( | ) | const |
returns the skewness, defined as
\[ \frac{N^2}{(N-1)(N-2)} \frac{\left\langle \left( x-\langle x \rangle \right)^3 \right\rangle}{\sigma^3}. \]
The above evaluates to 0 for a Gaussian distribution.
Real kurtosis | ( | ) | const |
returns the excess kurtosis, defined as
\[ \frac{N^2(N+1)}{(N-1)(N-2)(N-3)} \frac{\left\langle \left(x-\langle x \rangle \right)^4 \right\rangle}{\sigma^4} - \frac{3(N-1)^2}{(N-2)(N-3)}. \]
The above evaluates to 0 for a Gaussian distribution.
Real min | ( | ) | const |
returns the minimum sample value
Real max | ( | ) | const |
returns the maximum sample value
Real downsideVariance | ( | ) | const |
returns the downside variance, defined as
\[ \frac{N}{N-1} \times \frac{ \sum_{i=1}^{N} \theta \times x_i^{2}}{ \sum_{i=1}^{N} w_i} \]
, where \( \theta \) = 0 if x > 0 and \( \theta \) =1 if x <0
Real downsideDeviation | ( | ) | const |
returns the downside deviation, defined as the square root of the downside variance.
adds a datum to the set, possibly with a weight
void addSequence | ( | DataIterator | begin, |
DataIterator | end, | ||
WeightIterator | wbegin | ||
) |
adds a sequence of data to the set, each with its weight