|
| DEHistogram (double a, double b, int numBins) |
| Constructs a histogram estimator over the interval \([a,b]\) with numBins number of bins. More...
|
|
| DEHistogram (double[] data, double a, double b, int numBins) |
| Constructs a histogram over the interval \([a,b]\) with numBins number of bins from the observations passed in data. More...
|
|
| DEHistogram (TallyHistogram tallyHist) |
| Constructs a histogram from a umontreal.ssj.stat.TallyHistogram tallyHist. More...
|
|
| DEHistogram (ScaledHistogram scaledHist) |
| Constructs a histogram from a umontreal.ssj.stat.ScaledHistogram scaledHist. More...
|
|
void | setData (double[] data) |
| Takes the observations in data and constructs and redefines the histogram with these observations. More...
|
|
ScaledHistogram | getScaledHistogram () |
| Returns the underlying ScaledHistogram . More...
|
|
int | getNumBins () |
| Gives the number of bins \(s\). More...
|
|
double | getH () |
| Gives the bin width \(h\). More...
|
|
double | getA () |
| Gives the left boundary \(a\) of the histogram. More...
|
|
double | getB () |
| Gives the right boundary \(b\) of the histogram. More...
|
|
String | toString () |
|
double | evalDensity (double x) |
|
double [] | evalDensity (double[] evalPoints) |
| Evaluates the histogram estimator at the points in evalPoints. More...
|
|
double [] | evalDensity () |
| Evaluates the histogram density estimator at one point in each bin. More...
|
|
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 double | evalDensity (double x, double[] data, double a, double b, int numBins) |
| Evaluates the histogram with numBins bins over \([a,b]\) which is defined by the observations data at the evaluation point x. More...
|
|
static double [] | evalDensity (double[] evalPoints, double[] data, double a, double b, int numBins) |
| Evaluates the histogram with numBins bins over \([a,b]\) which is defined by the observations data at each of the evaluation points evalPoints and returns the results in an array. More...
|
|
static double [] | evalDensity (double[] data, double a, double b, int numBins) |
| Evaluates the histogram with numBins bins over \([a,b]\) which is defined by the observations data once in each bin and returns the results in an array. More...
|
|
static double [][] | evalDensity (double[][] data, double a, double b, int numBins) |
| Same as evalDensity(double[], double[][], double, double, int) but here, the density is evaluated once in each bin instead of at a given array of evaluation points. More...
|
|
static double [][] | evalDensity (double evalPoints[], double[][] data, double a, double b, int numBins) |
| Assume that we have \(m\) independent realizations of the underlying model. More...
|
|
static double | evalDensity (double x, TallyHistogram tallyHist) |
| Evaluates a histogram estimator defined by tallylist at x. More...
|
|
static double [] | evalDensity (double[] evalPoints, TallyHistogram tallyHist) |
| Evaluates a histogram estimator defined by tallyHist at the evaluation points evalPoints. More...
|
|
static double [] | evalDensity (TallyHistogram tallyHist) |
| Evaluates a histogram estimator defined by tallyHist once in each bin. More...
|
|
static double [][] | evalDensity (double[] evalPoints, TallyHistogram[] tallyHistArray) |
| This method considers a histogram for each of the \(m\) umontreal.ssj.stat.TallyHistogram from tallyHistArray and evaluates it at \(k\) evaluation points evalPoints. More...
|
|
static double [][] | evalDensity (TallyHistogram[] tallyHistArray) |
| Same as evalDensity(double[], TallyHistogram[]) but this method evaluates each histogram only once in each bin. More...
|
|
static double | evalDensity (double x, ScaledHistogram scaledHist) |
| Evaluates the histogram defined by the umontreal.ssj.stat.ScaledHistogram at x. More...
|
|
static double [] | evalDensity (double[] evalPoints, ScaledHistogram scaledHist) |
| Evaluates the histogram defined by the umontreal.ssj.stat.ScaledHistogram at each evaluation point in evalPoints. More...
|
|
static double [] | evalDensity (ScaledHistogram scaledHist) |
| Same as evalDensity(double[], ScaledHistogram) but evaluation is done once in each bin. More...
|
|
static double [][] | evalDensity (double[] evalPoints, ScaledHistogram[] scaledHistArray) |
| This method considers a histogram for each of the \(m\) umontreal.ssj.stat.ScaledHistogram from scaledHistArray and evaluates it at \(k\) evaluation points evalPoints. More...
|
|
static double [][] | evalDensity (ScaledHistogram[] scaledHistArray) |
| Same as evalDensity(double[], ScaledHistogram[]) but the histograms are evaluated once in each bin. More...
|
|
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...
|
|
Histogram density estimator for a univariate density.
This class provides methods to construct, manipulate, and evaluate a histogram from a set of \(n\) real-valued observations \(x_0,\dots, x_{n-1}\). The constructor of a DEHistogram
object takes the data, a finite interval \([a,b]\) over which we want the histogram, and the number of bins (intervals), and it constructs the histogram as a density estimator over this interval. For that, it computes the number of observations in each bin and rescales the heights of the bins so that the total area of the histogram is equal to the proportion of the observations that fall into the interval \([a,b]\). When all the observations are in \([a,b]\), then this area should be 1. The density estimator is represented internally as a umontreal.ssj.stat.ScaledHistogram, which can be recovered by the getScaledHistogram()
method.
More specifically, if we ask for \(s\) bins over the interval \([a,b]\), then the interval is partitioned over \(s\) intervals of equal lengths \(h=(b-a)/s\), and the density estimator is defined by
\[ \hat{f}_{n}(x) = \hat{f}_{n,h}(x) = \frac{n_j}{nh}, \quad\text{ for } x\in[a+(j-1)h, a+jh), \qquad j=1,\dots,s. \]
where \(n_j\) denotes the number of observations that fall in interval \(j\). Observe that changing \([a,b]\), \(h\), or \(s\) changes the structure of the histogram completely. Thus, after altering any of these parameters the histogram needs to be constructed afresh.
The constructor can take as input an array that contains the raw data, together with the parameters \(a, b, s\). It can also take a umontreal.ssj.stat.TallyHistogram or a umontreal.ssj.stat.ScaledHistogram instead.
This class also offers several static methods so that the user can simply evaluate the density based on a set of observations, a TallyHistogram
or a ScaledHistogram
without having to construct a histogram object.
Since histograms are constant within one bin, it is sometimes sufficient to evaluate them only once per bin. To this end, this class provides methods to evaluate the density estimator once in each bin, without having to explicitly specify an array of evaluation points.
It needs to be added that, due to the fact that the partition into \(s\) bins relies on half-open intervals, the boundary \(b\) is not included in any of these intervals. Since the probability of an observation being exactly equal to \(b\) is zero, we can effectively ignore this subtlety.