public class StandardDeviation extends AbstractStorelessUnivariateStatistic implements java.io.Serializable
Variance
instance. The isBiasCorrected
property of the
wrapped Variance instance is exposed, so that this class can be used to
compute both the "sample standard deviation" (the square root of the
bias-corrected "sample variance") or the "population standard deviation"
(the square root of the non-bias-corrected "population variance"). See
Variance
for more information.
Note that this implementation is not synchronized. If
multiple threads access an instance of this class concurrently, and at least
one of the threads invokes the increment()
or
clear()
method, it must be synchronized externally.
Constructor and Description |
---|
StandardDeviation()
Constructs a StandardDeviation.
|
StandardDeviation(boolean isBiasCorrected)
Contructs a StandardDeviation with the specified value for the
isBiasCorrected property. |
StandardDeviation(boolean isBiasCorrected,
SecondMoment m2)
Contructs a StandardDeviation with the specified value for the
isBiasCorrected property and the supplied external moment. |
StandardDeviation(SecondMoment m2)
Constructs a StandardDeviation from an external second moment.
|
StandardDeviation(StandardDeviation original)
Copy constructor, creates a new
StandardDeviation identical
to the original |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears the internal state of the Statistic
|
StandardDeviation |
copy()
Returns a copy of the statistic with the same internal state.
|
static void |
copy(StandardDeviation source,
StandardDeviation dest)
Copies source to dest.
|
double |
evaluate(double[] values)
Returns the Standard Deviation of the entries in the input array, or
Double.NaN if the array is empty. |
double |
evaluate(double[] values,
double mean)
Returns the Standard Deviation of the entries in the input array, using
the precomputed mean value.
|
double |
evaluate(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.
|
double |
evaluate(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. |
long |
getN()
Returns the number of values that have been added.
|
double |
getResult()
Returns the current value of the Statistic.
|
void |
increment(double d)
Updates the internal state of the statistic to reflect the addition of the new value.
|
boolean |
isBiasCorrected() |
void |
setBiasCorrected(boolean isBiasCorrected) |
equals, hashCode, incrementAll, incrementAll
evaluate, getData, setData, setData
public StandardDeviation()
Variance
instance's isBiasCorrected
property to true.public StandardDeviation(SecondMoment m2)
m2
- the external momentpublic StandardDeviation(StandardDeviation original)
StandardDeviation
identical
to the original
original
- the StandardDeviation
instance to copypublic StandardDeviation(boolean isBiasCorrected)
isBiasCorrected
property. If this property is set to
true
, the Variance
used in computing results will
use the bias-corrected, or "sample" formula. See Variance
for
details.isBiasCorrected
- whether or not the variance computation will use
the bias-corrected formulapublic StandardDeviation(boolean isBiasCorrected, SecondMoment m2)
isBiasCorrected
property and the supplied external moment.
If isBiasCorrected
is set to true
, the
Variance
used in computing results will use the bias-corrected,
or "sample" formula. See Variance
for details.isBiasCorrected
- whether or not the variance computation will use
the bias-corrected formulam2
- the external momentpublic void increment(double d)
increment
in interface StorelessUnivariateStatistic
increment
in class AbstractStorelessUnivariateStatistic
d
- the new value.public long getN()
getN
in interface StorelessUnivariateStatistic
public double getResult()
getResult
in interface StorelessUnivariateStatistic
getResult
in class AbstractStorelessUnivariateStatistic
Double.NaN
if it
has been cleared or just instantiated.public void clear()
clear
in interface StorelessUnivariateStatistic
clear
in class AbstractStorelessUnivariateStatistic
public double evaluate(double[] values)
Double.NaN
if the array is empty.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws IllegalArgumentException
if the array is null.
Does not change the internal state of the statistic.
evaluate
in interface UnivariateStatistic
evaluate
in class AbstractStorelessUnivariateStatistic
values
- the input arrayjava.lang.IllegalArgumentException
- if the array is nullUnivariateStatistic.evaluate(double[])
public double evaluate(double[] values, int begin, int length)
Double.NaN
if the designated subarray
is empty.
Returns 0 for a single-value (i.e. length = 1) sample.
Throws IllegalArgumentException
if the array is null.
Does not change the internal state of the statistic.
evaluate
in interface UnivariateStatistic
evaluate
in class AbstractStorelessUnivariateStatistic
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to includejava.lang.IllegalArgumentException
- if the array is null or the array index
parameters are not validUnivariateStatistic.evaluate(double[], int, int)
public double evaluate(double[] values, double mean, int begin, int length)
Double.NaN
if the designated subarray is empty.
Returns 0 for a single-value (i.e. length = 1) sample.
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.
Throws IllegalArgumentException
if the array is null.
Does not change the internal state of the statistic.
values
- the input arraymean
- the precomputed mean valuebegin
- index of the first array element to includelength
- the number of elements to includejava.lang.IllegalArgumentException
- if the array is null or the array index
parameters are not validpublic double evaluate(double[] values, double mean)
Double.NaN
if the designated subarray is empty.
Returns 0 for a single-value (i.e. length = 1) sample.
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.
Throws IllegalArgumentException
if the array is null.
Does not change the internal state of the statistic.
values
- the input arraymean
- the precomputed mean valuejava.lang.IllegalArgumentException
- if the array is nullpublic boolean isBiasCorrected()
public void setBiasCorrected(boolean isBiasCorrected)
isBiasCorrected
- The isBiasCorrected to set.public StandardDeviation copy()
copy
in interface StorelessUnivariateStatistic
copy
in interface UnivariateStatistic
copy
in class AbstractStorelessUnivariateStatistic
public static void copy(StandardDeviation source, StandardDeviation dest)
Neither source nor dest can be null.
source
- StandardDeviation to copydest
- StandardDeviation to copy tojava.lang.NullPointerException
- if either source or dest is nullCopyright © 2010 - 2020 Adobe. All Rights Reserved