IncrementalStatistics Class Reference
#include <ql/math/statistics/incrementalstatistics.hpp>
Detailed Description
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.)
- Warning:
- high moments are numerically unstable for high average/standardDeviation ratios.
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 |
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 | |
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 | |
void | reset () |
resets the data to a null set | |
Protected Attributes | |
Size | sampleNumber_ |
Size | downsideSampleNumber_ |
Real | sampleWeight_ |
Real | downsideSampleWeight_ |
Real | sum_ |
Real | quadraticSum_ |
Real | downsideQuadraticSum_ |
Real | cubicSum_ |
Real | fourthPowerSum_ |
Real | min_ |
Real | max_ |
Member Function Documentation
Real mean | ( | ) | const |
returns the mean, defined as
Real variance | ( | ) | const |
returns the variance, defined as
Real standardDeviation | ( | ) | const |
returns the standard deviation , defined as the square root of the variance.
Real errorEstimate | ( | ) | const |
returns the error estimate , defined as the square root of the ratio of the variance to the number of samples.
Real skewness | ( | ) | const |
returns the skewness, defined as
The above evaluates to 0 for a Gaussian distribution.
Real kurtosis | ( | ) | const |
returns the excess kurtosis, defined as
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
, where = 0 if x > 0 and
=1 if x <0
Real downsideDeviation | ( | ) | const |
returns the downside deviation, defined as the square root of the downside variance.
void add | ( | Real | value, | |
Real | weight = 1.0 | |||
) |
adds a datum to the set, possibly with a weight
- Precondition:
- weight must be positive or null
void addSequence | ( | DataIterator | begin, | |
DataIterator | end, | |||
WeightIterator | wbegin | |||
) |
adds a sequence of data to the set, each with its weight
- Precondition:
- weights must be positive or null