public void gaussian_parameters_represent_the_data() { var data = new[] { 1.0, 2.0, 3.0, 4.0, 5.0 }; var expected = 3; var dist = data.Train(); Assert.That(dist.Mean, Is.EqualTo(expected)); }
public void gaussian_inverse_subtracts_from_a_distribution() { var data1 = new[] { 1.0, 2.0, 3.0, 4.0, 5.0 }; var dist1 = data1.Train(); var data2 = new[] { 4.0, 5.0 }; var dist2 = data2.Train(); var expected = (new[] { 1.0, 2.0, 3.0 }).Train(); var actual = dist1.Add(dist2.Invert()); Assert.That(actual.Samples, Is.EqualTo(expected.Samples)); Assert.That(actual.Mean, Is.EqualTo(expected.Mean)); Assert.That(actual.Variance, Is.EqualTo(expected.Variance)); Assert.That(actual.Sdev, Is.EqualTo(expected.Sdev)); }
public void add_gaussian_is_homomorphic_with_list_append() { var data1 = new[] { -1.0, -2.0, -3.0, -4.0, -5.0 }; var data2 = new[] { 1.0, 2.0, 3.0, 4.0, 5.0 }; var data3 = data1.Concat(data2); var expected = data3.Train(); var dist1 = data1.Train(); var dist2 = data2.Train(); var actual = dist1.Add(dist2); Assert.That(actual.Samples, Is.EqualTo(expected.Samples)); Assert.That(actual.Mean, Is.EqualTo(expected.Mean)); Assert.That(actual.Variance, Is.EqualTo(expected.Variance)); Assert.That(actual.Sdev, Is.EqualTo(expected.Sdev)); }