Add test for CompetingRiskFunctions
This commit is contained in:
parent
8333579a1f
commit
2fb80df5a5
1 changed files with 47 additions and 0 deletions
|
@ -0,0 +1,47 @@
|
||||||
|
package ca.joeltherrien.randomforest.competingrisk;
|
||||||
|
|
||||||
|
import ca.joeltherrien.randomforest.TestUtils;
|
||||||
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskFunctions;
|
||||||
|
import ca.joeltherrien.randomforest.utils.MathFunction;
|
||||||
|
import ca.joeltherrien.randomforest.utils.Point;
|
||||||
|
import ca.joeltherrien.randomforest.utils.Utils;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
public class TestCompetingRiskFunctions {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCalculateEventSpecificMortality(){
|
||||||
|
final MathFunction cif1 = new MathFunction(
|
||||||
|
Utils.easyList(
|
||||||
|
new Point(1.0, 0.3),
|
||||||
|
new Point(1.5, 0.7),
|
||||||
|
new Point(2.0, 0.8)
|
||||||
|
), new Point(0.0 ,0.0)
|
||||||
|
);
|
||||||
|
|
||||||
|
// not being used
|
||||||
|
final MathFunction chf1 = new MathFunction(Collections.emptyList());
|
||||||
|
|
||||||
|
// not being used
|
||||||
|
final MathFunction km = new MathFunction(Collections.emptyList());
|
||||||
|
|
||||||
|
final CompetingRiskFunctions functions = CompetingRiskFunctions.builder()
|
||||||
|
.causeSpecificHazards(Collections.singletonList(chf1))
|
||||||
|
.cumulativeIncidenceCurves(Collections.singletonList(cif1))
|
||||||
|
.survivalCurve(km)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
final double mortality1_5 = functions.calculateEventSpecificMortality(1, 1.5);
|
||||||
|
final double mortality3 = functions.calculateEventSpecificMortality(1, 3.0);
|
||||||
|
final double mortality4 = functions.calculateEventSpecificMortality(1, 4.0);
|
||||||
|
|
||||||
|
TestUtils.closeEnough(0.15, mortality1_5, 0.001);
|
||||||
|
TestUtils.closeEnough(1.3, mortality3, 0.001);
|
||||||
|
TestUtils.closeEnough(2.1, mortality4, 0.001);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue