|
#include <KDEGroupedCopulaSmoother.hh>
|
| 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) |
|
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 |
|
| 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) |
|
|
| 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) |
|
| 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) |
|
template<unsigned MaxKDEDeg>
class npstat::KDEGroupedCopulaSmoother< MaxKDEDeg >
Class which builds KDE filters for different bandwidth values
◆ 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:
|