npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::SequentialCopulaSmoother Class Reference

#include <SequentialCopulaSmoother.hh>

Inheritance diagram for npstat::SequentialCopulaSmoother:
npstat::CVCopulaSmoother< SequentialPolyFilterND > npstat::AbsCVCopulaSmoother npstat::AbsCopulaSmootherBase

Public Types

typedef CVCopulaSmoother< SequentialPolyFilterNDBase
 
- Public Types inherited from npstat::CVCopulaSmoother< SequentialPolyFilterND >
typedef AbsBandwidthCVND< double, ArrayND< double > > CVCalc
 
typedef SequentialPolyFilterND Filter
 

Public Member Functions

 SequentialCopulaSmoother (const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, int symbetaPower, double maxFilterDegree, const BoundaryHandling &boundaryMethod, double initialBw, const double *bwCoeffs, const CVCalc *cvCalc, bool becomeCvCalcOwner, double cvRange, unsigned nCV, bool useConvolve, bool doublyStochastic=true)
 
- 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< SequentialPolyFilterND >
 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

This class builds multivariate copula filters which are tensor products of univariate filters

Constructor & Destructor Documentation

◆ SequentialCopulaSmoother()

npstat::SequentialCopulaSmoother::SequentialCopulaSmoother ( const unsigned *  nBinsInEachDim,
unsigned  dim,
double  marginTolerance,
unsigned  maxNormCycles,
int  symbetaPower,
double  maxFilterDegree,
const BoundaryHandling boundaryMethod,
double  initialBw,
const double *  bwCoeffs,
const CVCalc cvCalc,
bool  becomeCvCalcOwner,
double  cvRange,
unsigned  nCV,
bool  useConvolve,
bool  doublyStochastic = true 
)

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

symbetaPower – these parameters will be passed to the maxFilterDegree "symbetaLOrPEFilter1D" function when the boundaryMethod filters will be constructed

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.

bwCoeffs – bandwidth factors for each dimension. This array must have "dim" positive numbers. The argument can also be NULL in which case it is assumed that all factors are 1.0.

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 our own destructor

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.

doublyStochastic – if "true", a doubly stochastic approximation will be derived for every original filter


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