public void FitTest6()
{
MultivariateContinuousDistribution target = CreateMultivariateContinuousDistribution(); // TODO: Initialize to an appropriate value
double[][] observations =
{
new double[] { 1, 2 },
new double[] { 3, 2 },
new double[] { 2, 3 },
new double[] { 1, 2 },
};
target.Fit(observations);
double[] expectedMean = { 1.75, 2.25 };
double[,] expectedCov =
{
{ 0.91666666666666663, 0.083333333333333329 },
{ 0.083333333333333329, 0.25 },
};
Assert.IsTrue(expectedMean.IsEqual(target.Mean));
Assert.IsTrue(expectedCov.IsEqual(target.Covariance));
Assert.IsTrue(expectedCov.Diagonal().IsEqual(target.Variance));
double[] x = { 0.4, 2 };
double expected = 0.120833904312578;
double actual = target.ProbabilityDensityFunction(x);
Assert.AreEqual(expected, actual, 1e-10);
}