npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::CensoredQuantileRegressionOnKDTree< Point, Numeric > Class Template Reference

#include <CensoredQuantileRegression.hh>

Inheritance diagram for npstat::CensoredQuantileRegressionOnKDTree< Point, Numeric >:
npstat::QuantileRegressionOnKDTree< Point, Numeric > npstat::QuantileRegressionBase< Numeric > npstat::AbsVisitor< Point, double >

Public Member Functions

 CensoredQuantileRegressionOnKDTree (const KDTree< Point, Numeric > &dataTree, const Functor1< double, Point > &regressedValue, const Functor1< CensoringInfo, Point > &censoringInfo, const QuadraticOrthoPolyND &poly, double quantile, double valueLimit)
 
virtual void process (const Point &value)
 
- Public Member Functions inherited from npstat::QuantileRegressionOnKDTree< Point, Numeric >
 QuantileRegressionOnKDTree (const KDTree< Point, Numeric > &dataTree, const Functor1< double, Point > &regressedValue, const QuadraticOrthoPolyND &poly, double quantile)
 
const KDTree< Point, Numeric > & getDataTree () const
 
virtual void clear ()
 
virtual double result ()
 
- Public Member Functions inherited from npstat::QuantileRegressionBase< Numeric >
 QuantileRegressionBase (const QuadraticOrthoPolyND &poly, double quantile)
 
unsigned dim () const
 
double quantile () const
 
const QuadraticOrthoPolyNDgetPoly () const
 
const std::vector< double > & lastCoeffs () const
 
void setRegressionBox (const BoxND< Numeric > &box)
 
void setLinearMapping (const double *location, const double *scale, unsigned locationAndScaleArraySize)
 
void empiricalC0 (double *c0, double *c0Uncertainty, double *npoints)
 
double linearLoss (const double *coeffs, unsigned nCoeffs)
 

Additional Inherited Members

- Protected Member Functions inherited from npstat::QuantileRegressionBase< Numeric >
void resetAccumulators ()
 
- Protected Attributes inherited from npstat::QuantileRegressionOnKDTree< Point, Numeric >
const KDTree< Point, Numeric > & dataTree_
 
const Functor1< double, Point > & regressedValue_
 
- Protected Attributes inherited from npstat::QuantileRegressionBase< Numeric >
const QuadraticOrthoPolyNDpoly_
 
BoxND< Numeric > regressionBox_
 
std::vector< double > location_
 
std::vector< double > scale_
 
std::vector< double > coords_
 
std::vector< double > coeffs_
 
long double loss_
 
const double quantile_
 
const double onemq_
 
const unsigned mydim_
 

Detailed Description

template<class Point, class Numeric>
class npstat::CensoredQuantileRegressionOnKDTree< Point, Numeric >

Class that facilitates censored quantile regression on data samples arranged into a k-d tree structure

Constructor & Destructor Documentation

◆ CensoredQuantileRegressionOnKDTree()

template<class Point , class Numeric >
npstat::CensoredQuantileRegressionOnKDTree< Point, Numeric >::CensoredQuantileRegressionOnKDTree ( const KDTree< Point, Numeric > &  dataTree,
const Functor1< double, Point > &  regressedValue,
const Functor1< CensoringInfo, Point > &  censoringInfo,
const QuadraticOrthoPolyND poly,
double  quantile,
double  valueLimit 
)

Constructor arguments are as follows:

dataTree – the tree of data points.

regressedValue – a functor that provides the observed value for the given input point. Typically, this value will be just one of the Point coordinates not used in k-d tree construction.

censoringInfo – a functor that provides information about censoring for the goven point.

poly – the set of orthogonal polynomials used to construct the local regression surface.

quantile – the target quantile (between 0.0 and 1.0).

The "valueLimit" parameter plays the role of a far-away point which for sure lies below all uncut response values if the cut was response > cutoff or above all uncut values if the cut was response < cutoff. This limit should not be chosen extremely far away from the realistically possible response values because such a limit will contribute too much to the loss function and the loss value calculation will suffer excessively from round-off errors.

This object will not own "dataTree", "regressedValue", "censoringInfo", or "poly" objects. These objects must still exist when the CensoredQuantileRegressionOnKDTree object is in use.

Member Function Documentation

◆ process()

template<class Point , class Numeric >
virtual void npstat::CensoredQuantileRegressionOnKDTree< Point, Numeric >::process ( const Point &  value)
virtual

Method from AbsVisitor that we have to implement

Reimplemented from npstat::QuantileRegressionOnKDTree< Point, Numeric >.


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