umontreal.iro.lecuyer.stat
Class Tally
- java.lang.Object
-
- umontreal.iro.lecuyer.stat.StatProbe
-
- umontreal.iro.lecuyer.stat.Tally
-
- All Implemented Interfaces:
- java.lang.Cloneable
- Direct Known Subclasses:
- TallyStore
public class Tally extends StatProbe implements java.lang.Cloneable
This type of statistical collector takes a sequence of real-valued observations and can return the average, the variance, a confidence interval for the theoretical mean, etc. Each call toaddprovides a new observation. When the broadcasting to observers is activated, the methodaddwill also pass this new information to its registered observers. This type of collector does not memorize the individual observations, but only their number, sum, sum of squares, maximum, and minimum. The subclassTallyStoreoffers a collector that memorizes the observations.
-
-
Constructor Summary
Constructors Constructor and Description Tally()Constructs a new unnamed Tally statistical probe.Tally(java.lang.String name)Constructs a new Tally statistical probe with name name.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description voidadd(double x)Gives a new observation x to the statistical collector.doubleaverage()Returns the average for this collector.Tallyclone()Clones this object.voidconfidenceIntervalNormal(double level, double[] centerAndRadius)Computes a confidence interval on the mean.voidconfidenceIntervalStudent(double level, double[] centerAndRadius)Computes a confidence interval on the mean.voidconfidenceIntervalVarianceChi2(double level, double[] interval)Computes a confidence interval on the variance.java.lang.StringformatCINormal(double level)Equivalent to formatCINormal (level, 3).java.lang.StringformatCINormal(double level, int d).java.lang.StringformatCIStudent(double level)Equivalent to formatCIStudent (level, 3).java.lang.StringformatCIStudent(double level, int d).java.lang.StringformatCIVarianceChi2(double level, int d).java.lang.StringformatConfidenceIntervalNormal(double level)Deprecated.java.lang.StringformatConfidenceIntervalNormal(double level, int d)Deprecated.java.lang.StringformatConfidenceIntervalStudent(double level)Deprecated.java.lang.StringformatConfidenceIntervalStudent(double level, int d)Deprecated.doublegetConfidenceLevel()Returns the level of confidence for the intervals on the mean displayed in reports.voidinit()Initializes the statistical collector.intnumberObs()Returns the number of observations given to this probe since its last initialization.java.lang.Stringreport()Returns a formatted string that contains a report on this probe.java.lang.Stringreport(double level, int d)Returns a formatted string that contains a report on this probe with a confidence interval level level using d fractional decimal digits.java.lang.StringreportAndCIStudent(double level)Same asreportAndCIStudent(level, 3).java.lang.StringreportAndCIStudent(double level, int d)Returns a formatted string that contains a report on this probe (as inreport), followed by a confidence interval (as informatCIStudent), using d fractional decimal digits.java.lang.StringreportAndConfidenceIntervalStudent(double level)Deprecated.java.lang.StringreportAndConfidenceIntervalStudent(double level, int d)Deprecated.voidsetConfidenceIntervalNone()Indicates that no confidence interval needs to be printed in reports formatted byreport, andshortReport.voidsetConfidenceIntervalNormal()Indicates that a confidence interval on the true mean, based on the central limit theorem, needs to be included in reports formatted byreportandshortReport.voidsetConfidenceIntervalStudent()Indicates that a confidence interval on the true mean, based on the normality assumption, needs to be included in reports formatted byreportandshortReport.voidsetConfidenceLevel(double level)Sets the level of confidence for the intervals on the mean displayed in reports.voidsetShowNumberObs(boolean showNumObs)Determines if the number of observations must be displayed in reports.java.lang.StringshortReport()Formats and returns a short statistical report for this tally.java.lang.StringshortReportHeader()Returns a string containing the name of the values returned in the report strings.doublestandardDeviation()Returns the sample standard deviation of the observations since the last initialization.doublevariance()Returns the sample variance of the observations since the last initialization.-
Methods inherited from class umontreal.iro.lecuyer.stat.StatProbe
addObservationListener, clearObservationListeners, getName, isBroadcasting, isCollecting, max, min, notifyListeners, removeObservationListener, report, report, setBroadcasting, setCollecting, setName, sum
-
-
-
-
Constructor Detail
-
Tally
public Tally()
Constructs a new unnamed Tally statistical probe.
-
Tally
public Tally(java.lang.String name)
Constructs a new Tally statistical probe with name name.- Parameters:
name- name of the tally
-
-
Method Detail
-
init
public void init()
Description copied from class:StatProbeInitializes the statistical collector.
-
add
public void add(double x)
Gives a new observation x to the statistical collector. If broadcasting to observers is activated for this object, this method also transmits the new information to the registered observers by invoking the methodnotifyListeners.- Parameters:
x- observation being added to this tally
-
numberObs
public int numberObs()
Returns the number of observations given to this probe since its last initialization.
-
average
public double average()
Description copied from class:StatProbeReturns the average for this collector. This returns Double.NaN if the probe was not updated since the last initialization.
-
variance
public double variance()
Returns the sample variance of the observations since the last initialization. This returns Double.NaN if the tally contains less than two observations.- Returns:
- the variance of the observations
-
standardDeviation
public double standardDeviation()
Returns the sample standard deviation of the observations since the last initialization. This returns Double.NaN if the tally contains less than two observations.- Returns:
- the standard deviation of the observations
-
confidenceIntervalNormal
public void confidenceIntervalNormal(double level, double[] centerAndRadius)Computes a confidence interval on the mean. Returns, in elements 0 and 1 of the array object centerAndRadius[], the center and half-length (radius) of a confidence interval on the true mean of the random variable X, with confidence level level, assuming that the n observations given to this collector are independent and identically distributed (i.i.d.) copies of X, and that n is large enough for the central limit theorem to hold. This confidence interval is computed based on the statisticZ = bar(X)n-μ/(Sn, x/(n)1/2)where n is the number of observations given to this collector since its last initialization, bar(X)n = average() is the average of these observations, Sn, x = standardDeviation() is the empirical standard deviation. Under the assumption that the observations of X are i.i.d. and n is large, Z has the standard normal distribution. The confidence interval given by this method is valid only if this assumption is approximately verified.- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)centerAndRadius- array of size 2 in which are returned the center and radius of the confidence interval, respectively
-
confidenceIntervalStudent
public void confidenceIntervalStudent(double level, double[] centerAndRadius)Computes a confidence interval on the mean. Returns, in elements 0 and 1 of the array object centerAndRadius[], the center and half-length (radius) of a confidence interval on the true mean of the random variable X, with confidence level level, assuming that the observations given to this collector are independent and identically distributed (i.i.d.) copies of X, and that X has the normal distribution. This confidence interval is computed based on the statisticT = bar(X)n-μ/(Sn, x/(n)1/2)where n is the number of observations given to this collector since its last initialization, bar(X)n = average() is the average of these observations, Sn, x = standardDeviation() is the empirical standard deviation. Under the assumption that the observations of X are i.i.d. and normally distributed, T has the Student distribution with n - 1 degrees of freedom. The confidence interval given by this method is valid only if this assumption is approximately verified, or if n is large enough so that bar(X)n is approximately normally distributed.- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)centerAndRadius- array of size 2 in which are returned the center and radius of the confidence interval, respectively
-
formatConfidenceIntervalNormal
@Deprecated public java.lang.String formatConfidenceIntervalNormal(double level, int d)Deprecated.
-
formatConfidenceIntervalNormal
@Deprecated public java.lang.String formatConfidenceIntervalNormal(double level)
Deprecated.
-
formatCINormal
public java.lang.String formatCINormal(double level, int d). Similar toconfidenceIntervalNormal, but returns the confidence interval in a formatted string of the form
``95% confidence interval for mean (normal): (32.431, 32.487)'',using d fractional decimal digits.- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)d- number of fractional decimal digits- Returns:
- a confidence interval formatted as a string
-
formatCINormal
public java.lang.String formatCINormal(double level)
Equivalent to formatCINormal (level, 3).- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)- Returns:
- a confidence interval formatted as a string
-
formatConfidenceIntervalStudent
@Deprecated public java.lang.String formatConfidenceIntervalStudent(double level, int d)Deprecated.
-
formatConfidenceIntervalStudent
@Deprecated public java.lang.String formatConfidenceIntervalStudent(double level)
Deprecated.
-
formatCIStudent
public java.lang.String formatCIStudent(double level, int d). Similar toconfidenceIntervalStudent, but returns the confidence interval in a formatted string of the form
``95% confidence interval for mean (student): (32.431, 32.487)'',using d fractional decimal digits.- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)d- number of fractional decimal digits- Returns:
- a confidence interval formatted as a string
-
formatCIStudent
public java.lang.String formatCIStudent(double level)
Equivalent to formatCIStudent (level, 3).- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)- Returns:
- a confidence interval formatted as a string
-
confidenceIntervalVarianceChi2
public void confidenceIntervalVarianceChi2(double level, double[] interval)Computes a confidence interval on the variance. Returns, in elements 0 and 1 of array interval, the left and right boundaries [I1, I2] of a confidence interval on the true variance σ2 of the random variable X, with confidence level level, assuming that the observations given to this collector are independent and identically distributed (i.i.d.) copies of X, and that X has the normal distribution. This confidence interval is computed based on the statistic χ2n-1 = (n - 1)S2n/σ2 where n is the number of observations given to this collector since its last initialization, and S2n = variance() is the empirical variance of these observations. Under the assumption that the observations of X are i.i.d. and normally distributed, χ2n-1 has the chi-square distribution with n - 1 degrees of freedom. Given the level = 1 - α, one has P[χ2n-1 < x1] = P[χ2n-1 > x2] = α/2 and [I1, I2] = [(n - 1)S2n/x2, (n - 1)S2n/x1].- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)interval- array of size 2 in which are returned the left and right boundaries of the confidence interval, respectively
-
formatCIVarianceChi2
public java.lang.String formatCIVarianceChi2(double level, int d). Similar toconfidenceIntervalVarianceChi2, but returns the confidence interval in a formatted string of the form
``95.0% confidence interval for variance (chi2): ( 510.642, 519.673 )'',using d fractional decimal digits.- Parameters:
level- desired probability that the (random) confidence interval covers the true varianced- number of fractional decimal digits- Returns:
- a confidence interval formatted as a string
-
report
public java.lang.String report()
Returns a formatted string that contains a report on this probe.
-
report
public java.lang.String report(double level, int d)Returns a formatted string that contains a report on this probe with a confidence interval level level using d fractional decimal digits.- Parameters:
level- desired probability that the confidence interval covers the true meand- number of fractional decimal digits- Returns:
- a statistical report formatted as a string
-
shortReportHeader
public java.lang.String shortReportHeader()
Description copied from class:StatProbeReturns a string containing the name of the values returned in the report strings. The returned string must depend on the type of probe and on the reporting options only. It must not depend on the observations received by the probe. This can be used as header when printing several reports. For example,System.out.println (probe1.shortReportHeader()); System.out.println (probe1.getName() + " " + probe1.shortReport()); System.out.println (probe2.getName() + " " + probe2.shortReport()); ...Alternatively, one can usereport(String,StatProbe[]) to get a report with aligned probe names.- Specified by:
shortReportHeaderin classStatProbe- Returns:
- the header string for the short reports.
-
shortReport
public java.lang.String shortReport()
Formats and returns a short statistical report for this tally. The returned single-line report contains the minimum value, the maximum value, the average, and the standard deviation, in that order, separated by three spaces. If the number of observations is shown in the short report, a column containing the number of observations in this tally is added.- Specified by:
shortReportin classStatProbe- Returns:
- the string containing the report.
-
reportAndConfidenceIntervalStudent
@Deprecated public java.lang.String reportAndConfidenceIntervalStudent(double level, int d)Deprecated.
-
reportAndConfidenceIntervalStudent
@Deprecated public java.lang.String reportAndConfidenceIntervalStudent(double level)
Deprecated.
-
reportAndCIStudent
public java.lang.String reportAndCIStudent(double level, int d)Returns a formatted string that contains a report on this probe (as inreport), followed by a confidence interval (as informatCIStudent), using d fractional decimal digits.- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)d- number of fractional decimal digits- Returns:
- a statistical report with a confidence interval, formatted as a string
-
reportAndCIStudent
public java.lang.String reportAndCIStudent(double level)
Same asreportAndCIStudent(level, 3).- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)- Returns:
- a statistical report with a confidence interval, formatted as a string
-
getConfidenceLevel
public double getConfidenceLevel()
Returns the level of confidence for the intervals on the mean displayed in reports. The default confidence level is 0.95.- Returns:
- desired probability that the (random) confidence interval covers the true mean (a constant)
-
setConfidenceLevel
public void setConfidenceLevel(double level)
Sets the level of confidence for the intervals on the mean displayed in reports.- Parameters:
level- desired probability that the (random) confidence interval covers the true mean (a constant)
-
setConfidenceIntervalNone
public void setConfidenceIntervalNone()
Indicates that no confidence interval needs to be printed in reports formatted byreport, andshortReport. This restores the default behavior of the reporting system.
-
setConfidenceIntervalNormal
public void setConfidenceIntervalNormal()
Indicates that a confidence interval on the true mean, based on the central limit theorem, needs to be included in reports formatted byreportandshortReport. The confidence interval is formatted usingformatCINormal.
-
setConfidenceIntervalStudent
public void setConfidenceIntervalStudent()
Indicates that a confidence interval on the true mean, based on the normality assumption, needs to be included in reports formatted byreportandshortReport. The confidence interval is formatted usingformatCIStudent.
-
setShowNumberObs
public void setShowNumberObs(boolean showNumObs)
Determines if the number of observations must be displayed in reports. By default, the number of observations is displayed.- Parameters:
showNumObs- the value of the indicator.
-
-
DMelt 3.0 © DataMelt by jWork.ORG