npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
DiscreteGaussCopulaSmoother.hh
Go to the documentation of this file.
1 #ifndef NPSTAT_DISCRETEGAUSSCOPULASMOOTHER_HH_
2 #define NPSTAT_DISCRETEGAUSSCOPULASMOOTHER_HH_
3 
4 /*!
5 // \file DiscreteGaussCopulaSmoother.hh
6 //
7 // \brief Copula smoothing with Green's function for the discrete heat
8 // equation using cross-validation
9 //
10 // The cross-validation is implemented in the base class, this class only
11 // needs to build the filters for different bandwidth values.
12 //
13 // Author: I. Volobouev
14 //
15 // December 2019
16 */
17 
18 #include "npstat/nm/Matrix.hh"
19 
22 
23 namespace npstat {
24  /**
25  // This class builds multivariate copula filters which are
26  // tensor products of univariate filters
27  */
29  public CVCopulaSmoother<SequentialPolyFilterND>
30  {
31  public:
33 
34  /**
35  // Constructor arguments are as follows:
36  //
37  // nBinsInEachDim -- number of copula bins in each dimension
38  //
39  // dim -- copula dimensionality
40  //
41  // marginTolerance -- tolerance for the margin to be uniform
42  //
43  // maxNormCycles -- max number of copula normalization cycles
44  //
45  // cvCalc -- calculator for the quantity being optimized
46  // in the cross validation process. May be NULL
47  // in which case cross validation will not
48  // be used.
49  //
50  // becomeCvCalcOwner -- tells us whether we should destroy cvCalc
51  // in our own destructor
52  //
53  // bandwidthsToUse -- Bandwidth values to use. The row number of
54  // the matrix corresponds to the "trial" number
55  // and the column number gives the bandwidth for
56  // the corresponding dimension. All bandwidth
57  // values must be non-negative.
58  */
60  const unsigned* nBinsInEachDim, unsigned dim,
61  double marginTolerance, unsigned maxNormCycles,
62  const CVCalc* cvCalc, bool becomeCvCalcOwner,
63  const Matrix<double>& bandwidthsToUse);
64 
65  inline virtual ~DiscreteGaussCopulaSmoother() {}
66  };
67 }
68 
69 #endif // NPSTAT_DISCRETEGAUSSCOPULASMOOTHER_HH_
Smoothing copulas with AbsBandwidthCVND cross-validation.
Template matrix class.
Sequential local polynomial filtering (regression) on uniform hyperrectangular grids.
Definition: CVCopulaSmoother.hh:20
Definition: DiscreteGaussCopulaSmoother.hh:30
DiscreteGaussCopulaSmoother(const unsigned *nBinsInEachDim, unsigned dim, double marginTolerance, unsigned maxNormCycles, const CVCalc *cvCalc, bool becomeCvCalcOwner, const Matrix< double > &bandwidthsToUse)
Definition: AbsArrayProjector.hh:14
Definition: AbsBandwidthCV.hh:176