public class StandardDeviation extends AbstractStorelessUnivariateStatistic implements Serializable
The standard deviation is the positive square root of the variance.
This implementation wraps a 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)
Constructs a StandardDeviation with the specified value for the
isBiasCorrected property. |
StandardDeviation(boolean isBiasCorrected,
SecondMoment m2)
Constructs 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.
|
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() |
StandardDeviation |
withBiasCorrection(boolean biasCorrection)
Returns a new copy of this standard deviation with the given
bias correction setting.
|
equals, hashCode, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
accept, incrementAll, incrementAll
evaluate
andThen
public StandardDeviation()
Variance
instance's isBiasCorrected
property to true.public StandardDeviation(SecondMoment m2)
m2
- the external momentpublic 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 StandardDeviation(StandardDeviation original) throws NullArgumentException
StandardDeviation
identical
to the original
.original
- the StandardDeviation
instance to copyNullArgumentException
- if original is nullpublic 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, int begin, int length) throws MathIllegalArgumentException
Double.NaN
if the designated subarray
is empty.
Returns 0 for a single-value (i.e. length = 1) sample.
Does not change the internal state of the statistic.
evaluate
in interface StorelessUnivariateStatistic
evaluate
in interface UnivariateStatistic
evaluate
in interface MathArrays.Function
values
- the input arraybegin
- index of the first array element to includelength
- the number of elements to includeMathIllegalArgumentException
- 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) throws MathIllegalArgumentException
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.
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 includeMathIllegalArgumentException
- if the array is null or the array index
parameters are not validpublic double evaluate(double[] values, double mean) throws MathIllegalArgumentException
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.
Does not change the internal state of the statistic.
values
- the input arraymean
- the precomputed mean valueMathIllegalArgumentException
- if the array is nullpublic boolean isBiasCorrected()
public StandardDeviation withBiasCorrection(boolean biasCorrection)
biasCorrection
- The bias correction flag to set.public StandardDeviation copy()
copy
in interface StorelessUnivariateStatistic
copy
in interface UnivariateStatistic
copy
in class AbstractStorelessUnivariateStatistic
Copyright © 2016-2021 CS GROUP. All rights reserved.