public void KaplanMeierTest2()
{
int[][] data = Classes.Expand(
new[] { 1, 2, 3, 4, 5, 6 }, // years
new[] { 3, 3, 3, 3, 3, 0 }, // died
new[] { 5, 10, 15, 20, 25, 10 } // censored
);
double[] time = data.GetColumn(0).ToDouble();
int[] censor = data.GetColumn(1);
ProportionalHazards kp;
ProportionalHazards km;
double errkm, errp;
{
km = new ProportionalHazards(inputs: 0);
var target = new ProportionalHazardsNewtonRaphson(km)
{
Estimator = HazardEstimator.KaplanMeier
};
errkm = target.Run(time, censor);
Assert.AreEqual(-63.734599918211551, errkm);
}
{
kp = new ProportionalHazards(inputs: 0);
var target = new ProportionalHazardsNewtonRaphson(kp)
{
Estimator = HazardEstimator.BreslowNelsonAalen
};
errp = target.Run(time, censor);
Assert.AreEqual(errkm, errp);
}
}