public override IDistribution Fit(double[] observations, double[] weights) { double mean = observations.Mean(weights); return new BernoulliDistribution(mean); }
public void GenerationTest() { double prob = 0.5; int trials = 10000; BernoulliDistribution target = new BernoulliDistribution(prob); target.Fit(target.Generate(trials).Select(x => (double)x).ToArray()); Assert.AreEqual(target.Mean, prob, 0.01); }