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

#include <LOrPECopulaSmoother.hh>

Inheritance diagram for npstat::LOrPECopulaSmoother< MaxLOrPEDeg >:
npstat::CVCopulaSmoother< LocalPolyFilterND< MaxLOrPEDeg > > npstat::AbsCVCopulaSmoother npstat::AbsCopulaSmootherBase

Public Types

typedef CVCopulaSmoother< LocalPolyFilterND< MaxLOrPEDeg > > Base
 
- Public Types inherited from npstat::CVCopulaSmoother< LocalPolyFilterND< MaxLOrPEDeg > >
typedef AbsBandwidthCVND< double, ArrayND< double > > CVCalc
 
typedef LocalPolyFilterND< MaxLOrPEDeg > Filter
 

Public Member Functions

 LOrPECopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, const AbsDistributionND &kernel, const double *taper, unsigned maxDegree, double initialBw, const typename Base::CVCalc *cvCalc, bool becomeCvCalcOwner, double cvRange, unsigned nCV, bool useConvolve)
 
- 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::CVCopulaSmoother< LocalPolyFilterND< MaxLOrPEDeg > >
 CVCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, double initialBw, const CVCalc *cvCalc, bool becomeCvCalcOwner, double cvRange, unsigned nCV, bool useConvolve)
 
 CVCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, const std::vector< double > &bandwidthValues, const CVCalc *cvCalc, bool becomeCvCalcOwner, bool useConvolve)
 
void setFilter (unsigned i, Filter *filter)
 
- 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 MaxLOrPEDeg>
class npstat::LOrPECopulaSmoother< MaxLOrPEDeg >

This class builds multivariate filters for copula smoothing which utilize systems of discrete orthogonal multivariate polynomials

Constructor & Destructor Documentation

◆ LOrPECopulaSmoother()

template<unsigned MaxLOrPEDeg>
npstat::LOrPECopulaSmoother< MaxLOrPEDeg >::LOrPECopulaSmoother ( const unsigned *  nBinsInEachDim,
unsigned  dim,
double  marginTolerance,
unsigned  maxNormCycles,
const AbsDistributionND kernel,
const double *  taper,
unsigned  maxDegree,
double  initialBw,
const typename Base::CVCalc cvCalc,
bool  becomeCvCalcOwner,
double  cvRange,
unsigned  nCV,
bool  useConvolve 
)

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 – LocalPolyFilterND 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.

useConvolve – if "true", use "convolve" method of the filter rather than "filter" method.


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