|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.estimators.KernelEstimator
Simple kernel density estimator. Uses one gaussian kernel per observed data value.
Field Summary | |
private boolean |
m_AllWeightsOne
Whether we can optimise the kernel summation |
private int |
m_NumValues
Number of values stored in m_Weights and m_Values so far |
private double |
m_Precision
The precision of data values |
private double |
m_StandardDev
The standard deviation |
private double |
m_SumOfWeights
The sum of the weights so far |
private double[] |
m_Values
Vector containing all of the values seen |
private double[] |
m_Weights
Vector containing the associated weights |
private static double |
MAX_ERROR
Maximum percentage error permitted in probability calculations |
Constructor Summary | |
KernelEstimator(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. |
private int |
findNearestValue(double key)
Execute a binary search to locate the nearest data value |
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 |
private double[] m_Values
private double[] m_Weights
private int m_NumValues
private double m_SumOfWeights
private double m_StandardDev
private double m_Precision
private boolean m_AllWeightsOne
private static double MAX_ERROR
Constructor Detail |
public KernelEstimator(double precision)
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 |
private int findNearestValue(double key)
private double round(double data)
data
- the value to round
public void addValue(double data, double weight)
addValue
in interface Estimator
data
- the new data valueweight
- the weight assigned to the data valuepublic double getProbability(double data)
getProbability
in interface Estimator
data
- the value to estimate the probability of
public java.lang.String toString()
public static void main(java.lang.String[] argv)
argv
- should contain a sequence of numeric values
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |