SSJ  3.3.1
Stochastic Simulation in Java
Public Member Functions | Static Public Member Functions | List of all members
DEDerivativeGaussian Class Reference

This class implements a density derivative estimator (DDE) with a Gaussian ( i.e., standard normal) kernel function. More...

Inheritance diagram for DEDerivativeGaussian:
[legend]
Collaboration diagram for DEDerivativeGaussian:
[legend]

Public Member Functions

 DEDerivativeGaussian (int order)
 Constructs a DDE with a Gaussian kernel function of order order. More...
 
 DEDerivativeGaussian (int order, double[] data)
 Constructs a DDE with a Gaussian kernel function of order order based on the observations data. More...
 
 DEDerivativeGaussian (double h)
 Constructs a DDE with a Gaussian kernel function with bandwidth h. More...
 
 DEDerivativeGaussian (double h, double[] data)
 Constructs a DDE with a Gaussian kernel function with bandwidth h based on the observations data. More...
 
 DEDerivativeGaussian (int order, double h)
 Constructs a DDE with a Gaussian kernel function of order order and bandwidth h. More...
 
 DEDerivativeGaussian (int order, double h, double [] data)
 Constructs a DDE with a Gaussian kernel function of order order and bandwidth h based on the observations data. More...
 
double evalDensity (double x)
 Evaluates the DDE at the point x. More...
 
double [] evalDensity (double[] evalPoints)
 Evaluates the DDE at all the points in evalPoints and the resulting values are returned in an array. More...
 
String toString ()
 
- Public Member Functions inherited from DensityDerivativeEstimator
int getOrder ()
 Gives the order \(r\) of the DDE. More...
 
void setOrder (int order)
 Sets the order \(r\) of the DDE to order. More...
 
double getH ()
 Gives the current bandwidth \(h\). More...
 
void setH (double h)
 Sets the bandwidth \(h\) to h. More...
 
void setData (double[] data)
 
String toString ()
 
- Public Member Functions inherited from DensityEstimator
abstract void setData (double[] data)
 Sets the observations for the density estimator do data. More...
 
double [] getData ()
 Gives the observations for this density estimator, if any. More...
 
abstract double evalDensity (double x)
 Evaluates the density estimator at x. More...
 
double [] evalDensity (double[] evalPoints)
 Evaluates the density estimator at the points in evalPoints. More...
 
double [] evalDensity (double[] evalPoints, double[] data)
 Sets the observations for the density estimator to data and evaluates the density at each point in evalPoints. More...
 
double [][] evalDensity (double[] evalPoints, double[][] data)
 This method is particularly designed to evaluate the density estimator in such a way that the result can be easily used to estimate the empirical IV and other convergence-related quantities. More...
 
abstract String toString ()
 Gives a short description of the estimator. More...
 

Static Public Member Functions

static double evalDensity (double x, int order, double h, double [] data)
 Evaluates the DDE of order order with bandwidth h which is defined by the observations data at the evaluation point x. More...
 
static double [] evalDensity (double[] evalPoints, int order, double h, double [] data)
 Evaluates the DDE of order order with bandwidth h which is defined by the observations data at each of the evaluation points in evalPoints. More...
 
static double [][] evalDensity (double[] evalPoints, int order, double h, double [][] data)
 Assume that we have \(m\) independent realizations of the underlying model. More...
 
static double hermitePoly (int r, double x)
 Computes the probabilist's Hermite polynomial of order r at x, which is defined by the recursion

\[H_{r+1}(x)= x H_r(x) - r H_{r-1}(x) \]

with initial values \(H_0(x) = 0\), \(H_1(x) = x\). More...

 
- Static Public Member Functions inherited from DensityDerivativeEstimator
static double hAmiseR (int r, double mu2, double mu2Derivative, double init, int n)
 Given a value init for the roughness functional of \( f^{(r+2)}\), mu2 the second moment of the kernel function \(K\), and mu2Derivative the second moment of \(K^{(r)}\), this method computes the asymptotically optimal bandwidth for the DDE based on \(n\) observations simulated by Monte Carlo for the \(r\)-th derivative of the sought density \(f\). More...
 
static double hAmiseR (int r, int t, double mu2, double[] mu2Derivative, double init, DensityDerivativeEstimator dde, double[] evalPoints, double a, double b)
 Given an estimate of \(R(f^{(r+2t)})\) via init as initial value, this function iterates over (hopt) \(t\) times to obtain the asymptotically optimal bandwidth for the DDE based on \(n\) observations simulated by Monte Carlo for the \(r\)-th derivative of the sought density \(f\). More...
 
static double densityFunctionalGaussian (int r, double sigma)
 Computes \(\Phi_{2r}(p)\), i.e. More...
 
- Static Public Member Functions inherited from DensityEstimator
static void evalDensity (ArrayList< DensityEstimator > listDE, double[] evalPoints, double[][] data, ArrayList< double[][]> listDensity)
 This function is particularly designed for experiments with many different types of density estimators, as it evaluates all of these estimators at the points in evalPoints. More...
 
static double [] computeVariance (double[][] density)
 This method computes the empirical variance based on the values given in data. More...
 
static double computeIV (double[][] density, double a, double b, double[] variance)
 This method estimates the empirical IV over the interval \([a,b]\). More...
 
static void computeIV (ArrayList< double[][]> listDensity, double a, double b, ArrayList< Double > listIV)
 This method estimates the empirical IV over the interval \([a,b]\) for a collection of different estimators. More...
 
static double [] computeMISE (ContinuousDistribution dist, double[] evalPoints, double[][] density, double a, double b, double[] variance, double[] sqBias, double[] mse)
 In situations where the true density is known this method can estimate the empirical MISE over the interval \([a,b]\). More...
 
static void computeMISE (ContinuousDistribution dist, double[] evalPoints, ArrayList< double[][]> listDensity, double a, double b, ArrayList< double[]> listMISE)
 This method estimates the empirical MISE over the interval \([a,b]\) for a collection of different estimators. More...
 
static String plotDensity (double[] evalPoints, double[] density, String plotTitle, String[] axisTitles)
 Gives a plot of the estimated density. More...
 
static double roughnessFunctional (double[] density, double a, double b)
 Estimates the roughness functional. More...
 

Additional Inherited Members

- Protected Attributes inherited from DensityEstimator
double [] data
 The data associated with this DensityEstimator object, if any.
 

Detailed Description

This class implements a density derivative estimator (DDE) with a Gaussian ( i.e., standard normal) kernel function.

While many general methods are already handled by its superclass, this class is mainly concerned with the construction and evaluation of this kind of DDE. The formula specific to a Gaussian DDE is given by

\[ \hat{f}^{(r)}_{n,h}(x) = \frac{(-1)^r}{n h^{r+1}}\sum_{i=0}^{n-1} \phi \left( \frac{x-X_i}{h}\right) H_r\left( \frac{x-X_i}{h}\right), \]

where \(H_r\) denotes the probabilist's Hermite polynomial of order \(r\) and \(\phi\) denotes the standard normal density.

This class also offers static methods so that the user can simply evaluate the density based on a set of observations without having to construct a KDE.

Constructor & Destructor Documentation

◆ DEDerivativeGaussian() [1/6]

DEDerivativeGaussian ( int  order)

Constructs a DDE with a Gaussian kernel function of order order.

Parameters
orderthe order of the derivative considered.

◆ DEDerivativeGaussian() [2/6]

DEDerivativeGaussian ( int  order,
double []  data 
)

Constructs a DDE with a Gaussian kernel function of order order based on the observations data.

Parameters
orderorder the order of the derivative considered.
datathe observations.

◆ DEDerivativeGaussian() [3/6]

DEDerivativeGaussian ( double  h)

Constructs a DDE with a Gaussian kernel function with bandwidth h.

Parameters
hthe bandwidth.

◆ DEDerivativeGaussian() [4/6]

DEDerivativeGaussian ( double  h,
double []  data 
)

Constructs a DDE with a Gaussian kernel function with bandwidth h based on the observations data.

Parameters
hthe bandwidth.
datathe observations.

◆ DEDerivativeGaussian() [5/6]

DEDerivativeGaussian ( int  order,
double  h 
)

Constructs a DDE with a Gaussian kernel function of order order and bandwidth h.

Parameters
hthe bandwidth.
orderthe order of the derivative considered.

◆ DEDerivativeGaussian() [6/6]

DEDerivativeGaussian ( int  order,
double  h,
double []  data 
)

Constructs a DDE with a Gaussian kernel function of order order and bandwidth h based on the observations data.

Parameters
orderthe order of the derivative considered.
hthe bandwidth.
datathe observations.

Member Function Documentation

◆ evalDensity() [1/5]

double evalDensity ( double  x)

Evaluates the DDE at the point x.

Parameters
xthe evaluation point.
Returns
the DDE evaluated at x.

◆ evalDensity() [2/5]

double [] evalDensity ( double []  evalPoints)

Evaluates the DDE at all the points in evalPoints and the resulting values are returned in an array.

Parameters
evalPointsthe evaluation points.
Returns
the DDE evaluated at the points evalPoints.

◆ evalDensity() [3/5]

static double evalDensity ( double  x,
int  order,
double  h,
double []  data 
)
static

Evaluates the DDE of order order with bandwidth h which is defined by the observations data at the evaluation point x.

Parameters
xthe evaluation point.
orderthe order of the DDE.
hthe bandwidth.
datathe observations.
Returns
The DDE defined by the above parameters evaluated at x

◆ evalDensity() [4/5]

static double [] evalDensity ( double []  evalPoints,
int  order,
double  h,
double []  data 
)
static

Evaluates the DDE of order order with bandwidth h which is defined by the observations data at each of the evaluation points in evalPoints.

Parameters
evalPointsthe evaluation points.
orderthe order of the DDE.
hthe bandwidth.
datathe observations.
Returns
The DDE defined by the above parameters evaluated at each point in evalPoint.

◆ evalDensity() [5/5]

static double [][] evalDensity ( double []  evalPoints,
int  order,
double  h,
double  data[][] 
)
static

Assume that we have \(m\) independent realizations of the underlying model.

For each such realization this method evaluates a DDE of order order with bandwidth h at the points from evalPoints. The independent realizations are passed via the 2-dimensional \(m\times n\) array data, where \(n\) denotes the number of observations per realization. Hence, its first index identifies the independent realization while its second index identifies a specific observation of this realization.

The result is returned as a \(m\times k\) matrix, where \(k \) is the number of evaluation points, i.e., the length of evalPoints. The first index, again, identifies the independent realization whereas the second index corresponds to the point of evalPoints at which the DDE was evaluated.

Parameters
evalPointsthe evaluation points.
orderthe order of the DDE.
hthe bandwidth.
datathe observations.
Returns
the DDE for each realization evaluated at evalPoints.

◆ hermitePoly()

static double hermitePoly ( int  r,
double  x 
)
static

Computes the probabilist's Hermite polynomial of order r at x, which is defined by the recursion

\[H_{r+1}(x)= x H_r(x) - r H_{r-1}(x) \]

with initial values \(H_0(x) = 0\), \(H_1(x) = x\).

Parameters
rthe order of the Hermite polynomial.
xthe evaluation point.
Returns
the probabilist's Hermite polynomial.
Remarks
Florian: This should probably be located elsewhere.

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