public interface ConditionalEstimator extends RevisionHandler
NNConditionalEstimator newEst = new NNConditionalEstimator();
// Create 50 random points and add them
Random r = new Random(seed);
for(int i = 0; i < 50; i++) {
int x = Math.abs(r.nextInt() % 100);
int y = Math.abs(r.nextInt() % 100);
System.out.println("# " + x + " " + y);
newEst.addValue(x, y, 1);
}
// Pick a random conditional value
int cond = Math.abs(r.nextInt() % 100);
System.out.println("## Conditional = " + cond);
// Print the probabilities conditional on that value
Estimator result = newEst.getEstimator(cond);
for(int i = 0; i <= 100; i+= 5) {
System.out.println(" " + i + " " + result.getProbability(i));
}
Modifier and Type | Method and Description |
---|---|
void |
addValue(double data,
double given,
double weight)
Add a new data value to the current estimator.
|
Estimator |
getEstimator(double given)
Get a probability estimator for a value
|
double |
getProbability(double data,
double given)
Get a probability for a value conditional on another value
|
getRevision
void addValue(double data, double given, double weight)
data
- the new data valuegiven
- the new value that data is conditional uponweight
- the weight assigned to the data valueEstimator getEstimator(double given)
given
- the new value that data is conditional upondouble getProbability(double data, double given)
data
- the value to estimate the probability ofgiven
- the new value that data is conditional upon