package com.rapidminer.operator.similarity.attributebased.uncertain; import com.rapidminer.tools.Ontology; import de.tud.inf.example.set.attributevalues.MatrixValue; import de.tud.inf.example.set.attributevalues.SimpleMatrixValue; /** * * @author Antje Gruner * */ public class GaussProbabilityDensityFunction extends AbstractProbabilityDensityFunction{ private MatrixValue variance; //TODO: think about constructors again public GaussProbabilityDensityFunction(SimpleMatrixValue variance){ super(0,false); this.variance = variance; } public GaussProbabilityDensityFunction( double[] m, SimpleMatrixValue variance, double uncertainty, boolean absoluteError) { super(m,uncertainty, absoluteError); this.variance = variance; } public double getMaxValue(int dimension) { //assume that value range = 0.9545, i.e. 95% of the points should lie in the interval -> interval: 2*sigma around the mean return value[dimension] + 2 * variance.getValueAt(dimension, dimension); } public double getMinValue(int dimension) { //assume that range = 0.9545 -> intervall: 2*sigma around the mean return value[dimension] - 2 * variance.getValueAt(dimension, dimension); } public double getProbabilityAt(int x) { return 0; } public double getProbabilityFor(double[] position) { // TODO Auto-generated method stub return 0; } public boolean isPointInPDF(Double[] tempVal) { return false; } public int getValueType() { return Ontology.GAUSS; } public void setCovarianceMatrix(double[][] values){ variance.setValues(values); } public MatrixValue getCovarianceMatrix(){ return variance; } public double[] getRandomValue() { throw new UnsupportedOperationException(); } public String getStringRepresentation(int digits, boolean quoteWhitespace) { return "NA"; } }