org.geotools.math
Class Statistics

java.lang.Object
  extended byorg.geotools.math.Statistics
All Implemented Interfaces:
java.lang.Cloneable, org.opengis.util.Cloneable, java.io.Serializable
Direct Known Subclasses:
Statistics.Delta

public class Statistics
extends java.lang.Object
implements org.opengis.util.Cloneable, java.io.Serializable

Hold some statistics about a series of sample values. Given a series of sample values s0, s1, s2, s3..., this class computes minimum, maximum, mean, root mean square and standard deviation. Statistics are computed on the fly; the sample values are never stored in memory. An instance of is initially empty (i.e. all statistical values are set to NaN). The statistics are updated every time an add(double) method is invoked with a non-NaN value. A typical usage of this class is:

 double[] data = new double[1000];
 // (Compute some data values here...)

 Statistics stats = new Statistics();
 for (int i=0; i<data.length; i++) {
     stats.add(data[i]);
 }
 System.out.println(stats);
 

Since:
2.0
Version:
$Id: Statistics.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux
See Also:
Serialized Form

Nested Class Summary
static class Statistics.Delta
          Hold some statistics about a series of sample values and the difference between them.
 
Constructor Summary
Statistics()
          Construct an initially empty set of statistics.
 
Method Summary
 void add(double sample)
          Update statistics for the specified sample.
 void add(long sample)
          Update statistics for the specified sample.
 void add(Statistics stats)
          Update statistics with all samples from the specified .
 java.lang.Object clone()
          Returns a clone of this statistics.
 int count()
          Returns the number of samples, excluding NaN values.
 int countNaN()
          Returns the number of NaN samples.
 boolean equals(java.lang.Object obj)
          Test this statistics with the specified object for equality.
 int hashCode()
          Returns a hash code value for this statistics.
 double maximum()
          Returns the maximum sample value, or NaN if none.
 double mean()
          Returns the mean value, or NaN if none.
 double minimum()
          Returns the minimum sample value, or NaN if none.
 double range()
          Returns the range of sample values.
 void reset()
          Reset the statistics to their initial NaN values.
 double rms()
          Returns the root mean square, or NaN if none.
 double standardDeviation(boolean allPopulation)
          Retourne l'?cart type des ?chantillons par rapport ? la moyenne.
 java.lang.String toString()
          Returns a string representation of this statistics.
 java.lang.String toString(java.util.Locale locale, boolean tabulations)
          Returns a localized string representation of this statistics.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Statistics

public Statistics()
Construct an initially empty set of statistics. All statistical values are initialized to Double.NaN.

Method Detail

reset

public void reset()
Reset the statistics to their initial NaN values. This method reset this object state as if it was just created.


add

public void add(double sample)
Update statistics for the specified sample. This method is usually invoked inside a loop.

Parameters:
sample - The sample value. NaN values are ignored.
See Also:
add(long), add(Statistics)

add

public void add(long sample)
Update statistics for the specified sample. This method is usually invoked inside a loop.

Parameters:
sample - The sample value.
See Also:
add(double), add(Statistics)

add

public void add(Statistics stats)
Update statistics with all samples from the specified . Invoking this method is equivalent (except for rounding errors) to invoking add for all samples that were added to .

Parameters:
stats - The statistics to be added to , or if none.

countNaN

public int countNaN()
Returns the number of NaN samples. samples are ignored in all other statitical computation. This method count them for information purpose only.


count

public int count()
Returns the number of samples, excluding NaN values.


minimum

public double minimum()
Returns the minimum sample value, or NaN if none.

See Also:
maximum()

maximum

public double maximum()
Returns the maximum sample value, or NaN if none.

See Also:
minimum()

range

public double range()
Returns the range of sample values. This is equivalent to maximum - minimum, except for rounding error. If no samples were added, then returns NaN.

See Also:
minimum(), maximum()

mean

public double mean()
Returns the mean value, or NaN if none.


rms

public double rms()
Returns the root mean square, or NaN if none.


standardDeviation

public double standardDeviation(boolean allPopulation)
Retourne l'?cart type des ?chantillons par rapport ? la moyenne. Si les donn?es fournies aux diff?rentes m?thodes se distribuent selon une loi normale, alors l'?cart type est la distance de part et d'autre de la moyenne dans lequel se trouveraient environ 84% des donn?es. Le tableau ci-dessous donne le pourcentage approximatif des donn?es que l'on trouve de part et d'autre de la moyenne ? des distances telles que 2 ou 3 fois l'?cart-type.
 0.5  69.1% 
 1.0  84.2% 
 1.5  93.3% 
 2.0  97.7% 
 3.0  99.9% 

Parameters:
allPopulation - La valeur indique que les donn?es fournies aux diff?rentes m?thodes repr?sentent l'ensemble de la polulation. La valeur indique que ces donn?es ne repr?sentent qu'un ?chantillon de la population, ce qui est g?n?ralement le cas. Si le nombre de donn?es est ?lev?, alors les valeurs et donneront sensiblement les m?mes r?sultats.

clone

public java.lang.Object clone()
Returns a clone of this statistics.

Specified by:
clone in interface org.opengis.util.Cloneable

equals

public boolean equals(java.lang.Object obj)
Test this statistics with the specified object for equality.


hashCode

public int hashCode()
Returns a hash code value for this statistics.


toString

public final java.lang.String toString()
Returns a string representation of this statistics. This method invokes toString(Locale, boolean) using the default locale and spaces separator.


toString

public java.lang.String toString(java.util.Locale locale,
                                 boolean tabulations)
Returns a localized string representation of this statistics. This string will span multiple lines, one for each statistical value. For example:
     Compte:      8726
     Minimum:    6.853
     Maximum:    8.259
     Moyenne:    7.421
     RMS:        7.846
     ?cart-type: 6.489
 
If is true, then labels (e.g. "Minimum") and values (e.g. "6.853") are separated by tabulations. Otherwise, they are separated by spaces.



Copyright © GeoTools. All Rights Reserved.