gov.sandia.cognition.statistics.bayesian.conjugate
Class UniformDistributionBayesianEstimator

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner<ObservationType,BeliefType>
          extended by gov.sandia.cognition.statistics.bayesian.conjugate.AbstractConjugatePriorBayesianEstimator<Double,Double,UniformDistribution,ParetoDistribution>
              extended by gov.sandia.cognition.statistics.bayesian.conjugate.UniformDistributionBayesianEstimator
All Implemented Interfaces:
BatchAndIncrementalLearner<Double,ParetoDistribution>, BatchLearner<Collection<? extends Double>,ParetoDistribution>, IncrementalLearner<Double,ParetoDistribution>, BayesianEstimator<Double,Double,ParetoDistribution>, ConjugatePriorBayesianEstimator<Double,Double,UniformDistribution,ParetoDistribution>, RecursiveBayesianEstimator<Double,Double,ParetoDistribution>, CloneableSerializable, Serializable, Cloneable

@PublicationReference(author="Wikipedia",
                      title="Conjugate prior",
                      year=2010,
                      type=WebPage,
                      url="http://en.wikipedia.org/wiki/Conjugate_prior")
public class UniformDistributionBayesianEstimator
extends AbstractConjugatePriorBayesianEstimator<Double,Double,UniformDistribution,ParetoDistribution>

A Bayesian estimator for a conditional Uniform(0,theta) distribution using its conjugate prior Pareto distribution.

Since:
3.0
Author:
Kevin R. Dixon
See Also:
Serialized Form

Nested Class Summary
static class UniformDistributionBayesianEstimator.Parameter
          Parameter of this conjugate prior relationship.
 
Field Summary
 
Fields inherited from class gov.sandia.cognition.statistics.bayesian.conjugate.AbstractConjugatePriorBayesianEstimator
parameter
 
Constructor Summary
UniformDistributionBayesianEstimator()
          Creates a new instance of UniformDistributionBayesianEstimator
UniformDistributionBayesianEstimator(BayesianParameter<Double,UniformDistribution,ParetoDistribution> parameter)
          Creates a new instance
UniformDistributionBayesianEstimator(ParetoDistribution belief)
          Creates a new instance of UniformDistributionBayesianEstimator
UniformDistributionBayesianEstimator(UniformDistribution conditional, ParetoDistribution prior)
          Creates a new instance of PoissonBayesianEstimator
 
Method Summary
 double computeEquivalentSampleSize(ParetoDistribution belief)
          Computes the equivalent sample size of using the given prior.
 UniformDistributionBayesianEstimator.Parameter createParameter(UniformDistribution conditional, ParetoDistribution prior)
          Creates a parameter linking the conditional and prior distributions
 void update(ParetoDistribution target, Double data)
          The update method updates an object of ResultType using the given new data of type DataType, using some form of "learning" algorithm.
 
Methods inherited from class gov.sandia.cognition.statistics.bayesian.conjugate.AbstractConjugatePriorBayesianEstimator
clone, createConditionalDistribution, createInitialLearnedObject, getInitialBelief, getParameter, setParameter
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner
learn, learn, update
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.BatchLearner
learn
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.IncrementalLearner
update
 

Constructor Detail

UniformDistributionBayesianEstimator

public UniformDistributionBayesianEstimator()
Creates a new instance of UniformDistributionBayesianEstimator


UniformDistributionBayesianEstimator

public UniformDistributionBayesianEstimator(ParetoDistribution belief)
Creates a new instance of UniformDistributionBayesianEstimator

Parameters:
belief - Conjugate prior to use.

UniformDistributionBayesianEstimator

public UniformDistributionBayesianEstimator(UniformDistribution conditional,
                                            ParetoDistribution prior)
Creates a new instance of PoissonBayesianEstimator

Parameters:
prior - Default conjugate prior.
conditional - Conditional distribution of the conjugate prior.

UniformDistributionBayesianEstimator

public UniformDistributionBayesianEstimator(BayesianParameter<Double,UniformDistribution,ParetoDistribution> parameter)
Creates a new instance

Parameters:
parameter - Bayesian hyperparameter relationship between the conditional distribution and the conjugate prior distribution.
Method Detail

createParameter

public UniformDistributionBayesianEstimator.Parameter createParameter(UniformDistribution conditional,
                                                                      ParetoDistribution prior)
Description copied from interface: ConjugatePriorBayesianEstimator
Creates a parameter linking the conditional and prior distributions

Parameters:
conditional - Distribution from which observations are generated
prior - Distribution that generates parameters for the conditional
Returns:
Parameter describing the relationship between the conditional and prior

update

public void update(ParetoDistribution target,
                   Double data)
Description copied from interface: IncrementalLearner
The update method updates an object of ResultType using the given new data of type DataType, using some form of "learning" algorithm.

Parameters:
target - The object to update.
data - The new data for the learning algorithm to use to update the object.

computeEquivalentSampleSize

public double computeEquivalentSampleSize(ParetoDistribution belief)
Description copied from interface: ConjugatePriorBayesianEstimator
Computes the equivalent sample size of using the given prior. This is effectively how many samples of bias the prior injects into the estimate.

Parameters:
belief - Prior belief to measure.
Returns:
Equivalent sample size of the initial belief.