GeneralStatistics Class Reference

### A free/open-source library for quantitative finance

Public Types
GeneralStatistics Class Reference

Statistics tool. More...

`#include <ql/math/statistics/generalstatistics.hpp>`

List of all members.

## Public Types
typedef Real | value_type
## Public Member Functions
Inspectors
Size | samples () const
| number of samples collected
const std::vector< std::pair < Real, Real > > & | data () const
| collected data
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
template<class Func , class Predicate >
std::pair< Real, Size > | expectationValue (const Func &f, const Predicate &inRange) const
Real | percentile (Real y) const
Real | topPercentile (Real y) 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
void | reserve (Size n) const
| informs the internal storage of a planned increase in size
void | sort () const
| sort the data set in increasing order

## Detailed Description

Statistics tool.

This class accumulates a set of data and returns their statistics (e.g: mean, variance, skewness, kurtosis, error estimation, percentile, etc.) based on the empirical distribution (no gaussian assumption)

It doesn't suffer the numerical instability problem of IncrementalStatistics. The downside is that it stores all samples, thus increasing the memory requirements.

## 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 on the mean value, defined as

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

std::pair<Real,Size> expectationValue | ( | const Func & | f,
|  | const Predicate & | inRange
| ) |  | const

Expectation value of a function on a given range , i.e.,

The range is passed as a boolean function returning `true` if the argument belongs to the range or `false` otherwise.

The function returns a pair made of the result and the number of observations in the given range.

Real percentile | ( | Real | y | ) | const

-th percentile, defined as the value such that

Precondition:
  must be in the range

Real topPercentile | ( | Real | y | ) | const

-th top percentile, defined as the value such that

Precondition:
  must be in the range

void add | ( | Real | value,
|  | Real | weight = `1.0`
| ) |  |

adds a datum to the set, possibly with a weight

Precondition:
  weights must be positive or null