npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::KDEGroupedCopulaSmoother< MaxKDEDeg > Class Template Reference

#include <KDEGroupedCopulaSmoother.hh>

Inheritance diagram for npstat::KDEGroupedCopulaSmoother< MaxKDEDeg >:
npstat::GCVCopulaSmoother< KDEFilterND< MaxKDEDeg > > npstat::AbsCVCopulaSmoother npstat::AbsCopulaSmootherBase

Public Types

typedef GCVCopulaSmoother< KDEFilterND< MaxKDEDeg > > Base
 
- Public Types inherited from npstat::GCVCopulaSmoother< KDEFilterND< MaxKDEDeg > >
typedef AbsBandwidthGCVND< double, ArrayND< double > > GCVCalc
 
typedef KDEFilterND< MaxKDEDeg > Filter
 

Public Member Functions

 KDEGroupedCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, const AbsDistributionND &kernel, const double *taper, unsigned maxDegree, double initialBw, const typename Base::GCVCalc *cvCalc, bool becomeCvCalcOwner, double cvRange, unsigned nCV, bool dummy)
 
- Public Member Functions inherited from npstat::AbsCVCopulaSmoother
bool isConvolving () const
 
void setConvolving (const bool b)
 
const std::vector< double > & bandwidthValues () const
 
const std::vector< double > & lastCVValues () const
 
const std::vector< double > & lastRegularizedFractions () const
 
unsigned getNFilters () const
 
unsigned lastFilterChosen () const
 
- Public Member Functions inherited from npstat::AbsCopulaSmootherBase
 AbsCopulaSmootherBase (const unsigned *nBinsInEachDim, unsigned dim, double tolerance, unsigned maxNormCycles)
 
unsigned dim () const
 
ArrayShape copulaShape () const
 
void setArchive (gs::AbsArchive *ar, const char *category=0)
 
template<class Point >
const HistoND< double > & smooth (unsigned long uniqueId, std::vector< OrderedPointND< Point > > &in, double *bandwidthUsed=0)
 
template<class Point >
const HistoND< double > & weightedSmooth (unsigned long uniqueId, const std::vector< std::pair< const Point *, double > > &in, const unsigned *dimsToUse, unsigned nDimsToUse, double *bandwidthUsed=0)
 

Additional Inherited Members

- Protected Member Functions inherited from npstat::GCVCopulaSmoother< KDEFilterND< MaxKDEDeg > >
 GCVCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, double initialBw, const GCVCalc *cvCalc, bool becomeCvCalcOwner, double cvRange, unsigned nGCV, bool useConvolve)
 
 GCVCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, const std::vector< double > &bandwidthValues, const GCVCalc *cvCalc, bool becomeCvCalcOwner, bool useConvolve)
 
void setFilter (unsigned i, Filter *filter, Filter *looFilter)
 
- Protected Member Functions inherited from npstat::AbsCVCopulaSmoother
 AbsCVCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, double initialBw, double cvRange, unsigned nCV, bool useConvolve)
 
 AbsCVCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, const std::vector< double > &bandwidthValues, bool useConvolve)
 

Detailed Description

template<unsigned MaxKDEDeg>
class npstat::KDEGroupedCopulaSmoother< MaxKDEDeg >

Class which builds KDE filters for different bandwidth values

Constructor & Destructor Documentation

◆ KDEGroupedCopulaSmoother()

template<unsigned MaxKDEDeg>
npstat::KDEGroupedCopulaSmoother< MaxKDEDeg >::KDEGroupedCopulaSmoother ( const unsigned *  nBinsInEachDim,
unsigned  dim,
double  marginTolerance,
unsigned  maxNormCycles,
const AbsDistributionND kernel,
const double *  taper,
unsigned  maxDegree,
double  initialBw,
const typename Base::GCVCalc cvCalc,
bool  becomeCvCalcOwner,
double  cvRange,
unsigned  nCV,
bool  dummy 
)

Constructor arguments are as follows:

nBinsInEachDim – number of copula bins in each dimension

dim – copula dimensionality

marginTolerance – tolerance for the margin to be uniform

maxNormCycles – max number of copula normalization cycles

kernel – kernel to use for generating the filters. This should be a standard kernel, with location of 0 in each dimension. The scales should normally be set to 1 (unless you want different scale factors for different dimensions).

taper, maxDegree – KDEFilterND parameters

initialBw – "central" bandwidth for cross validation calculations (or the actual bandwidth used in case cross validation is not performed). Set this parameter to 0.0 in order to disable filtering altogether.

cvCalc – calculator for the quantity being optimized in the cross validation process. May be NULL in which case cross validation will not be used.

becomeCvCalcOwner – tells us whether we should destroy cvCalc in the destructor of the base class.

cvRange – we will scan bandwidth values between initialBw/cvRange and initialBw*cvRange uniformly in the log space.

nCV – number of bandwidth values to try in the bandwidth scan. If this number is even, it will be increased by 1 internally so that the "central" bandwidth is included in the scan. If this parameter is 0 or 1, the value given by "initialBw" will be used.

dummy – unused. Included for consistency with arguments of LOrPECopulaSmoother, etc.


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