QuantLib_GeneralStatistics man page

GeneralStatistics — Statistics tool.

Synopsis

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

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 [ langle x rangle = ac{sum w_i x_i}{sum w_i}. ]

Real variance () const

returns the variance, defined as [ sigma^2 = ac{N}{N-1} leftlangle left( x-langle x rangle right)^2 rightrangle. ]

Real standardDeviation () const

returns the standard deviation $ sigma $, defined as the square root of the variance.

Real errorEstimate () const

returns the error estimate on the mean value, defined as $ \psilon = sigma/sqrt{N}. $

Real skewness () const

returns the skewness, defined as [ ac{N^2}{(N-1)(N-2)} ac{leftlangle left( x-langle x rangle right)^3 rightrangle}{sigma^3}. ] The above evaluates to 0 for a Gaussian distribution.

Real kurtosis () const

returns the excess kurtosis, defined as [ ac{N^2(N+1)}{(N-1)(N-2)(N-3)} ac{leftlangle left(x-langle x rangle right)^4 rightrangle}{sigma^4} - ac{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

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

Expectation value of a function $ f $ on a given range $ mathcal{R} $, i.e., [ mathrm{E}left[f ;|; mathcal{R}right] = ac{sum_{x_i in mathcal{R}} f(x_i) w_i}{ sum_{x_i in mathcal{R}} w_i}. ] 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

$ y $-th percentile, defined as the value $ bar{x} $ such that [ y = ac{sum_{x_i < bar{x}} w_i}{ sum_i w_i} ]

Precondition:

$ y $ must be in the range $ (0-1]. $

Real topPercentile (Real y) const

$ y $-th top percentile, defined as the value $ bar{x} $ such that [ y = ac{sum_{x_i > bar{x}} w_i}{ sum_i w_i} ]

Precondition:

$ y $ must be in the range $ (0-1]. $

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

Author

Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

errorEstimate(3), expectationValue(3), kurtosis(3), max(3), mean(3), min(3), reserve(3), samples(3), skewness(3), sort(3), standardDeviation(3), topPercentile(3) and weightSum(3) are aliases of QuantLib_GeneralStatistics(3).

Fri Sep 23 2016 Version 1.8.1 QuantLib