|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math.random.EmpiricalDistributionImpl
public class EmpiricalDistributionImpl
Implements EmpiricalDistribution
interface. This implementation
uses what amounts to the
Variable Kernel Method with Gaussian smoothing:
Digesting the input file
binCount
"bins."USAGE NOTES:
binCount
is set by default to 1000. A good rule of thumb
is to set the bin count to approximately the length of the input file divided
by 10.
Nested Class Summary | |
---|---|
private class |
EmpiricalDistributionImpl.ArrayDataAdapter
DataAdapter for data provided as array of doubles. |
private class |
EmpiricalDistributionImpl.DataAdapter
Provides methods for computing sampleStats and
beanStats abstracting the source of data. |
private class |
EmpiricalDistributionImpl.DataAdapterFactory
Factory of DataAdapter objects. |
private class |
EmpiricalDistributionImpl.StreamDataAdapter
DataAdapter for data provided through some input stream |
Field Summary | |
---|---|
private int |
binCount
number of bins |
private List<SummaryStatistics> |
binStats
List of SummaryStatistics objects characterizing the bins |
private boolean |
loaded
is the distribution loaded? |
private RandomData |
randomData
RandomData instance to use in repeated calls to getNext() |
private SummaryStatistics |
sampleStats
Sample statistics |
private static long |
serialVersionUID
Serializable version identifier |
private double[] |
upperBounds
upper bounds of subintervals in (0,1) "belonging" to the bins |
Constructor Summary | |
---|---|
EmpiricalDistributionImpl()
Creates a new EmpiricalDistribution with the default bin count. |
|
EmpiricalDistributionImpl(int binCount)
Creates a new EmpiricalDistribution with the specified bin count. |
Method Summary | |
---|---|
private void |
fillBinStats(Object in)
Fills binStats array (second pass through data file). |
private int |
findBin(double min,
double value,
double delta)
Returns the index of the bin to which the given value belongs |
int |
getBinCount()
Returns the number of bins. |
List<SummaryStatistics> |
getBinStats()
Returns a List of SummaryStatistics instances containing
statistics describing the values in each of the bins. |
double |
getNextValue()
Generates a random value from this distribution. |
StatisticalSummary |
getSampleStats()
Returns a StatisticalSummary describing this distribution. |
double[] |
getUpperBounds()
Returns (a fresh copy of) the array of upper bounds for the bins. |
boolean |
isLoaded()
Property indicating whether or not the distribution has been loaded. |
void |
load(double[] in)
Computes the empirical distribution from the provided array of numbers. |
void |
load(File file)
Computes the empirical distribution from the input file. |
void |
load(URL url)
Computes the empirical distribution using data read from a URL. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
private List<SummaryStatistics> binStats
private SummaryStatistics sampleStats
private int binCount
private boolean loaded
private double[] upperBounds
private RandomData randomData
Constructor Detail |
---|
public EmpiricalDistributionImpl()
public EmpiricalDistributionImpl(int binCount)
binCount
- number of binsMethod Detail |
---|
public void load(double[] in)
load
in interface EmpiricalDistribution
in
- the input data arraypublic void load(URL url) throws IOException
load
in interface EmpiricalDistribution
url
- url of the input file
IOException
- if an IO error occurspublic void load(File file) throws IOException
load
in interface EmpiricalDistribution
file
- the input file
IOException
- if an IO error occursprivate void fillBinStats(Object in) throws IOException
in
- object providing access to the data
IOException
- if an IO error occursprivate int findBin(double min, double value, double delta)
min
- the minimum valuevalue
- the value whose bin we are trying to finddelta
- the grid size
public double getNextValue() throws IllegalStateException
getNextValue
in interface EmpiricalDistribution
IllegalStateException
- if the distribution has not been loadedpublic StatisticalSummary getSampleStats()
StatisticalSummary
describing this distribution.
Preconditions:
getSampleStats
in interface EmpiricalDistribution
IllegalStateException
- if the distribution has not been loadedpublic int getBinCount()
getBinCount
in interface EmpiricalDistribution
public List<SummaryStatistics> getBinStats()
SummaryStatistics
instances containing
statistics describing the values in each of the bins. The list is
indexed on the bin number.
getBinStats
in interface EmpiricalDistribution
public double[] getUpperBounds()
getUpperBounds
in interface EmpiricalDistribution
public boolean isLoaded()
isLoaded
in interface EmpiricalDistribution
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |