|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.math3.stat.StatUtils
public final class StatUtils
StatUtils provides static methods for computing statistics based on data stored in double[] arrays.
Method Summary | |
---|---|
static double |
geometricMean(double[] values)
Returns the geometric mean of the entries in the input array, or Double.NaN if the array is empty. |
static double |
geometricMean(double[] values,
int begin,
int length)
Returns the geometric mean of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
max(double[] values)
Returns the maximum of the entries in the input array, or Double.NaN if the array is empty. |
static double |
max(double[] values,
int begin,
int length)
Returns the maximum of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
mean(double[] values)
Returns the arithmetic mean of the entries in the input array, or Double.NaN if the array is empty. |
static double |
mean(double[] values,
int begin,
int length)
Returns the arithmetic mean of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
meanDifference(double[] sample1,
double[] sample2)
Returns the mean of the (signed) differences between corresponding elements of the input arrays -- i.e., sum(sample1[i] - sample2[i]) / sample1.length. |
static double |
median(double[] values)
Returns an estimate of the median of the values in the values array. |
static double |
median(double[] values,
int begin,
int length)
Returns an estimate of the median of the values in the values
array, starting with the element in (0-based) position begin
in the array and including length values |
static double |
min(double[] values)
Returns the minimum of the entries in the input array, or Double.NaN if the array is empty. |
static double |
min(double[] values,
int begin,
int length)
Returns the minimum of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double[] |
normalize(double[] sample)
Normalize (standardize) the sample, so it is has a mean of 0 and a standard deviation of 1. |
static double |
percentile(double[] values,
double p)
Returns an estimate of the p th percentile of the values
in the values array. |
static double |
percentile(double[] values,
int begin,
int length,
double p)
Returns an estimate of the p th percentile of the values
in the values array, starting with the element in (0-based)
position begin in the array and including length
values. |
static double |
populationVariance(double[] values)
Returns the population variance of the entries in the input array, or Double.NaN if the array is empty. |
static double |
populationVariance(double[] values,
double mean)
Returns the population variance of the entries in the input array, using the precomputed mean value. |
static double |
populationVariance(double[] values,
double mean,
int begin,
int length)
Returns the population variance of the entries in the specified portion of the input array, using the precomputed mean value. |
static double |
populationVariance(double[] values,
int begin,
int length)
Returns the population variance of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
product(double[] values)
Returns the product of the entries in the input array, or Double.NaN if the array is empty. |
static double |
product(double[] values,
int begin,
int length)
Returns the product of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
quadraticMean(double[] values)
Returns the quadratic mean of the entries in the input array, or Double.NaN if the array is empty. |
static double |
quadraticMean(double[] values,
int begin,
int length)
Returns the quadratic mean of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
standardDeviation(double[] values)
Returns the standard deviation of the entries in the input array, or Double.NaN if the array is empty. |
static double |
standardDeviation(double[] values,
double mean)
Returns the standard deviation of the entries in the input array, using the precomputed mean value. |
static double |
standardDeviation(double[] values,
double mean,
int begin,
int length)
Returns the standard deviation of the entries in the specified portion of the input array, using the precomputed mean value. |
static double |
standardDeviation(double[] values,
int begin,
int length)
Returns the standard deviation of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
sum(double[] values)
Returns the sum of the values in the input array, or Double.NaN if the array is empty. |
static double |
sum(double[] values,
int begin,
int length)
Returns the sum of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
sumDifference(double[] sample1,
double[] sample2)
Returns the sum of the (signed) differences between corresponding elements of the input arrays -- i.e., sum(sample1[i] - sample2[i]). |
static double |
sumLog(double[] values)
Returns the sum of the natural logs of the entries in the input array, or Double.NaN if the array is empty. |
static double |
sumLog(double[] values,
int begin,
int length)
Returns the sum of the natural logs of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
sumSq(double[] values)
Returns the sum of the squares of the entries in the input array, or Double.NaN if the array is empty. |
static double |
sumSq(double[] values,
int begin,
int length)
Returns the sum of the squares of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
variance(double[] values)
Returns the variance of the entries in the input array, or Double.NaN if the array is empty. |
static double |
variance(double[] values,
double mean)
Returns the variance of the entries in the input array, using the precomputed mean value. |
static double |
variance(double[] values,
double mean,
int begin,
int length)
Returns the variance of the entries in the specified portion of the input array, using the precomputed mean value. |
static double |
variance(double[] values,
int begin,
int length)
Returns the variance of the entries in the specified portion of the input array, or Double.NaN if the designated subarray
is empty. |
static double |
varianceDifference(double[] sample1,
double[] sample2,
double meanDifference)
Returns the variance of the (signed) differences between corresponding elements of the input arrays -- i.e., var(sample1[i] - sample2[i]). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static double sum(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws IllegalArgumentException
if the input array
is null.
values
- array of values to sum
Double.NaN
if the array
is empty
MathIllegalArgumentException
- if the array is nullpublic static double sum(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws IllegalArgumentException
if the array is null.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double sumSq(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws IllegalArgumentException
if the array is null.
values
- input array
Double.NaN
if the
array is empty
MathIllegalArgumentException
- if the array is nullpublic static double sumSq(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws IllegalArgumentException
if the array is null.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double product(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws IllegalArgumentException
if the array is null.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double product(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws IllegalArgumentException
if the array is null.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double sumLog(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws IllegalArgumentException
if the array is null.
See SumOfLogs
.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double sumLog(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws IllegalArgumentException
if the array is null.
See SumOfLogs
.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double mean(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws IllegalArgumentException
if the array is null.
See Mean
for
details on the computing algorithm.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double mean(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws IllegalArgumentException
if the array is null.
See Mean
for
details on the computing algorithm.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double quadraticMean(double[] values)
Double.NaN
if the array is empty.
Throws IllegalArgumentException
if the array is null.
values
- the input array
IllegalArgumentException
- if the array is nullpublic static double quadraticMean(double[] values, int begin, int length)
Double.NaN
if the designated subarray
is empty.
Throws IllegalArgumentException
if the array is null or the
array index parameters are not valid
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
IllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double geometricMean(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws IllegalArgumentException
if the array is null.
See GeometricMean
for details on the computing algorithm.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double geometricMean(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws IllegalArgumentException
if the array is null.
See GeometricMean
for details on the computing algorithm.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double variance(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
This method returns the bias-corrected sample variance (using n - 1
in
the denominator). Use populationVariance(double[])
for the non-bias-corrected
population variance.
See Variance
for
details on the computing algorithm.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double variance(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
This method returns the bias-corrected sample variance (using n - 1
in
the denominator). Use populationVariance(double[], int, int)
for the non-bias-corrected
population variance.
See Variance
for
details on the computing algorithm.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null or the
array index parameters are not valid.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double variance(double[] values, double mean, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray is empty.
This method returns the bias-corrected sample variance (using n - 1
in
the denominator). Use populationVariance(double[], double, int, int)
for the non-bias-corrected
population variance.
See Variance
for
details on the computing algorithm.
The formula used assumes that the supplied mean value is the arithmetic mean of the sample data, not a known population parameter. This method is supplied only to save computation when the mean has already been computed.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null or the
array index parameters are not valid.
values
- the input arraymean
- the precomputed mean valuebegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double variance(double[] values, double mean) throws MathIllegalArgumentException
Double.NaN
if the array
is empty.
This method returns the bias-corrected sample variance (using n - 1
in
the denominator). Use populationVariance(double[], double)
for the non-bias-corrected
population variance.
See Variance
for
details on the computing algorithm.
The formula used assumes that the supplied mean value is the arithmetic mean of the sample data, not a known population parameter. This method is supplied only to save computation when the mean has already been computed.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null.
values
- the input arraymean
- the precomputed mean value
MathIllegalArgumentException
- if the array is nullpublic static double standardDeviation(double[] values)
Double.NaN
if the array is empty.
See StandardDeviation
for
details on the computing algorithm.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws IllegalArgumentException
if the array is null.
values
- the input array
IllegalArgumentException
- if the array is nullpublic static double standardDeviation(double[] values, int begin, int length)
Double.NaN
if the designated subarray
is empty.
See StandardDeviation
for
details on the computing algorithm.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws IllegalArgumentException
if the array is null or the
array index parameters are not valid.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
IllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double standardDeviation(double[] values, double mean, int begin, int length)
Double.NaN
if the designated subarray is empty.
See StandardDeviation
for
details on the computing algorithm.
The formula used assumes that the supplied mean value is the arithmetic mean of the sample data, not a known population parameter. This method is supplied only to save computation when the mean has already been computed.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws IllegalArgumentException
if the array is null or the
array index parameters are not valid.
values
- the input arraymean
- the precomputed mean valuebegin
- index of the first array element to includelength
- the number of elements to include
IllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double standardDeviation(double[] values, double mean)
Double.NaN
if the array
is empty.
See StandardDeviation
for
details on the computing algorithm.
The formula used assumes that the supplied mean value is the arithmetic mean of the sample data, not a known population parameter. This method is supplied only to save computation when the mean has already been computed.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws IllegalArgumentException
if the array is null.
values
- the input arraymean
- the precomputed mean value
IllegalArgumentException
- if the array is nullpublic static double populationVariance(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
See Variance
for
details on the formula and computing algorithm.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double populationVariance(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
See Variance
for
details on the computing algorithm.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null or the
array index parameters are not valid.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double populationVariance(double[] values, double mean, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray is empty.
See Variance
for
details on the computing algorithm.
The formula used assumes that the supplied mean value is the arithmetic mean of the sample data, not a known population parameter. This method is supplied only to save computation when the mean has already been computed.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null or the
array index parameters are not valid.
values
- the input arraymean
- the precomputed mean valuebegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double populationVariance(double[] values, double mean) throws MathIllegalArgumentException
Double.NaN
if the array
is empty.
See Variance
for
details on the computing algorithm.
The formula used assumes that the supplied mean value is the arithmetic mean of the sample data, not a known population parameter. This method is supplied only to save computation when the mean has already been computed.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws MathIllegalArgumentException
if the array is null.
values
- the input arraymean
- the precomputed mean value
MathIllegalArgumentException
- if the array is nullpublic static double max(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws MathIllegalArgumentException
if the array is null.
NaN
iff all values are NaN
(i.e. NaN
values have no impact on the value of the statistic).Double.POSITIVE_INFINITY
,
the result is Double.POSITIVE_INFINITY.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double max(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws MathIllegalArgumentException
if the array is null or
the array index parameters are not valid.
NaN
iff all values are NaN
(i.e. NaN
values have no impact on the value of the statistic).Double.POSITIVE_INFINITY
,
the result is Double.POSITIVE_INFINITY.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double min(double[] values) throws MathIllegalArgumentException
Double.NaN
if the array is empty.
Throws MathIllegalArgumentException
if the array is null.
NaN
iff all values are NaN
(i.e. NaN
values have no impact on the value of the statistic).Double.NEGATIVE_INFINITY
,
the result is Double.NEGATIVE_INFINITY.
values
- the input array
MathIllegalArgumentException
- if the array is nullpublic static double min(double[] values, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Throws MathIllegalArgumentException
if the array is null or
the array index parameters are not valid.
NaN
iff all values are NaN
(i.e. NaN
values have no impact on the value of the statistic).Double.NEGATIVE_INFINITY
,
the result is Double.NEGATIVE_INFINITY.
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to include
MathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic static double percentile(double[] values, double p) throws MathIllegalArgumentException
p
th percentile of the values
in the values
array.
Double.NaN
if values
has length
0
p
) values[0]
if values
has length 1
IllegalArgumentException
if values
is null or p is not a valid quantile value (p must be greater than 0
and less than or equal to 100)
See Percentile
for
a description of the percentile estimation algorithm used.
values
- input array of valuesp
- the percentile value to compute
MathIllegalArgumentException
- if values
is null
or p is invalidpublic static double percentile(double[] values, int begin, int length, double p) throws MathIllegalArgumentException
p
th percentile of the values
in the values
array, starting with the element in (0-based)
position begin
in the array and including length
values.
Double.NaN
if length = 0
p
) values[begin]
if length = 1
MathIllegalArgumentException
if values
is null , begin
or length
is invalid, or
p
is not a valid quantile value (p must be greater than 0
and less than or equal to 100)
See Percentile
for
a description of the percentile estimation algorithm used.
values
- array of input valuesp
- the percentile to computebegin
- the first (0-based) element to include in the computationlength
- the number of array elements to include
MathIllegalArgumentException
- if the parameters are not valid or the
input array is nullpublic static double median(double[] values)
values
array.
Double.NaN
if values
has length
0
values[0]
if values
has length 1
IllegalArgumentException
if values
is null
See Percentile
for
a description of the median estimation algorithm used.
values
- input array of values
IllegalArgumentException
- if values
is null
or p is invalidpublic static double median(double[] values, int begin, int length)
values
array, starting with the element in (0-based) position begin
in the array and including length
values
Double.NaN
if length = 0
values[begin]
if length = 1
IllegalArgumentException
if values
is null , begin
or length
is invalid
See Percentile
for
a description of the percentile estimation algorithm used.
values
- array of input valuesbegin
- the first (0-based) element to include in the computationlength
- the number of array elements to include
IllegalArgumentException
- if the parameters are not valid or the
input array is nullpublic static double sumDifference(double[] sample1, double[] sample2) throws DimensionMismatchException, NoDataException
sample1
- the first arraysample2
- the second array
DimensionMismatchException
- if the arrays do not have the same
(positive) length.
NoDataException
- if the sample arrays are empty.public static double meanDifference(double[] sample1, double[] sample2) throws DimensionMismatchException, NoDataException
sample1
- the first arraysample2
- the second array
DimensionMismatchException
- if the arrays do not have the same
(positive) length.
NoDataException
- if the sample arrays are empty.public static double varianceDifference(double[] sample1, double[] sample2, double meanDifference) throws DimensionMismatchException, NumberIsTooSmallException
sample1
- the first arraysample2
- the second arraymeanDifference
- the mean difference between corresponding entries
DimensionMismatchException
- if the arrays do not have the same
length.
NumberIsTooSmallException
- if the arrays length is less than 2.meanDifference(double[],double[])
public static double[] normalize(double[] sample)
sample
- Sample to normalize.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |