public IList <Point <decimal, decimal> > GetPDF() { nelsonAalen = new KaplanMeier(observationsInternal); var result = new List <Point <decimal, decimal> >(); var cnt = 0; foreach (var set in observationsInternal) { var survival = nelsonAalen.GetSurvivalOverPeriod(cnt); var div = survival; var point = new Point <decimal, decimal>(set.unitTime * cnt, (div)); result.Add(point); cnt++; } return(result); }
public IList <Point <decimal, decimal> > GetHazardFunctionOverEachPeriod() { nelsonAalen = new KaplanMeier(observationsInternal); var result = new List <Point <decimal, decimal> >(); var cnt = 0; foreach (var set in observationsInternal) { var survival = nelsonAalen.GetSurvivalOverPeriod(cnt); var v1 = survival == 0?0:(-1) * Math.Log((double)survival); var v2 = (double)(set.unitTime); var div = (decimal)((-1) * v1 / v2); var point = new Point <decimal, decimal>(set.unitTime * cnt, (div)); result.Add(point); cnt++; } return(result); }