public void MeasuresTest()
{
double[] values =
{
0.0000000000000000, 0.0351683340828711, 0.0267358118285064,
0.0000000000000000, 0.0103643094219679, 0.9000000000000000,
0.0000000000000000, 0.0000000000000000, 0.0000000000000000,
0.000762266794052363, 0.000000000000000
};
double[] times =
{
11, 1, 9, 8, 7, 3, 6, 5, 4, 2, 10
};
var target = new EmpiricalHazardDistribution(times, values);
var general = new GeneralContinuousDistribution(target);
//Assert.AreEqual(general.Mean, target.Mean);
//Assert.AreEqual(general.Variance, target.Variance);
Assert.AreEqual(general.Median, target.Median);
for (int i = -10; i < 10; i++)
{
double x = i;
double expected = general.CumulativeHazardFunction(x);
double actual = target.CumulativeHazardFunction(x);
Assert.AreEqual(expected, actual, 1e-4);
}
for (int i = -10; i < 10; i++)
{
double x = i;
double expected = general.HazardFunction(x);
double actual = target.HazardFunction(x);
Assert.AreEqual(expected, actual, 1e-5);
}
}