public class EmpiricalQuantiles extends Object implements Serializable, Cloneable
The class EmpiricalQuantiles determines the empirical quantiles, as indicated
in the array qProp
, from the data in x
. The algorithm first checks to
see if x
is sorted; if x
is not sorted, the algorithm
does either a complete or partial sort, depending on how many order
statistics are required to compute the quantiles requested.
The algorithm returns the empirical quantiles and, for each quantile, the two
order statistics from the sample that are at least as large and at least as
small as the quantile. For a sample of size n, the quantile corresponding to
the proportion p is defined as
$$Q(p) = (1 - f)x_{(j)} + fx_{(j+1)} $$
where \(j = \lfloor p(n+1) \rfloor \),
\(f = p(n+1) - j\), and
\(x_{(j)}\),
is the j-th order statistic, if
\(1 \leq j \le n\);
otherwise, the empirical quantile is the smallest or largest order statistic.
Modifier and Type | Class and Description |
---|---|
static class |
EmpiricalQuantiles.ScaleFactorZeroException
The computations cannot continue because a scale factor is zero.
|
Constructor and Description |
---|
EmpiricalQuantiles(double[] x,
double[] qProp)
Constructor for
EmpiricalQuantiles . |
Modifier and Type | Method and Description |
---|---|
double[] |
getQ()
Returns the empirical quantiles.
|
int |
getTotalMissing()
Returns the total number of missing values.
|
double[] |
getXHi()
Returns the smallest element of
x greater than or
equal to the desired quantile. |
double[] |
getXLo()
Returns the largest element of
x less than or equal to the
desired quantile. |
public EmpiricalQuantiles(double[] x, double[] qProp)
EmpiricalQuantiles
.x
- A double
array containing the data.qProp
- A double
array containing the quantile proportions.public int getTotalMissing()
int
scalar value representing the total number
of missing values (NaN) in input x
.public final double[] getQ()
double
array containing the empirical
quantiles.
Q[i]
corresponds to the empirical quantile at
proportion qProp[i]
. The quantiles are determined by
linear interpolation between adjacent ordered sample values.public final double[] getXLo()
x
less than or equal to the
desired quantile.double
array containing the largest element
of x
less than or equal to the desired quantile.public final double[] getXHi()
x
greater than or
equal to the desired quantile.double
array containing the smallest element
of x
greater than or equal to the desired quantile.Copyright © 2020 Rogue Wave Software. All rights reserved.