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