1 #ifndef CATEGORICAL_DISTRIBUTION_H 2 #define CATEGORICAL_DISTRIBUTION_H 4 #include "ProbabilityDistribution.h" 6 #include <KrisLibrary/math/cast.h> 15 void SetWeights(
const std::vector<Real>& w);
16 void SetValues(
const std::vector<Real>& values);
17 virtual void GetParameters(
Vector& parameters);
18 virtual void SetParameters(
const Vector& parameters);
19 virtual Real PDF(Real value);
20 virtual Real CDF(Real value);
21 virtual bool IsDiscrete() {
return true; }
22 virtual Real Minimum();
23 virtual Real Maximum();
25 virtual Real Variance();
26 virtual Real Skewness();
27 virtual Real Kurtosis();
28 virtual Real Sample();
29 virtual bool CanSample() {
return true; }
33 std::vector<Real> values;
41 void MaximumLikelihood(
const std::vector<Real>& data);
42 void AddSample(Real value,Real weight=1.0) {
43 if(counts.count(value)==0) counts[value]=weight;
44 else counts[value]+=weight;
47 std::map<Real,Real> counts;
Definition: CategoricalDistribution.h:36
Definition: ProbabilityDistribution.h:14
Contains all definitions in the statistics directory.
Definition: BernoulliDistribution.h:6
Definition: CategoricalDistribution.h:10