Statistic

class Statistic(name: String? = "Statistic_", values: DoubleArray? = null) : AbstractStatistic

The Statistic class allows the collection of summary statistics on data via the collect() methods. The primary statistical summary is for the statistical moments. Creates a Statistic with the given name

Parameters

name

an optional String representing the name of the statistic

values

an optional array of values to collect on

Constructors

Link copied to clipboard
constructor(values: DoubleArray?)

Creates a Statistic based on the provided array

constructor(name: String? = "Statistic_", values: DoubleArray? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Fills up an array with the statistics defined by this interface statistics0 = getCount() statistics1 = getAverage() statistics2 = getStandardDeviation() statistics3 = getStandardError() statistics4 = getHalfWidth() statistics5 = getConfidenceLevel() statistics6 = getMin() statistics7 = getMax() statistics8 = getSum() statistics9 = getVariance() statistics10 = getDeviationSumOfSquares() statistics11 = getLastValue() statistics12 = getKurtosis() statistics13 = getSkewness() statistics14 = getLag1Covariance() statistics15 = getLag1Correlation() statistics16 = getVonNeumannLag1TestStatistic() statistics17 = getNumberMissing()

Link copied to clipboard
open val asStrings: List<String>

Returns the values of all the statistics as a list of strings The name is the first string

Link copied to clipboard
open override val average: Double

Gets the unweighted average of the observations.

Link copied to clipboard

Returns the 2nd statistical central moment

Link copied to clipboard

Returns the 3rd statistical central moment

Link copied to clipboard

Returns the 4th statistical central moment

Link copied to clipboard

The 0th moment is the count, the 1st central moment zero, the 2nd, 3rd, and 4th central moments

Link copied to clipboard

A confidence interval for the mean based on the confidence level

Link copied to clipboard
open override var confidenceLevel: Double

Holds the confidence coefficient for the statistic

Link copied to clipboard
open override val count: Double

Gets the count of the number of the observations.

Link copied to clipboard
open val csvHeader: List<String>

Gets the CSV header values as a list of strings

Link copied to clipboard
open override val csvStatistic: String
Link copied to clipboard
open override val csvStatisticHeader: String

The header string for the CVS representation

Link copied to clipboard
open override val deviationSumOfSquares: Double

Gets the sum of squares of the deviations from the average This is the numerator in the classic sample variance formula

Link copied to clipboard
open override val emitter: Emitter<Double>
Link copied to clipboard
open val halfWidth: Double

Gets the confidence interval half-width. Simply the standard error times the confidence coefficient

Link copied to clipboard
open override val id: Int
Link copied to clipboard
open override val kurtosis: Double

Gets the kurtosis of the data

Link copied to clipboard
open override var label: String?
Link copied to clipboard
open override val lag1Correlation: Double

Gets the lag-1 generate correlation of the unweighted observations. Note: See Box, Jenkins, Reinsel, Time Series Analysis, 3rd edition, Prentice-Hall, pg 31

Link copied to clipboard
open override val lag1Covariance: Double

Gets the lag-1 generate covariance of the unweighted observations. Note: See Box, Jenkins, Reinsel, Time Series Analysis, 3rd edition, Prentice-Hall, pg 31

Link copied to clipboard
open override var lastValue: Double
Link copied to clipboard
open override val max: Double

Gets the maximum of the observations.

Link copied to clipboard
open override val min: Double

Gets the minimum of the observations.

Link copied to clipboard
open override val name: String
Link copied to clipboard
open override var negativeCount: Double

Counts the number of observations that were negative, strictly less than zero.

Link copied to clipboard
open override var numberMissing: Double

Used to count the number of missing data points presented When a data point having the value of (Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY) are presented it is excluded from the summary statistics and the number of missing points is noted. Implementers of subclasses are responsible for properly collecting this value and resetting this value.

Link copied to clipboard

Returns the observation weighted sum of the data i.e. sum = sum + j*x where j is the observation number and x is jth observation

Link copied to clipboard

Counts the number of observations that were positive, strictly greater than zero.

Link copied to clipboard

Returns the 2nd statistical raw moment (about zero)

Link copied to clipboard

Returns the 3rd statistical raw moment (about zero)

Link copied to clipboard

Returns the 4th statistical raw moment (about zero)

Link copied to clipboard

Returns the relative error: getStandardError() / getAverage()

Link copied to clipboard

Returns the relative width of the default confidence interval: 2.0 * getHalfWidth() / getAverage()

Link copied to clipboard
open override val skewness: Double

Gets the skewness of the data

Link copied to clipboard

Gets the sample standard deviation of the observations. Simply the square root of variance

Link copied to clipboard
open override val standardError: Double

Gets the standard error of the observations. Simply the generate standard deviation divided by the square root of the number of observations

Link copied to clipboard

Fills the map with the values of the statistics. Key is statistic label and value is the value of the statistic. The keys are: "Count" "Average" "Standard Deviation" "Standard Error" "Half-width" "Confidence Level" "Lower Limit" "Upper Limit" "Minimum" "Maximum" "Sum" "Variance" "Deviation Sum of Squares" "Kurtosis" "Skewness" "Lag 1 Covariance" "Lag 1 Correlation" "Von Neumann Lag 1 Test Statistic" "Number of missing observations"

Link copied to clipboard
open override val sum: Double

Gets the sum of the observations.

Link copied to clipboard

Returns the summary statistics values Name Count Average Std. Dev.

Link copied to clipboard

Returns the header for the summary statistics Name Count Average Std. Dev.

Link copied to clipboard
open override var value: Double
Link copied to clipboard
open override val variance: Double

Gets the sample variance of the observations.

Link copied to clipboard

Gets the Von Neumann Lag 1 test statistic for checking the hypothesis that the data are uncorrelated Note: See Handbook of Simulation, Jerry Banks editor, McGraw-Hill, pg 253.

Link copied to clipboard

Returns the asymptotic p-value for the Von Nueumann Lag-1 Test Statistic:

Link copied to clipboard
open val width: Double
Link copied to clipboard
open override var zeroCount: Double

Counts the number of observations that were exactly zero.

Functions

Link copied to clipboard
Link copied to clipboard
open override fun attachObserver(observer: ObserverIfc<Double>)

Allows the adding (attaching) of an observer to the observable

Link copied to clipboard

Checks if the supplied value falls within getAverage() +/- getHalfWidth()

Link copied to clipboard
open fun collect(obs: Boolean)

Collects on the boolean value true = 1.0, false = 0.0

open fun collect(observations: BooleanArray)
open fun collect(observations: DoubleArray)
open fun collect(observations: IntArray)
open fun collect(observations: LongArray)

Collects on the values in the supplied array.

open fun collect(fn: () -> Double)

Collect on the double value return by the function

open fun collect(obs: Int)

Collects on the Int value

open fun collect(obs: Long)

Collects on the Long value

open fun collect(observations: Collection<Double>)

Collects on all the values in the supplied collection.

open fun collect(v: GetValueIfc)

Collects on the values returned by the supplied GetValueIfc

open override fun collect(obs: Double)

Collect on the supplied value. Double.NaN, Double.NEGATIVE_INFINITY, and Double.POSITIVE_INFINITY values are counted as missing. Null values are not permitted.

Link copied to clipboard
open operator override fun compareTo(other: AbstractStatistic): Int

Returns a negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified object.

Link copied to clipboard

A confidence interval for the mean based on the confidence level

Link copied to clipboard
open override fun copyOfAsStatistic(): Statistic

Return a copy of the information as an instance of a statistic

Link copied to clipboard
open override fun countObservers(): Int

Returns how many observers are currently attached to the observable

Link copied to clipboard
open override fun detachAllObservers()

Detaches all the observers from the observable

Link copied to clipboard
open override fun detachObserver(observer: ObserverIfc<Double>)

Allows the deletion (removing) of an observer from the observable

Link copied to clipboard
open override fun estimate(): Double
Link copied to clipboard
fun estimateSampleSize(desiredHW: Double): Long

Estimates the number of observations needed in order to obtain a getConfidenceLevel() confidence interval with plus/minus the provided half-width

Link copied to clipboard
open fun halfWidth(level: Double): Double

Gets the confidence interval half-width. Simply the standard error times the confidence coefficient as determined by an appropriate sampling distribution

Link copied to clipboard

Creates an instance of Statistic that is a copy of the supplied Statistic All internal state is the same. The only exception is for the id of the returned Statistic.

Link copied to clipboard
open override fun isAttached(observer: ObserverIfc<Double>): Boolean

Returns true if the observer is already attached

Link copied to clipboard
open fun leadingDigitRule(multiplier: Double): Int

Computes the right most meaningful digit according to (int)Math.floor(Math.log10(a*getStandardError())) See doi 10.1287.opre.1080.0529 by Song and Schmeiser

Link copied to clipboard
fun <T> Observable<T>.observe(block: (T?) -> Unit)
Link copied to clipboard
open fun relativeWidth(level: Double): Double

Returns the relative width of the level of the confidence interval: 2.0 * getHalfWidth(level) / getAverage()

Link copied to clipboard
open override fun reset()

Resets the collector as if no observations had been collected.

Link copied to clipboard
open fun statisticData(level: Double = 0.95): StatisticData

Returns a data class holding the statistical data with the confidence interval specified by the given level.

Link copied to clipboard
open fun statisticDataDb(level: Double = 0.95, context: String? = null, subject: String? = null, tableName: String = "tblStatistic"): StatisticDataDb

Returns a data class holding the statistical data with the confidence interval specified by the given level. The class is suitable for inserting into a database table.

Link copied to clipboard
fun StatisticIfc.toStatDataFrame(valueLabel: String = "Value"): DataFrame<StatSchema>

Converts a statistic to a data frame with two columns. The first column holds the names of the statistics and the second column holds the values. The valueLabel can be used to provide a column name for the value columns. By default, it is "Value".

Link copied to clipboard
open override fun toString(): String

Returns a String representation of the Statistic

Link copied to clipboard
open fun width(level: Double): Double