|
#include <CompositeDistributionND.hh>
|
| CompositeDistributionND (const AbsDistributionND *copula, const std::vector< const AbsDistribution1D * > marginals, bool assumePointerOwnership=false) |
|
| CompositeDistributionND (const AbsDistributionND &copula, const AbsDistribution1D &m0, const AbsDistribution1D &m1) |
|
| CompositeDistributionND (const AbsDistributionND &copula, const AbsDistribution1D &m0, const AbsDistribution1D &m1, const AbsDistribution1D &m2) |
|
| CompositeDistributionND (const AbsDistributionND &copula, const AbsDistribution1D &m0, const AbsDistribution1D &m1, const AbsDistribution1D &m2, const AbsDistribution1D &m3) |
|
| CompositeDistributionND (const AbsDistributionND &copula, const AbsDistribution1D &m0, const AbsDistribution1D &m1, const AbsDistribution1D &m2, const AbsDistribution1D &m3, const AbsDistribution1D &m4) |
|
| CompositeDistributionND (const AbsDistributionND &copula) |
|
void | addMarginal (const AbsDistribution1D &marginal) |
|
template<typename Num1 , unsigned Len1, unsigned Dim1> |
| CompositeDistributionND (const double *location, const double *scale, unsigned locationAndScaleLength, const ArrayND< Num1, Len1, Dim1 > &histogram, const ArrayShape &copulaShape, const unsigned interpolationDegree) |
|
| CompositeDistributionND (const CompositeDistributionND &) |
|
CompositeDistributionND & | operator= (const CompositeDistributionND &) |
|
virtual CompositeDistributionND * | clone () const |
|
bool | mappedByQuantiles () const |
|
const AbsDistributionND * | copula () const |
|
const AbsDistribution1D * | marginal (unsigned index) const |
|
double | density (const double *x, unsigned dim) const |
|
double | copulaDensity (const double *x, unsigned dim) const |
|
double | productOfTheMarginals (const double *x, unsigned dim) const |
|
void | unitMap (const double *rnd, unsigned dim, double *x) const |
|
virtual gs::ClassId | classId () const |
|
virtual bool | write (std::ostream &of) const |
|
| AbsDistributionND (const unsigned dim) |
|
| AbsDistributionND (const AbsDistributionND &r) |
|
AbsDistributionND & | operator= (const AbsDistributionND &r) |
|
bool | operator== (const AbsDistributionND &r) const |
|
bool | operator!= (const AbsDistributionND &r) const |
|
unsigned | dim () const |
|
virtual unsigned | random (AbsRandomGenerator &g, double *x, unsigned lenX) const |
|
|
static const char * | classname () |
|
static unsigned | version () |
|
static CompositeDistributionND * | read (const gs::ClassId &id, std::istream &in) |
|
static const char * | classname () |
|
static unsigned | version () |
|
static AbsDistributionND * | read (const gs::ClassId &id, std::istream &) |
|
This class represents multivariate statistical distributions decomposed into copula and marginals
◆ CompositeDistributionND() [1/4]
npstat::CompositeDistributionND::CompositeDistributionND |
( |
const AbsDistributionND * |
copula, |
|
|
const std::vector< const AbsDistribution1D * > |
marginals, |
|
|
bool |
assumePointerOwnership = false |
|
) |
| |
Constructor from pre-calculated copula and the marginals. If "assumePointerOwnership" is true then all argument distributions will be deleted in the destructor. If "assumePointerOwnership" is false then the constructor will build copies of all distributions (which will be later deleted in the destructor).
◆ CompositeDistributionND() [2/4]
Convenience constructor from copula and several marginals. The dimensionality of the copula must be consistent with the number of marginals provided.
◆ CompositeDistributionND() [3/4]
npstat::CompositeDistributionND::CompositeDistributionND |
( |
const AbsDistributionND & |
copula | ) |
|
|
explicit |
Start with the copula and add marginals later
◆ CompositeDistributionND() [4/4]
template<typename Num1 , unsigned Len1, unsigned Dim1>
npstat::CompositeDistributionND::CompositeDistributionND |
( |
const double * |
location, |
|
|
const double * |
scale, |
|
|
unsigned |
locationAndScaleLength, |
|
|
const ArrayND< Num1, Len1, Dim1 > & |
histogram, |
|
|
const ArrayShape & |
copulaShape, |
|
|
const unsigned |
interpolationDegree |
|
) |
| |
Constructor from a histogram. The copula and the marginals are generated internally. "interpolationDegree" should be either 0 or 1 (limited by the abilities of BinnedDensityND class).
◆ addMarginal()
void npstat::CompositeDistributionND::addMarginal |
( |
const AbsDistribution1D & |
marginal | ) |
|
Add a marginal. An exception will be thrown in case an attempt is made to add more marginals than copula has dimensions.
◆ classId()
virtual gs::ClassId npstat::CompositeDistributionND::classId |
( |
| ) |
const |
|
inlinevirtual |
◆ clone()
◆ copula()
◆ density()
double npstat::CompositeDistributionND::density |
( |
const double * |
x, |
|
|
unsigned |
dim |
|
) |
| const |
|
virtual |
◆ mappedByQuantiles()
bool npstat::CompositeDistributionND::mappedByQuantiles |
( |
| ) |
const |
|
inlinevirtual |
The following method should return "true" in case the "unitMap" method is implemented by a sequence of conditional quantile functions. Distributions with such maps permit quantile-based interpolation procedures.
Implements npstat::AbsDistributionND.
◆ marginal()
const AbsDistribution1D* npstat::CompositeDistributionND::marginal |
( |
unsigned |
index | ) |
const |
|
inline |
Return the marginal distribution for the given dimension
◆ unitMap()
void npstat::CompositeDistributionND::unitMap |
( |
const double * |
rnd, |
|
|
unsigned |
bufLen, |
|
|
double * |
x |
|
) |
| const |
|
virtual |
Mapping from the unit hypercube into the density support region. Note that "bufLen" does not have to be equal to the dimensionality of the function. There may be an efficient way to generate just the leading dimensions in case "bufLen" is smaller than the dimensionality.
Implements npstat::AbsDistributionND.
The documentation for this class was generated from the following file:
|