npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
BandwidthGCVLeastSquaresND.hh
Go to the documentation of this file.
1 #ifndef NPSTAT_BANDWIDTHGCVLEASTSQUARESND_HH_
2 #define NPSTAT_BANDWIDTHGCVLEASTSQUARESND_HH_
3 
4 /*!
5 // \file BandwidthGCVLeastSquaresND.hh
6 //
7 // \brief Cross-validating multivariate density estimates of grouped data
8 // by optimizing the L2 distance (MISE)
9 //
10 // Author: I. Volobouev
11 //
12 // June 2015
13 */
14 
16 
17 namespace npstat {
18  /**
19  // Class for calculating KDE or LOrPE cross-validation MISE approximations
20  // for multivariate density estimates. operator() returns -MISE estimate
21  // (a quantity to be maximized).
22  */
23  template<typename Num, class Array>
24  struct BandwidthGCVLeastSquaresND : public AbsBandwidthGCVND<Num,Array>
25  {
26  inline virtual ~BandwidthGCVLeastSquaresND() {}
27 
28  // Unweighted samples
29  virtual double operator()(
30  const HistoND<Num>& histo,
31  const Array& densityEstimate,
32  const Array& leaveOneOutEstimate,
33  const AbsPolyFilterND& filterUsed) const;
34 
35  // Weighted samples
36  virtual double operator()(
37  const HistoND<Num>& histo,
38  double effectiveSampleSize,
39  const Array& densityEstimate,
40  const Array& leaveOneOutEstimate,
41  const AbsPolyFilterND& filterUsed) const;
42  };
43 }
44 
45 #include "npstat/stat/BandwidthGCVLeastSquaresND.icc"
46 
47 #endif // NPSTAT_BANDWIDTHGCVLEASTSQUARESND_HH_
Interface definitions for cross-validation with grouped data.
Definition: HistoND.hh:46
Definition: AbsArrayProjector.hh:14
Definition: AbsBandwidthGCV.hh:118
Definition: AbsPolyFilterND.hh:27
Definition: BandwidthGCVLeastSquaresND.hh:25
virtual double operator()(const HistoND< Num > &histo, const Array &densityEstimate, const Array &leaveOneOutEstimate, const AbsPolyFilterND &filterUsed) const
virtual double operator()(const HistoND< Num > &histo, double effectiveSampleSize, const Array &densityEstimate, const Array &leaveOneOutEstimate, const AbsPolyFilterND &filterUsed) const