npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0

#include <CompositeDistribution1D.hh>

Inheritance diagram for npstat::CompositeDistribution1D:
npstat::AbsDistribution1D npstat::BetaGauss1D npstat::BinnedCompositeJohnson npstat::CompositeGauss1D npstat::JohnsonLadder npstat::LogQuadraticLadder

Public Member Functions

 CompositeDistribution1D (const AbsDistribution1D &pG, const AbsDistribution1D &pH)
 
 CompositeDistribution1D (const CompositeDistribution1D &)
 
CompositeDistribution1Doperator= (const CompositeDistribution1D &)
 
double density (const double x) const
 
double cdf (const double x) const
 
double exceedance (const double x) const
 
double quantile (const double x) const
 
virtual CompositeDistribution1Dclone () const
 
const AbsDistribution1DG () const
 
const AbsDistribution1DH () const
 
virtual gs::ClassId classId () const
 
virtual bool write (std::ostream &os) const
 
- Public Member Functions inherited from npstat::AbsDistribution1D
bool operator== (const AbsDistribution1D &r) const
 
bool operator!= (const AbsDistribution1D &r) const
 
virtual unsigned random (AbsRandomGenerator &g, double *generatedRandom) const
 
long double empiricalMoment (long double center, unsigned order, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 
template<class Functor >
double expectation (const Functor &fcn, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 

Static Public Member Functions

static const char * classname ()
 
static unsigned version ()
 
static CompositeDistribution1Dread (const gs::ClassId &id, std::istream &in)
 
- Static Public Member Functions inherited from npstat::AbsDistribution1D
static const char * classname ()
 
static unsigned version ()
 
static AbsDistribution1Dread (const gs::ClassId &id, std::istream &)
 

Protected Member Functions

virtual bool isEqual (const AbsDistribution1D &) const
 

Protected Attributes

const AbsDistribution1DpG_
 
const AbsDistribution1DpH_
 

Detailed Description

This class represents univariate statistical distributions whose cumulative distribution functions F(x) can be built by composition of two other cumulative distribution functions: F(x) = G(H(x)). Naturally, G must correspond to a density supported on the interval [0, 1]. This density is often easier to fit (or to represent nonparametrically) than the original one in case H(x) is well chosen.

The corresponding technique is known in the KDE-related literature as the "nonparametric transformations" method. See, for example, "A Comparison of Higher-Order Bias Kernel Density Estimators" by M.C. Jones and D.F. Signorini, JASA, Vol. 92, No. 439, p. 1063 (1997).

Constructor & Destructor Documentation

◆ CompositeDistribution1D()

npstat::CompositeDistribution1D::CompositeDistribution1D ( const AbsDistribution1D pG,
const AbsDistribution1D pH 
)

Constructor arguments are the distributions used to build this composite. The support of pG must be the [0, 1] interval.

Member Function Documentation

◆ cdf()

double npstat::CompositeDistribution1D::cdf ( const double  x) const
inlinevirtual

Cumulative distribution function

Implements npstat::AbsDistribution1D.

◆ classId()

virtual gs::ClassId npstat::CompositeDistribution1D::classId ( ) const
inlinevirtual

Method needed for "geners" I/O

Implements npstat::AbsDistribution1D.

◆ clone()

virtual CompositeDistribution1D* npstat::CompositeDistribution1D::clone ( ) const
inlinevirtual

◆ density()

double npstat::CompositeDistribution1D::density ( const double  x) const
inlinevirtual

Probability density

Implements npstat::AbsDistribution1D.

◆ exceedance()

double npstat::CompositeDistribution1D::exceedance ( const double  x) const
inlinevirtual

Exceedance (i.e., 1 - cdf)

Implements npstat::AbsDistribution1D.

◆ G()

const AbsDistribution1D& npstat::CompositeDistribution1D::G ( ) const
inline

Fetch the distribution with support on [0, 1]

◆ H()

const AbsDistribution1D& npstat::CompositeDistribution1D::H ( ) const
inline

Fetch the distribution with arbitrary support

◆ isEqual()

virtual bool npstat::CompositeDistribution1D::isEqual ( const AbsDistribution1D ) const
protectedvirtual

Comparison for equality. To be implemented by derived classes.

Implements npstat::AbsDistribution1D.

◆ quantile()

double npstat::CompositeDistribution1D::quantile ( const double  x) const
inlinevirtual

Quantile function

Implements npstat::AbsDistribution1D.


The documentation for this class was generated from the following file: