weka.estimators
Class NormalEstimator

java.lang.Object
  extended byweka.estimators.NormalEstimator
All Implemented Interfaces:
Estimator, java.io.Serializable

public class NormalEstimator
extends java.lang.Object
implements Estimator

Simple probability estimator that places a single normal distribution over the observed values.

Version:
$Revision: 1.5 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
Serialized Form

Field Summary
private  double m_Mean
          The current mean
private  double m_Precision
          The precision of numeric values ( = minimum std dev permitted)
private  double m_StandardDev
          The current standard deviation
private  double m_SumOfValues
          The sum of the values seen
private  double m_SumOfValuesSq
          The sum of the values squared
private  double m_SumOfWeights
          The sum of the weights
 
Constructor Summary
NormalEstimator(double precision)
          Constructor that takes a precision argument.
 
Method Summary
 void addValue(double data, double weight)
          Add a new data value to the current estimator.
 double getProbability(double data)
          Get a probability estimate for a value
static void main(java.lang.String[] argv)
          Main method for testing this class.
private  double round(double data)
          Round a data value using the defined precision for this estimator
 java.lang.String toString()
          Display a representation of this estimator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_SumOfWeights

private double m_SumOfWeights
The sum of the weights


m_SumOfValues

private double m_SumOfValues
The sum of the values seen


m_SumOfValuesSq

private double m_SumOfValuesSq
The sum of the values squared


m_Mean

private double m_Mean
The current mean


m_StandardDev

private double m_StandardDev
The current standard deviation


m_Precision

private double m_Precision
The precision of numeric values ( = minimum std dev permitted)

Constructor Detail

NormalEstimator

public NormalEstimator(double precision)
Constructor that takes a precision argument.

Parameters:
precision - the precision to which numeric values are given. For example, if the precision is stated to be 0.1, the values in the interval (0.25,0.35] are all treated as 0.3.
Method Detail

round

private double round(double data)
Round a data value using the defined precision for this estimator

Parameters:
data - the value to round
Returns:
the rounded data value

addValue

public void addValue(double data,
                     double weight)
Add a new data value to the current estimator.

Specified by:
addValue in interface Estimator
Parameters:
data - the new data value
weight - the weight assigned to the data value

getProbability

public double getProbability(double data)
Get a probability estimate for a value

Specified by:
getProbability in interface Estimator
Parameters:
data - the value to estimate the probability of
Returns:
the estimated probability of the supplied value

toString

public java.lang.String toString()
Display a representation of this estimator


main

public static void main(java.lang.String[] argv)
Main method for testing this class.

Parameters:
argv - should contain a sequence of numeric values