databionics.math
Class ParetoDensity

java.lang.Object
  extended by databionics.math.Distances
      extended by databionics.math.ParetoDensity

public class ParetoDensity
extends Distances

Compute the Pareto Density for all row vectors of a DoubleMatrix2D.


Field Summary
protected  cern.colt.matrix.DoubleMatrix2D centers
          the sphere centers
protected  int clusters
          the current number of expected clusters
protected  cern.colt.matrix.DoubleMatrix1D densities
          the list to hold the density values
protected  cern.colt.matrix.DoubleMatrix1D distancePercentiles
           
protected  double radius
          the current radius
 
Fields inherited from class databionics.math.Distances
data, data2d, distanceFunction, distances, log, n
 
Constructor Summary
ParetoDensity()
           
 
Method Summary
 void calculateDensities()
          Calculate the densities for a given radius The result is stored in the densities field.
 void calculateDistances()
          calculate pairwise distances and fill percentile vector
 cern.colt.matrix.DoubleMatrix1D densities()
          Return densities evaluated at centers.
 cern.colt.matrix.DoubleMatrix2D getCenters()
           
protected  double getClusterFactor(int i)
          Lookup table for cluster correction factors.
 int getClusters()
           
 cern.colt.matrix.DoubleMatrix1D getDensities()
          Return all Pareto density values of the rows in matrix.
 cern.colt.matrix.DoubleMatrix1D getDensityQuantiles()
          returning quantiles of calculated densities.
 cern.colt.matrix.DoubleMatrix1D getDistancePercentiles()
           
 double getMax()
          maximum of calculated densities
 int getMaxDensityIndex()
           
 double getMin()
          minimum of calculated densities
 double getParetoRadius()
          Calculate Pareto radius.
 int getPercentile()
          Get current percentile (closest to current radius)
 double getRadius()
          Get current radius
 void setCenters(cern.colt.matrix.DoubleMatrix2D centers)
           
 void setClusters(int clusters)
          Number of clusters, used for radius correction
 void setData(cern.colt.matrix.impl.DenseDoubleMatrix1D data)
          set one dimensional data
 void setData(cern.colt.matrix.impl.DenseDoubleMatrix1D[] data)
          set data matrix
 void setData(cern.colt.matrix.DoubleMatrix2D data)
          set data matrix with vectors in rows
 void setParetoRadius()
          Calculate and set Pareto radius.
 void setRadius(double r)
          Set radius directly
 void setRadius(int r)
          Set radius to distance percentile
 
Methods inherited from class databionics.math.Distances
get, getData, getDistanceFunction, getDistanceMatrix, getDistances, set, setData, setData, setDistanceFunction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

distancePercentiles

protected cern.colt.matrix.DoubleMatrix1D distancePercentiles

radius

protected double radius
the current radius


clusters

protected int clusters
the current number of expected clusters


centers

protected cern.colt.matrix.DoubleMatrix2D centers
the sphere centers


densities

protected cern.colt.matrix.DoubleMatrix1D densities
the list to hold the density values

Constructor Detail

ParetoDensity

public ParetoDensity()
Method Detail

setRadius

public void setRadius(double r)
Set radius directly

Parameters:
Pareto - radius

getRadius

public double getRadius()
Get current radius

Returns:
radius

setRadius

public void setRadius(int r)
Set radius to distance percentile

Parameters:
percentile -

getPercentile

public int getPercentile()
Get current percentile (closest to current radius)

Returns:
percentile

getParetoRadius

public double getParetoRadius()
Calculate Pareto radius. For 1D data simply the 18%tile of the distances. For more dimensions iteratively search radius s.t. the median size of all hyperspheres is 20% of the data

Returns:
Pareto radius

setParetoRadius

public void setParetoRadius()
Calculate and set Pareto radius.


calculateDistances

public void calculateDistances()
                        throws java.lang.NullPointerException
calculate pairwise distances and fill percentile vector

Overrides:
calculateDistances in class Distances
Throws:
java.lang.NullPointerException

calculateDensities

public void calculateDensities()
Calculate the densities for a given radius The result is stored in the densities field.


getDensities

public cern.colt.matrix.DoubleMatrix1D getDensities()
Return all Pareto density values of the rows in matrix. If no radius is not set.ParetoRadius is called for density processing.

Returns:
list of density values

densities

public cern.colt.matrix.DoubleMatrix1D densities()
Return densities evaluated at centers.

Returns:
list of density values

getCenters

public cern.colt.matrix.DoubleMatrix2D getCenters()
Returns:
Returns the centers.

setCenters

public void setCenters(cern.colt.matrix.DoubleMatrix2D centers)
Parameters:
centers - The centers to set.

setData

public void setData(cern.colt.matrix.impl.DenseDoubleMatrix1D data)
set one dimensional data

Parameters:
data -

setData

public void setData(cern.colt.matrix.impl.DenseDoubleMatrix1D[] data)
set data matrix

Parameters:
data -

setData

public void setData(cern.colt.matrix.DoubleMatrix2D data)
set data matrix with vectors in rows

Overrides:
setData in class Distances
Parameters:
data - matrix

getClusters

public int getClusters()
Returns:
Returns the expected number of clusters.

setClusters

public void setClusters(int clusters)
Number of clusters, used for radius correction

Parameters:
clusters - The clusters to set.

getClusterFactor

protected double getClusterFactor(int i)
Lookup table for cluster correction factors.

Parameters:
clusters - The number of expected clusters.

getMax

public double getMax()
maximum of calculated densities

Returns:

getMin

public double getMin()
minimum of calculated densities

Returns:

getDensityQuantiles

public cern.colt.matrix.DoubleMatrix1D getDensityQuantiles()
returning quantiles of calculated densities. (if densities were not calculated before, getDensities() is called)

Returns:
quantiles of densities

getMaxDensityIndex

public int getMaxDensityIndex()
Returns:
Returns the distancePercentiles.

getDistancePercentiles

public cern.colt.matrix.DoubleMatrix1D getDistancePercentiles()
Returns:
Returns the distancePercentiles.


Copyright © 2005-2006 Databionics Research Group. All Rights Reserved.