rehashing
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
AdaptiveRSDiag Class Reference

#include <AdaptiveRSDiag.h>

Inheritance diagram for AdaptiveRSDiag:
AdaptiveEstimator

Public Member Functions

 AdaptiveRSDiag (shared_ptr< MatrixXd > data, shared_ptr< Kernel > k, double lb, double eps)
 
 AdaptiveRSDiag (shared_ptr< MatrixXd > data, shared_ptr< Kernel > k, int samples, double lb, double eps)
 
int findActualLevel (VectorXd &q, double est, double eps)
 
void findRings (int strategy, double eps, VectorXd &q, int level)
 
void getConstants ()
 Precompute.
 
void clearSamples ()
 
double vbRS ()
 
double vbHBE ()
 
- Public Member Functions inherited from AdaptiveEstimator
std::vector< double > query (VectorXd q)
 
void setMedians (int l)
 

Public Attributes

vector< int > samples
 
vector< double > contrib
 
double lambda
 
double l
 
- Public Attributes inherited from AdaptiveEstimator
double totalTime = 0
 

Protected Member Functions

std::vector< double > evaluateQuery (VectorXd q, int level)
 

Additional Inherited Members

- Protected Attributes inherited from AdaptiveEstimator
int numPoints
 
double gamma = 0.5
 
int I
 
int L = 3
 
std::vector< double > mui
 
std::vector< int > Mi
 
std::vector< double > ti
 
std::vector< int > ki
 
std::vector< double > wi
 
double r
 
std::string EXP_STR = "exp"
 

Detailed Description

Diagnostic procedure implemented via adaptive random sampling.

Member Function Documentation

◆ evaluateQuery()

std::vector< double > AdaptiveRSDiag::evaluateQuery ( VectorXd  q,
int  level 
)
protectedvirtual

For subclasses to implement: evaluate density of query q at the given level.

Implements AdaptiveEstimator.

◆ findActualLevel()

int AdaptiveRSDiag::findActualLevel ( VectorXd &  q,
double  est,
double  eps 
)
Parameters
qquery
estfinal estimate from adapative sampling
epsrelative error
Returns
smallest level that we can get an esimate within (1+/-eps) of est

◆ findRings()

void AdaptiveRSDiag::findRings ( int  strategy,
double  eps,
VectorXd &  q,
int  level 
)

Set lambda and l according to different strategies

Parameters
strategy0: S2, S3 = {}; 1: Eq(9), (10)
eps
q
level

◆ vbHBE()

double AdaptiveRSDiag::vbHBE ( )
Returns
variance upper bound for HBE

◆ vbRS()

double AdaptiveRSDiag::vbRS ( )
Returns
variance upper bound for RS

Member Data Documentation

◆ contrib

vector<double> AdaptiveRSDiag::contrib

k(q, x) for each x in S0

◆ l

double AdaptiveRSDiag::l

Eq (10) in the main paper. Used for visualization.

◆ lambda

double AdaptiveRSDiag::lambda

Eq (9) in the main paper. Used for visualization.

◆ samples

vector<int> AdaptiveRSDiag::samples

S0 in Algorithm 1, line 4


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