public class FloatDescriptive extends Object
Modifier and Type | Method and Description |
---|---|
static float |
autoCorrelation(FloatArrayList data,
int lag,
float mean,
float variance)
Returns the auto-correlation of a data sequence.
|
static float |
correlation(FloatArrayList data1,
float standardDev1,
FloatArrayList data2,
float standardDev2)
Returns the correlation of two data sequences.
|
static float |
covariance(FloatArrayList data1,
FloatArrayList data2)
Returns the covariance of two data sequences, which is
cov(x,y) = (1/(size()-1)) * Sum((x[i]-mean(x)) * (y[i]-mean(y)))
.
|
static float |
durbinWatson(FloatArrayList data)
Durbin-Watson computation.
|
static void |
frequencies(FloatArrayList sortedData,
FloatArrayList distinctValues,
IntArrayList frequencies)
Computes the frequency (number of occurances, count) of each distinct
value in the given sorted data.
|
static float |
geometricMean(FloatArrayList data)
Returns the geometric mean of a data sequence.
|
static float |
geometricMean(int size,
float sumOfLogarithms)
Returns the geometric mean of a data sequence.
|
static float |
harmonicMean(int size,
float sumOfInversions)
Returns the harmonic mean of a data sequence.
|
static void |
incrementalUpdate(FloatArrayList data,
int from,
int to,
float[] inOut)
Incrementally maintains and updates minimum, maximum, sum and sum of
squares of a data sequence.
|
static void |
incrementalUpdateSumsOfPowers(FloatArrayList data,
int from,
int to,
int fromSumIndex,
int toSumIndex,
float[] sumOfPowers)
Incrementally maintains and updates various sums of powers of the form
Sum(data[i]k).
|
static void |
incrementalWeightedUpdate(FloatArrayList data,
FloatArrayList weights,
int from,
int to,
float[] inOut)
Incrementally maintains and updates sum and sum of squares of a
weighted data sequence.
|
static float |
kurtosis(FloatArrayList data,
float mean,
float standardDeviation)
Returns the kurtosis (aka excess) of a data sequence, which is
-3 + moment(data,4,mean) / standardDeviation4.
|
static float |
kurtosis(float moment4,
float standardDeviation)
Returns the kurtosis (aka excess) of a data sequence.
|
static float |
lag1(FloatArrayList data,
float mean)
Returns the lag-1 autocorrelation of a dataset; Note that this method has
semantics different from autoCorrelation(..., 1);
|
static float |
max(FloatArrayList data)
Returns the largest member of a data sequence.
|
static float |
mean(FloatArrayList data)
Returns the arithmetic mean of a data sequence; That is
Sum( data[i] ) / data.size().
|
static float |
meanDeviation(FloatArrayList data,
float mean)
Returns the mean deviation of a dataset.
|
static float |
median(FloatArrayList sortedData)
Returns the median of a sorted data sequence.
|
static float |
min(FloatArrayList data)
Returns the smallest member of a data sequence.
|
static float |
moment(FloatArrayList data,
int k,
float c)
Returns the moment of k-th order with constant c of a
data sequence, which is
Sum( (data[i]-c)k ) / data.size().
|
static float |
moment(int k,
float c,
int size,
float[] sumOfPowers)
Returns the moment of k-th order with constant c of a
data sequence, which is
Sum( (data[i]-c)k ) / data.size().
|
static float |
pooledMean(int size1,
float mean1,
int size2,
float mean2)
Returns the pooled mean of two data sequences.
|
static float |
pooledVariance(int size1,
float variance1,
int size2,
float variance2)
Returns the pooled variance of two data sequences.
|
static float |
product(FloatArrayList data)
Returns the product of a data sequence, which is Prod( data[i] )
.
|
static float |
product(int size,
float sumOfLogarithms)
Returns the product, which is Prod( data[i] ).
|
static float |
quantile(FloatArrayList sortedData,
float phi)
Returns the phi-quantile; that is, an element elem for
which holds that phi percent of data elements are less than
elem.
|
static float |
quantileInverse(FloatArrayList sortedList,
float element)
Returns how many percent of the elements contained in the receiver are
<= element.
|
static FloatArrayList |
quantiles(FloatArrayList sortedData,
FloatArrayList percentages)
Returns the quantiles of the specified percentages.
|
static float |
rankInterpolated(FloatArrayList sortedList,
float element)
Returns the linearly interpolated number of elements in a list less or
equal to a given element.
|
static float |
rms(int size,
float sumOfSquares)
Returns the RMS (Root-Mean-Square) of a data sequence.
|
static float |
sampleKurtosis(FloatArrayList data,
float mean,
float sampleVariance)
Returns the sample kurtosis (aka excess) of a data sequence.
|
static float |
sampleKurtosis(int size,
float moment4,
float sampleVariance)
Returns the sample kurtosis (aka excess) of a data sequence.
|
static float |
sampleKurtosisStandardError(int size)
Return the standard error of the sample kurtosis.
|
static float |
sampleSkew(FloatArrayList data,
float mean,
float sampleVariance)
Returns the sample skew of a data sequence.
|
static float |
sampleSkew(int size,
float moment3,
float sampleVariance)
Returns the sample skew of a data sequence.
|
static float |
sampleSkewStandardError(int size)
Return the standard error of the sample skew.
|
static float |
sampleStandardDeviation(int size,
float sampleVariance)
Returns the sample standard deviation.
|
static float |
sampleVariance(FloatArrayList data,
float mean)
Returns the sample variance of a data sequence.
|
static float |
sampleVariance(int size,
float sum,
float sumOfSquares)
Returns the sample variance of a data sequence.
|
static float |
sampleWeightedVariance(float sumOfWeights,
float sumOfProducts,
float sumOfSquaredProducts)
Returns the sample weighted variance of a data sequence.
|
static float |
skew(FloatArrayList data,
float mean,
float standardDeviation)
Returns the skew of a data sequence, which is
moment(data,3,mean) / standardDeviation3.
|
static float |
skew(float moment3,
float standardDeviation)
Returns the skew of a data sequence.
|
static FloatArrayList[] |
split(FloatArrayList sortedList,
FloatArrayList splitters)
Splits (partitions) a list into sublists such that each sublist contains
the elements with a given range.
|
static float |
standardDeviation(float variance)
Returns the standard deviation from a variance.
|
static float |
standardError(int size,
float variance)
Returns the standard error of a data sequence.
|
static void |
standardize(FloatArrayList data,
float mean,
float standardDeviation)
Modifies a data sequence to be standardized.
|
static float |
sum(FloatArrayList data)
Returns the sum of a data sequence.
|
static float |
sumOfInversions(FloatArrayList data,
int from,
int to)
Returns the sum of inversions of a data sequence, which is
Sum( 1.0 / data[i]).
|
static float |
sumOfLogarithms(FloatArrayList data,
int from,
int to)
Returns the sum of logarithms of a data sequence, which is
Sum( Log(data[i]).
|
static float |
sumOfPowerDeviations(FloatArrayList data,
int k,
float c)
Returns Sum( (data[i]-c)k ); optimized for common
parameters like c == 0.0 and/or k == -2 ..
|
static float |
sumOfPowerDeviations(FloatArrayList data,
int k,
float c,
int from,
int to)
Returns Sum( (data[i]-c)k ) for all
i = from ..
|
static float |
sumOfPowers(FloatArrayList data,
int k)
Returns the sum of powers of a data sequence, which is
Sum ( data[i]k ).
|
static float |
sumOfSquaredDeviations(int size,
float variance)
Returns the sum of squared mean deviation of of a data sequence.
|
static float |
sumOfSquares(FloatArrayList data)
Returns the sum of squares of a data sequence.
|
static float |
trimmedMean(FloatArrayList sortedData,
float mean,
int left,
int right)
Returns the trimmed mean of a sorted data sequence.
|
static float |
variance(float standardDeviation)
Returns the variance from a standard deviation.
|
static float |
variance(int size,
float sum,
float sumOfSquares)
Returns the variance of a data sequence.
|
static float |
weightedMean(FloatArrayList data,
FloatArrayList weights)
Returns the weighted mean of a data sequence.
|
static float |
weightedRMS(float sumOfProducts,
float sumOfSquaredProducts)
Returns the weighted RMS (Root-Mean-Square) of a data sequence.
|
static float |
winsorizedMean(FloatArrayList sortedData,
float mean,
int left,
int right)
Returns the winsorized mean of a sorted data sequence.
|
public static float autoCorrelation(FloatArrayList data, int lag, float mean, float variance)
public static float correlation(FloatArrayList data1, float standardDev1, FloatArrayList data2, float standardDev2)
public static float covariance(FloatArrayList data1, FloatArrayList data2)
public static float durbinWatson(FloatArrayList data)
public static void frequencies(FloatArrayList sortedData, FloatArrayList distinctValues, IntArrayList frequencies)
Distinct values are filled into distinctValues, starting at
index 0. The frequency of each distinct value is filled into
frequencies, starting at index 0. As a result, the smallest
distinct value (and its frequency) can be found at index 0, the second
smallest distinct value (and its frequency) at index 1, ..., the largest
distinct value (and its frequency) at index
distinctValues.size()-1.
Example:
elements = (5,6,6,7,8,8) --> distinctValues = (5,6,7,8), frequencies = (1,2,1,2)
sortedData
- the data; must be sorted ascending.distinctValues
- a list to be filled with the distinct values; can have any
size.frequencies
- a list to be filled with the frequencies; can have any size;
set this parameter to null to ignore it.public static float geometricMean(int size, float sumOfLogarithms)
public static float geometricMean(FloatArrayList data)
public static float harmonicMean(int size, float sumOfInversions)
size
- the number of elements in the data sequence.sumOfInversions
- Sum( 1.0 / data[i]).public static void incrementalUpdate(FloatArrayList data, int from, int to, float[] inOut)
This method computes those updated values without needing to know the already recorded elements. Returns the updated values filled into the inOut array. This is interesting for interactive online monitoring and/or applications that cannot keep the entire huge data sequence in memory.
Definition of sumOfSquares:
sumOfSquares(n) = Sum ( data[i] * data[i] ).
data
- the additional elements to be incorporated into min, max, etc.from
- the index of the first element within data to
consider.to
- the index of the last element within data to
consider. The method incorporates elements
data[from], ..., data[to].inOut
- the old values in the following format:
public static void incrementalUpdateSumsOfPowers(FloatArrayList data, int from, int to, int fromSumIndex, int toSumIndex, float[] sumOfPowers)
This method computes those updated values without needing to know the already recorded elements. Returns the updated values filled into the sumOfPowers array. This is interesting for interactive online monitoring and/or applications that cannot keep the entire huge data sequence in memory. For example, the incremental computation of moments is based upon such sums of powers:
The moment of k-th order with constant c of a data sequence, is given by Sum( (data[i]-c)k ) / data.size(). It can incrementally be computed by using the equivalent formula
moment(k,c) = m(k,c) / data.size() where
m(k,c) = Sum( -1i * b(k,i) * ci * sumOfPowers(k-i))
for i = 0 .. k and
b(k,i) =
binomial(k,i)
and
sumOfPowers(k) = Sum( data[i]k ).
data
- the additional elements to be incorporated into min, max, etc.from
- the index of the first element within data to
consider.to
- the index of the last element within data to
consider. The method incorporates elements
data[from], ..., data[to].sumOfPowers
- the old values of the sums in the following format:
public static void incrementalWeightedUpdate(FloatArrayList data, FloatArrayList weights, int from, int to, float[] inOut)
This method computes those updated values without needing to know the already recorded elements. Returns the updated values filled into the inOut array. This is interesting for interactive online monitoring and/or applications that cannot keep the entire huge data sequence in memory.
Definition of sum: sum = Sum ( data[i] * weights[i] ).
Definition of sumOfSquares:
sumOfSquares = Sum ( data[i] * data[i] * weights[i]).
data
- the additional elements to be incorporated into min, max, etc.weights
- the weight of each element within data.from
- the index of the first element within data (and
weights) to consider.to
- the index of the last element within data (and
weights) to consider. The method incorporates
elements data[from], ..., data[to].inOut
- the old values in the following format:
public static float kurtosis(float moment4, float standardDeviation)
moment4
- the fourth central moment, which is
moment(data,4,mean).standardDeviation
- the standardDeviation.public static float kurtosis(FloatArrayList data, float mean, float standardDeviation)
public static float lag1(FloatArrayList data, float mean)
public static float max(FloatArrayList data)
public static float mean(FloatArrayList data)
public static float meanDeviation(FloatArrayList data, float mean)
public static float median(FloatArrayList sortedData)
sortedData
- the data sequence; must be sorted ascending.public static float min(FloatArrayList data)
public static float moment(int k, float c, int size, float[] sumOfPowers)
sumOfPowers
- sumOfPowers[m] == Sum( data[i]m) ) for
m = 0,1,..,k as returned by method
incrementalUpdateSumsOfPowers(FloatArrayList,int,int,int,int,float[])
. In particular there must hold
sumOfPowers.length == k+1.size
- the number of elements of the data sequence.public static float moment(FloatArrayList data, int k, float c)
public static float pooledMean(int size1, float mean1, int size2, float mean2)
size1
- the number of elements in data sequence 1.mean1
- the mean of data sequence 1.size2
- the number of elements in data sequence 2.mean2
- the mean of data sequence 2.public static float pooledVariance(int size1, float variance1, int size2, float variance2)
size1
- the number of elements in data sequence 1.variance1
- the variance of data sequence 1.size2
- the number of elements in data sequence 2.variance2
- the variance of data sequence 2.public static float product(int size, float sumOfLogarithms)
public static float product(FloatArrayList data)
public static float quantile(FloatArrayList sortedData, float phi)
sortedData
- the data sequence; must be sorted ascending.phi
- the percentage; must satisfy 0 <= phi <= 1.public static float quantileInverse(FloatArrayList sortedList, float element)
sortedList
- the list to be searched (must be sorted ascending).element
- the element to search for.public static FloatArrayList quantiles(FloatArrayList sortedData, FloatArrayList percentages)
sortedData
- the data sequence; must be sorted ascending.percentages
- the percentages for which quantiles are to be computed. Each
percentage must be in the interval [0.0,1.0].public static float rankInterpolated(FloatArrayList sortedList, float element)
sortedList
- the list to be searched (must be sorted ascending).element
- the element to search for.public static float rms(int size, float sumOfSquares)
sumOfSquares
- sumOfSquares(data) == Sum( data[i]*data[i] ) of the
data sequence.size
- the number of elements in the data sequence.public static float sampleKurtosis(int size, float moment4, float sampleVariance)
size
- the number of elements of the data sequence.moment4
- the fourth central moment, which is
moment(data,4,mean).sampleVariance
- the sample variance.public static float sampleKurtosis(FloatArrayList data, float mean, float sampleVariance)
public static float sampleKurtosisStandardError(int size)
size
- the number of elements of the data sequence.public static float sampleSkew(int size, float moment3, float sampleVariance)
size
- the number of elements of the data sequence.moment3
- the third central moment, which is
moment(data,3,mean).sampleVariance
- the sample variance.public static float sampleSkew(FloatArrayList data, float mean, float sampleVariance)
public static float sampleSkewStandardError(int size)
size
- the number of elements of the data sequence.public static float sampleStandardDeviation(int size, float sampleVariance)
size
- the number of elements of the data sequence.sampleVariance
- the sample variance.public static float sampleVariance(int size, float sum, float sumOfSquares)
size
- the number of elements of the data sequence.sum
- == Sum( data[i] ).sumOfSquares
- == Sum( data[i]*data[i] ).public static float sampleVariance(FloatArrayList data, float mean)
public static float sampleWeightedVariance(float sumOfWeights, float sumOfProducts, float sumOfSquaredProducts)
sumOfWeights
- == Sum( weights[i] ).sumOfProducts
- == Sum( data[i] * weights[i] ).sumOfSquaredProducts
- == Sum( data[i] * data[i] * weights[i] ).public static float skew(float moment3, float standardDeviation)
moment3
- the third central moment, which is
moment(data,3,mean).standardDeviation
- the standardDeviation.public static float skew(FloatArrayList data, float mean, float standardDeviation)
public static FloatArrayList[] split(FloatArrayList sortedList, FloatArrayList splitters)
Examples:
sortedList
- the list to be partitioned (must be sorted ascending).splitters
- the points at which the list shall be partitioned (must be
sorted ascending).public static float standardDeviation(float variance)
public static float standardError(int size, float variance)
size
- the number of elements in the data sequence.variance
- the variance of the data sequence.public static void standardize(FloatArrayList data, float mean, float standardDeviation)
public static float sum(FloatArrayList data)
public static float sumOfInversions(FloatArrayList data, int from, int to)
data
- the data sequence.from
- the index of the first data element (inclusive).to
- the index of the last data element (inclusive).public static float sumOfLogarithms(FloatArrayList data, int from, int to)
data
- the data sequence.from
- the index of the first data element (inclusive).to
- the index of the last data element (inclusive).public static float sumOfPowerDeviations(FloatArrayList data, int k, float c)
public static float sumOfPowerDeviations(FloatArrayList data, int k, float c, int from, int to)
public static float sumOfPowers(FloatArrayList data, int k)
public static float sumOfSquaredDeviations(int size, float variance)
size
- the number of elements of the data sequence.variance
- the variance of the data sequence.public static float sumOfSquares(FloatArrayList data)
public static float trimmedMean(FloatArrayList sortedData, float mean, int left, int right)
sortedData
- the data sequence; must be sorted ascending.mean
- the mean of the (full) sorted data sequence.left
- the number of leading elements to trim.right
- the number of trailing elements to trim.public static float variance(float standardDeviation)
public static float variance(int size, float sum, float sumOfSquares)
size
- the number of elements of the data sequence.sum
- == Sum( data[i] ).sumOfSquares
- == Sum( data[i]*data[i] ).public static float weightedMean(FloatArrayList data, FloatArrayList weights)
public static float weightedRMS(float sumOfProducts, float sumOfSquaredProducts)
sumOfProducts
- == Sum( data[i] * weights[i] ).sumOfSquaredProducts
- == Sum( data[i] * data[i] * weights[i] ).public static float winsorizedMean(FloatArrayList sortedData, float mean, int left, int right)
sortedData
- the data sequence; must be sorted ascending.mean
- the mean of the (full) sorted data sequence.left
- the number of leading elements to trim.right
- the number of trailing elements to trim.Jump to the Parallel Colt Homepage