Point survival curve#

This study validates longitudinal TMLE with survival_model="hazard" and targeting="one_step" on a held design. The design has one baseline treatment, held over every visit, and it reads one follow-up time and one event code per unit (TimeToEvent). One walk moves one set of discrete hazards. The walk solves the score equation of every horizon and regimen at once (Cai and van der Laan 2020, Section 5; Rytgaard and van der Laan 2024, Section 3.4). Every reported risk curve is then non-decreasing in floating point. The section hazard-based survival targeting states the estimator.

The primary law is the survival scenario of point-treatment survival. Every truth is an exact finite sum. Every efficiency bound is the exact standard deviation of the efficient influence function over the law’s support.

The comparator is R tmle3 at commit ed72f8a, which runs tmle_survival with a one-step whole-curve hazard fluctuation. The comparator runs are pending, so this study carries the label “Python property evidence, with comparator runs pending”. The runs are queued as Study queue row 21 in TRACKER.md. The comparison is not acceptance evidence for any claim until that row closes.

What was compared#

setting

cleverly

R tmle3

status

run and published on this page

pending. No reference process ran, and equivalence.csv has no rows

datasets

1,600 samples of 2,000 rows of the survival scenario

the identical rows, once the runs exist

scenario

survival: five visits, the risks of both arms and their difference at every visit

the same

treatment model

an unpenalized logistic regression on W1 and W2

Lrnr_glm on W1 + W2

event and censoring hazards

an unpenalized logistic regression on W1, W2 and the arm at each node

Lrnr_stratified on the visit over Lrnr_glm, one fit for each visit

targeting

targeting="one_step", step_size=1e-3, stopped at a relative score of 1e-10

tmle3_Update_survival with fit_method="l2", maxit=100 and delta_epsilon=0.01, stopped when every score is at most 1/n in absolute value

curve

the risks of both arms and their difference, from one set of hazards

one tmle_survival specification for each arm with target_times = 1:5. The contrast is the difference of the two per-unit influence curves, and the risk is one minus the reported survival

intervals

pointwise 95% Wald from the influence curve

the same

The pending runs read under the default margins. The comparator is tmle3 at commit ed72f8a with sl3 at commit 0e8f236. It runs in its own image, which adds glmnet 5.0 to the tmle3 pins. The runner subclasses the updater to repair two defects of its fit_submodel, and it changes nothing else. The vector test fit_lambda == 1 becomes length(fit_lambda) == 1. The retry assigns lambda.min.ratio, so a retry refits a different path.

A replicate with an unsolved score and no nonzero step fails the run. A replicate with a nonzero step and an unsolved score stays in the paired rows. The run log counts it, and this page will report it.

The declared unmatched settings are the cause of any difference between the two sides.

unmatched setting

cleverly

tmle3

bounds

its shipped g_bounds

g at 0.025 and the hazards at 0.025 and 0.005

censoring convention

a unit is censored at node k before its event there can be seen

the censoring hazard is fitted on rows that include the failure row

step

the universal least favorable submodel at step_size = 1e-3

ridge-penalized steps of at most delta_epsilon in norm

stopping rule

a relative score of 1e-10

every score at most 1/n in absolute value

The censoring convention makes the cleverly standard error grow against the tmle3 one with the visit. The study module records about 2 percent at visit 5 in its smoke run. A paired row at a late visit can therefore read as superior on coverage and not as equivalent. Both outcomes pass.

Accuracy against known truth#

law

estimand

what was tested

implementation

bias (99% interval)

coverage

SE ratio

result

five visits, a binary baseline treatment held over every node, visit dropout

ate_regimen[arm1 vs arm0 @ t=1]

difference in cumulative risk between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 1

cleverly

-0.000779 to 0.0011

0.9500

1.0029

pass

five visits, a binary baseline treatment held over every node, visit dropout

ate_regimen[arm1 vs arm0 @ t=2]

difference in cumulative risk between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 2

cleverly

-0.000939 to 0.0015

0.9519

1.0039

pass

five visits, a binary baseline treatment held over every node, visit dropout

ate_regimen[arm1 vs arm0 @ t=3]

difference in cumulative risk between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 3

cleverly

-0.000924 to 0.0018

0.9531

1.0124

pass

five visits, a binary baseline treatment held over every node, visit dropout

ate_regimen[arm1 vs arm0 @ t=4]

difference in cumulative risk between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 4

cleverly

-0.000847 to 0.0021

0.9569

1.0364

pass

five visits, a binary baseline treatment held over every node, visit dropout

ate_regimen[arm1 vs arm0 @ t=5]

difference in cumulative risk between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 5

cleverly

-0.0013 to 0.0018

0.9544

1.0084

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm0 @ t=1]

cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 1

cleverly

-0.000838 to 0.000594

0.9519

0.9963

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm0 @ t=2]

cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 2

cleverly

-0.000932 to 0.000929

0.9575

0.9958

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm0 @ t=3]

cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 3

cleverly

-0.0011 to 0.0010

0.9481

0.9839

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm0 @ t=4]

cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 4

cleverly

-0.0016 to 0.000649

0.9500

0.9851

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm0 @ t=5]

cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 5

cleverly

-0.0017 to 0.000473

0.9494

0.9830

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm1 @ t=1]

cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 1

cleverly

-0.000566 to 0.000609

0.9425

1.0035

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm1 @ t=2]

cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 2

cleverly

-0.000515 to 0.0011

0.9475

1.0152

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm1 @ t=3]

cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 3

cleverly

-0.000492 to 0.0014

0.9537

1.0310

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm1 @ t=4]

cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 4

cleverly

-0.000864 to 0.0012

0.9500

1.0363

pass

five visits, a binary baseline treatment held over every node, visit dropout

risk_regimen[arm1 @ t=5]

cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 5

cleverly

-0.0015 to 0.000754

0.9519

0.9936

pass

All 15 implementation-estimand tests pass. The tests are the five risks of each arm and the five differences, one for each visit. No replication raised an error, so no cell lost a replicate.

Theory properties#

property

cell

role

what was tested

what must hold

measured

result

clustered_inference

clustered_t5__cluster_robust

positive

arm-0 risk at visit 5, 25 clusters of 80 that share W: the cluster-robust interval from the cluster-level influence curve of a single-fold hazard fit

SE-ratio and coverage intervals both stay inside their calibration bands

coverage 0.9373 to 0.9543, SE ratio 0.9660 to 1.0208, paired coverage gain 0.0875 to 0.1098

pass

clustered_inference

clustered_t5__iid_control

control

arm-0 risk at visit 5, 25 clusters of 80 that share W: the identical rows, point estimates, and influence curves treated as independent

the SE-ratio upper endpoint must not exceed the declared IID-control ceiling

coverage 0.8341 to 0.8610, SE ratio 0.7158 to 0.7546, paired coverage gain 0.0875 to 0.1098

pass

clustered_inference

clustered_t5_per_horizon__cluster_robust

positive

arm-0 risk at visit 5, 25 clusters of 80 that share W, targeted one horizon at a time: the cluster-robust interval from the cluster-level influence curve of a single-fold hazard fit

SE-ratio and coverage intervals both stay inside their calibration bands

coverage 0.9413 to 0.9578, SE ratio 0.9595 to 1.0141, paired coverage gain 0.0906 to 0.1140

pass

clustered_inference

clustered_t5_per_horizon__iid_control

control

arm-0 risk at visit 5, 25 clusters of 80 that share W, targeted one horizon at a time: the identical rows, point estimates, and influence curves treated as independent

the SE-ratio upper endpoint must not exceed the declared IID-control ceiling

coverage 0.8348 to 0.8616, SE ratio 0.7114 to 0.7508, paired coverage gain 0.0906 to 0.1140

pass

double_robustness

survival_t5__both_correct

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: both the outcome regression and the treatment mechanism are correctly specified

bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread

bias -0.0026 to 0.0011, margin 0.0061, SE ratio 0.9974

pass

double_robustness

survival_t5__both_wrong

control

difference of arm 1 and arm 0 at visit 5, five-visit held law: both nuisances are misspecified

bias interval must fall entirely outside the margin, with the reported standard error still on the scale of the empirical spread

bias 0.0326 to 0.0363, margin 0.0061, SE ratio 0.9919

pass

double_robustness

survival_t5__mechanism_correct

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: only the treatment and censoring mechanisms are correctly specified

bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread

bias -0.0026 to 0.0012, margin 0.0063, SE ratio 0.9738

pass

double_robustness

survival_t5__outcome_correct

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: only the outcome regression is correctly specified

bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread

bias -0.0011 to 0.0025, margin 0.0061, SE ratio 0.9805

pass

interval_calibration

competing_t4__correctly_specified

positive

difference in the death incidence at visit 4, two causes: both nuisances are correctly specified with an independently computed efficiency bound

SE ratio and coverage intervals both inside their calibration bands, with both efficiency-ratio intervals inside their bands

coverage 0.9458 to 0.9616, SE ratio 0.9867 to 1.0373, empirical efficiency ratio 0.9641 to 1.0134, reported efficiency ratio 0.9991 to 1.0008

pass

interval_calibration

isotonic_t2__correctly_specified

positive

risk at visit 2 under treatment at both nodes, two-node law, fitted with the isotonic projection: both nuisances are correctly specified with an independently computed efficiency bound

SE ratio and coverage intervals both inside their calibration bands, with both efficiency-ratio intervals inside their bands

coverage 0.9240 to 0.9427, SE ratio 0.9391 to 0.9908, empirical efficiency ratio 0.9962 to 1.0500, reported efficiency ratio 0.9831 to 0.9905

pass

interval_calibration

policy_t3__correctly_specified

positive

difference of a known baseline policy and arm 0 at visit 3, three arms without L_t: both nuisances are correctly specified with an independently computed efficiency bound

SE ratio and coverage intervals both inside their calibration bands, with both efficiency-ratio intervals inside their bands

coverage 0.9400 to 0.9566, SE ratio 0.9666 to 1.0175, empirical efficiency ratio 0.9853 to 1.0373, reported efficiency ratio 1.0022 to 1.0031

pass

interval_calibration

rule_t3__correctly_specified

positive

difference of the rule that treats where W1 is one and arm 0 at visit 3, three arms without L_t: both nuisances are correctly specified with an independently computed efficiency bound

SE ratio and coverage intervals both inside their calibration bands, with both efficiency-ratio intervals inside their bands

coverage 0.9357 to 0.9529, SE ratio 0.9660 to 1.0168, empirical efficiency ratio 0.9858 to 1.0378, reported efficiency ratio 1.0017 to 1.0033

pass

interval_calibration

survival_t5__correctly_specified

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: both nuisances are correctly specified with an independently computed efficiency bound

SE ratio and coverage intervals both inside their calibration bands, with both efficiency-ratio intervals inside their bands

coverage 0.9439 to 0.9555, SE ratio 0.9817 to 1.0192, empirical efficiency ratio 0.9831 to 1.0205, reported efficiency ratio 1.0016 to 1.0022

pass

interval_calibration

survival_t5__noise_control

control

difference of arm 1 and arm 0 at visit 5, five-visit held law: one efficiency-bound unit of independent noise is added to each estimate

the empirical efficiency ratio must rise above the band

coverage 0.8263 to 0.8459, SE ratio 0.7009 to 0.7274, empirical efficiency ratio 1.3774 to 1.4295, reported efficiency ratio 1.0016 to 1.0022

pass

interval_calibration

survival_t5__shrunken_se_control

control

difference of arm 1 and arm 0 at visit 5, five-visit held law: the reported standard errors are multiplied by a declared factor below one

the SE-ratio interval must fall below the calibration band

coverage 0.8156 to 0.8357, SE ratio 0.6874 to 0.7135, empirical efficiency ratio 0.9830 to 1.0202, reported efficiency ratio 0.7011 to 0.7015

pass

interval_calibration

weighted_t5__correctly_specified

positive

difference at visit 5 under the weight 1 + W1 / 2: both nuisances are correctly specified with an independently computed efficiency bound

SE ratio and coverage intervals both inside their calibration bands, with both efficiency-ratio intervals inside their bands

coverage 0.9438 to 0.9599, SE ratio 0.9793 to 1.0298, empirical efficiency ratio 0.9727 to 1.0227, reported efficiency ratio 1.0012 to 1.0020

pass

interval_calibration

weighted_t5_per_horizon__correctly_specified

positive

difference at visit 5 under the weight 1 + W1 / 2, targeted one horizon at a time: both nuisances are correctly specified with an independently computed efficiency bound

SE ratio and coverage intervals both inside their calibration bands, with both efficiency-ratio intervals inside their bands

coverage 0.9373 to 0.9543, SE ratio 0.9694 to 1.0225, empirical efficiency ratio 0.9799 to 1.0335, reported efficiency ratio 1.0015 to 1.0024

pass

isotonic_projection

isotonic_t2__moved

diagnostic

risk at visit 2 under treatment at both nodes, two-node law, fitted with the isotonic projection: per replication, the distance the projection moved the level, against a truth of zero

none. The row is a diagnostic and states no verdict

binding share 0, 0 to 0.0011

reported

power

survival_t5__alternative

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: the same test applied to a law with a real effect

rejection lower bound clears the minimum power

rejection 1, 0.9934 to 1

pass

root_n_and_efficiency

survival_t5__n_1000

control

difference of arm 1 and arm 0 at visit 5, five-visit held law: bias, coverage and SE calibration at n = 1,000

coverage interval lies below nominal or clears the declared floor

bias 0.0022, coverage 0.9165 to 0.9606, SE ratio 1.0000

pass

root_n_and_efficiency

survival_t5__n_2000

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: bias, coverage and SE calibration at n = 2,000

bias inside the margin, coverage clears the floor, SE ratio inside the sanity band

bias 0.0013, coverage 0.9107 to 0.9565, SE ratio 0.9990

pass

root_n_and_efficiency

survival_t5__n_8000

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: bias, coverage and SE calibration at n = 8,000

bias inside the margin, coverage clears the floor, SE ratio inside the sanity band

bias 0.000172, coverage 0.9401 to 0.9767, SE ratio 1.0524

pass

root_n_rate

survival_t5__empirical_sd

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: log empirical spread of the estimates regressed on log n across three sizes

slope interval inside the root-n band and excluding -1/4

slope -0.5740 to -0.4845

pass

root_n_rate

survival_t5__reported_se

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: the same regression applied to the mean reported standard error

slope interval inside the root-n band and excluding -1/4

slope -0.5026 to -0.5013

pass

simultaneous_coverage

all_reported__pointwise_joint_control

control

every parameter the calibration fit reports: the pointwise 95% intervals of the same fits, read jointly

joint coverage upper endpoint must fall below the nominal rate

joint coverage 0.6469 to 0.6719

pass

simultaneous_coverage

all_reported__simultaneous_band

positive

every parameter the calibration fit reports: the max-t multiplier band over every estimand the law reports, from the same-row centered influence curves

joint coverage interval inside the calibration coverage band

joint coverage 0.9393 to 0.9513

pass

simultaneous_coverage

curve_arm0__pointwise_joint_control

control

the arm-0 risk curve alone, at the five visits: the pointwise 95% intervals of the same fits, read jointly

joint coverage upper endpoint must fall below the nominal rate

joint coverage 0.8247 to 0.8443

pass

simultaneous_coverage

curve_arm0__simultaneous_band

positive

the arm-0 risk curve alone, at the five visits: the max-t multiplier band over every estimand the law reports, from the same-row centered influence curves

joint coverage interval inside the calibration coverage band

joint coverage 0.9411 to 0.9530

pass

simultaneous_coverage

curve_arm1__pointwise_joint_control

control

the arm-1 risk curve alone, at the five visits: the pointwise 95% intervals of the same fits, read jointly

joint coverage upper endpoint must fall below the nominal rate

joint coverage 0.8284 to 0.8479

pass

simultaneous_coverage

curve_arm1__simultaneous_band

positive

the arm-1 risk curve alone, at the five visits: the max-t multiplier band over every estimand the law reports, from the same-row centered influence curves

joint coverage interval inside the calibration coverage band

joint coverage 0.9394 to 0.9514

pass

targeting_necessity

survival_t5__targeted

positive

difference of arm 1 and arm 0 at visit 5, five-visit held law: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting

bias interval inside the equivalence margin

bias -0.000485 to 0.0032, margin 0.0062

pass

targeting_necessity

survival_t5__untargeted

control

difference of arm 1 and arm 0 at visit 5, five-visit held law: the identical fit with every fluctuation step removed

bias interval must fall entirely outside the margin

bias 0.1405 to 0.1405, margin 0

pass

All 31 scored cells pass, and the isotonic diagnostic reports a binding share of zero. properties.csv has 32 rows, and failed_replicates is zero in all of them.

The cells use the same one-step fit as the primary study, except where the text says otherwise. The learners of every positive cell are correct. The hazard learner is an additive logistic fit on a one-cause law and the saturated cell fit on a two-cause law. The mechanism learners are the saturated cell fits.

family

positive cells

control that must fail

interval_calibration

the visit-5 difference on survival; the death incidence difference at visit 4 on competing; the rule and the known policy against arm 0 at visit 3 on a three-arm law; the weighted visit-5 difference, one step and per horizon; the visit-2 level of a two-node law after the isotonic projection

reported standard errors scaled by 0.7, and one efficiency-bound unit of added noise, on the one-step survival cell only

clustered_inference

the arm-0 risk at visit 5 on 25 clusters of 80 rows that share W, one step and per horizon

the same fit read with independent standard errors

double_robustness

the hazard correct, the mechanism correct, or both

both wrong

targeting_necessity

the targeted estimate with a wrong hazard and the correct mechanism

the plug-in of the same fit

root_n_and_efficiency

n = 2,000 and 8,000

n = 1,000

root_n_rate

the empirical spread and the reported standard error

none. The slope interval must exclude -0.25

power

the alternative on survival

none

simultaneous_coverage

the max-t band over each arm’s five-visit risk curve, and over the fifteen reported parameters

the pointwise intervals of the same fits, read jointly

The weighted_t5 cells use the weight 1 + W1 / 2. The rule_t3 cell uses the rule that treats where W1 is one. The policy_t3 cell uses a known baseline policy with probabilities (1/4, 1/4 + W1/4, 1/2 - W1/4) over three arms. Both read one fit of a three-arm law without L_t.

The wrong hazard learner is InterceptOnly from the property module of point-treatment survival. A saturated hazard fitted in sample is the maximum-likelihood estimate, so its initial score is zero and targeting does not move it. For that reason the necessity cell uses a wrong hazard. The untargeted control predicts one hazard for each node and both arms, so its plug-in contrast is zero in every sample.

The per-horizon calibration, weighted and clustered cells use targeting="iterative" with max_iter=100. They run the per-horizon algorithm with weights and with clusters. The primary study does not use it. The curve bands are the shipped multiplier band (simultaneous_bands, 2,000 rademacher draws, random_state=0) over the five risks of one arm. This is the band a fit of that one regimen reports.

The isotonic cell does not exercise a binding projection. The isotonic_t2 cell fits survival_model="iterated_mean" with isotonic=True on a law with a treatment at two nodes. Its curve rises from 0.375 at node 1 to 0.758 at node 2. That step is about nine standard errors at n = 2,000. The diagnostic isotonic_t2__moved therefore records that the projection moved the level in none of the 4,800 replications. The cell shows that the projection leaves the inference of a regular curve unchanged. It is not evidence for an interval after a projection that moves a level.

The property module gives the reason. The increment between two horizons is the event mass at the later node. The binding share is about \(\Phi(-\sqrt{m})\), with \(m\) the expected number of observed events there. A projection binds often only where a node has almost no events. There Westling, van der Laan and Carone (2020), Theorem 2, does not apply.

Measured values#

quantity

value

source

replicates

1600

primary replications per scenario

n

2000

observations per primary replication

independent_tests_total

15

implementation-estimand tests against the truth

independent_tests_passed

15

of those, passing

property_cells_total

31

repeated-sampling property cells

property_cells_passed

31

cells whose own and family verdicts pass

max_standardized_bias

0.0370

largest absolute primary bias in empirical standard deviations

min_coverage

0.9425

lowest measured primary-study coverage

min_se_ratio_ci_lower

0.9400

lowest bootstrap primary SE-ratio endpoint

max_se_ratio_ci_upper

1.0892

highest bootstrap primary SE-ratio endpoint

margin:alpha

0.0500

nominal size of the reported intervals, and the family level of the rule

margin:bootstrap_replicates

10000

resamples behind every bootstrap interval

margin:calibration_coverage_lower

0.9200

calibration-cell coverage band, lower limit

margin:calibration_coverage_upper

0.9800

calibration-cell coverage band, upper limit

margin:calibration_noninferiority

0.0500

largest external-comparison calibration excess bound

margin:calibration_se_ratio_lower

0.9300

calibration-cell SE-ratio band, lower limit

margin:calibration_se_ratio_upper

1.0700

calibration-cell SE-ratio band, upper limit

margin:clustered_coverage_gain

0.0300

paired coverage-gain floor

margin:confidence_level

0.9900

confidence level of every Monte Carlo interval

margin:coverage_floor

0.9000

validity floor the coverage lower endpoint must clear

margin:coverage_noninferiority

-0.0250

smallest external-comparison coverage difference bound

margin:efficiency_ratio_lower

0.9000

efficiency-ratio lower bound

margin:efficiency_ratio_upper

1.1000

efficiency-ratio upper bound

margin:excluded_slope

-0.2500

slower rate a root-n interval must exclude

margin:iid_control_se_ceiling

0.8000

IID-control SE-ratio ceiling

margin:minimum_power

0.8000

rejection lower bound a power cell must clear

margin:nominal_coverage

0.9500

nominal coverage those intervals claim

margin:over_coverage_ceiling

0.9900

above this, coverage is conservative rather than invalid

margin:paired_difference

0.1500

paired similarity margin, in pooled empirical standard deviations

margin:rmse_noninferiority

1.1000

largest external-comparison RMSE ratio bound

margin:root_n_slope

-0.5000

contraction rate root-n asymptotics predict

margin:root_n_slope_lower

-0.6250

accepted root-n slope band, lower limit

margin:root_n_slope_upper

-0.3750

accepted root-n slope band, upper limit

margin:se_ratio_sanity_lower

0.8000

SE-ratio screen, lower limit

margin:se_ratio_sanity_upper

1.2000

SE-ratio screen, upper limit

margin:shrunken_se_factor

0.7000

negative-control SE multiplier

margin:standardized_bias

0.2500

bias equivalence margin, in empirical standard deviations

margin:targeting_displacement

0.2500

least targeting must move the estimate

margin:type_i_ceiling

0.1000

the rate a positive cell must bound and a control must exceed

margin:union_model_se_lower

0.1000

union-model SE-ratio screen, lower limit

margin:union_model_se_upper

10

union-model SE-ratio screen, upper limit

Limitations#

limit

what it means for use

the comparator runs are pending

no tmle3 output is compared. The tmle3 rows of Study queue row 21 follow, and this page is Python property evidence until then

the declared tmle3 settings differ

the bounds, the censoring convention, the step and the stopping rule differ by construction. The pending pairs read under the default margins and not as an exactness check

one primary scenario

the 15 truth tests read the five-visit survival law. The other laws enter the property cells only

learners that contain the truth

the primary fit uses unpenalized logistic regressions. The property cells use correct additive or saturated learners, apart from the declared wrong ones. A flexible learner is outside the evidence

the isotonic cell does not bind

the diagnostic reports a binding share of zero, so no cell supports an interval after a projection that moves a level

the per-horizon algorithm has three cells only

targeting="iterative" appears in one calibration, one weighted and one clustered cell. It has no double-robustness or necessity cell here. The hazard study holds those cells

no cross-fitting

every fit uses one fold. The cross-fitted study covers five folds

Reproduction#

The manifest records the seeds, the margins, the estimator configuration, the source hashes and the result hashes. It records the comparator as pending, with the runner and the image source hashes. Run python -m tests.canonical.point_survival_curve.regenerate to regenerate the artifacts. The replications and the property results carry every published row.