Point survival hazard#
This study validates longitudinal TMLE with survival_model="hazard" and targeting="iterative"
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). Each reported horizon targets the
discrete cause-specific hazards of every regimen and cause on its own (Moore and van der Laan
2009, Section 4.1). The section
hazard-based survival targeting states
the estimator and its exact-law evidence.
The laws are the survival and competing scenarios 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 survtmle 1.1.1 with method = "hazard" (Benkeser, Carone and Gilbert 2018).
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 20 in TRACKER.md. The comparison is not
acceptance evidence for any claim until that row closes.
What was compared#
setting |
|
R |
|---|---|---|
status |
run and published on this page |
pending. No reference process ran, and |
datasets |
1,600 samples of 2,000 rows for each scenario |
the identical rows, once the runs exist |
scenarios |
|
the same |
treatment model |
a logistic regression on |
|
censoring model |
a logistic regression on the arm, |
one pooled |
hazard model |
an unpenalized logistic regression on |
one pooled |
targeting |
|
one cause at a time in a logistic submodel, stopped at `max |
intervals |
pointwise 95% Wald from the influence curve |
the same |
The pending runs read under the default margins. The two targeting loops differ by construction.
The runner declares tol = 1/n and maxIter = 100. The survtmle default tol = 1/sqrt(n)
stops before any targeting step at the laws of this study.
Accuracy against known truth#
law |
estimand |
what was tested |
implementation |
bias (99% interval) |
coverage |
SE ratio |
result |
|---|---|---|---|---|---|---|---|
four visits, two competing causes, a held binary treatment, visit dropout |
|
difference in cumulative incidence of death between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 2 |
|
-0.000415 to 0.0013 |
0.9544 |
1.0251 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
difference in cumulative incidence of death between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 4 |
|
-0.000787 to 0.0016 |
0.9519 |
0.9928 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
difference in cumulative incidence of relapse between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 2 |
|
-0.000912 to 0.0010 |
0.9519 |
1.0157 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
difference in cumulative incidence of relapse between the plans “assign arm 1 at baseline and hold it” against “assign arm 0 at baseline and hold it” at horizon t = 4 |
|
-0.0013 to 0.0014 |
0.9475 |
0.9847 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of death under the plan assign arm 0 at baseline and hold it at horizon t = 2 |
|
-0.000980 to 0.000460 |
0.9494 |
1.0075 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of death under the plan assign arm 0 at baseline and hold it at horizon t = 4 |
|
-0.0011 to 0.000869 |
0.9431 |
0.9768 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of relapse under the plan assign arm 0 at baseline and hold it at horizon t = 2 |
|
-0.000696 to 0.000665 |
0.9519 |
1.0255 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of relapse under the plan assign arm 0 at baseline and hold it at horizon t = 4 |
|
-0.000883 to 0.000929 |
0.9500 |
1.0063 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of death under the plan assign arm 1 at baseline and hold it at horizon t = 2 |
|
-0.000304 to 0.000656 |
0.9500 |
1.0170 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of death under the plan assign arm 1 at baseline and hold it at horizon t = 4 |
|
-0.000387 to 0.000968 |
0.9519 |
1.0169 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of relapse under the plan assign arm 1 at baseline and hold it at horizon t = 2 |
|
-0.000655 to 0.000727 |
0.9487 |
0.9937 |
pass |
four visits, two competing causes, a held binary treatment, visit dropout |
|
cumulative incidence of relapse under the plan assign arm 1 at baseline and hold it at horizon t = 4 |
|
-0.000883 to 0.0010 |
0.9456 |
0.9692 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
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 |
|
-0.000617 to 0.0012 |
0.9619 |
1.0254 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
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 |
|
-0.000543 to 0.0023 |
0.9506 |
0.9945 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
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 |
|
-0.0013 to 0.0019 |
0.9487 |
1.0009 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 1 |
|
-0.000909 to 0.000506 |
0.9519 |
1.0091 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 3 |
|
-0.0019 to 0.000165 |
0.9537 |
0.9877 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
cumulative risk under the plan assign arm 0 at baseline and hold it at horizon t = 5 |
|
-0.0017 to 0.000440 |
0.9525 |
1.0147 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 1 |
|
-0.000521 to 0.000688 |
0.9431 |
0.9757 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 3 |
|
-0.000956 to 0.000924 |
0.9594 |
1.0152 |
pass |
five visits, a binary baseline treatment held over every node, visit dropout |
|
cumulative risk under the plan assign arm 1 at baseline and hold it at horizon t = 5 |
|
-0.0014 to 0.000779 |
0.9531 |
1.0188 |
pass |
All 21 implementation-estimand tests pass. No replication raised an error, so no cell lost a replicate.
Theory properties#
property |
cell |
role |
what was tested |
what must hold |
measured |
result |
|---|---|---|---|---|---|---|
|
|
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.0024 to 0.0013, margin 0.0062, SE ratio 0.9823 |
pass |
|
|
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.0330 to 0.0366, margin 0.0060, SE ratio 1.0075 |
pass |
|
|
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.0027 to 0.000933, margin 0.0060, SE ratio 1.0206 |
pass |
|
|
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.000803 to 0.0028, margin 0.0061, SE ratio 0.9720 |
pass |
|
|
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.9371 to 0.9541, SE ratio 0.9745 to 1.0264, empirical efficiency ratio 0.9740 to 1.0257, reported efficiency ratio 0.9986 to 1.0004 |
pass |
|
|
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.9445 to 0.9560, SE ratio 0.9859 to 1.0221, empirical efficiency ratio 0.9803 to 1.0162, reported efficiency ratio 1.0015 to 1.0021 |
pass |
|
|
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.8268 to 0.8464, SE ratio 0.6965 to 0.7223, empirical efficiency ratio 1.3868 to 1.4384, reported efficiency ratio 1.0015 to 1.0021 |
pass |
|
|
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.8252 to 0.8448, SE ratio 0.6892 to 0.7157, empirical efficiency ratio 0.9798 to 1.0175, reported efficiency ratio 0.7011 to 0.7015 |
pass |
|
|
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 |
|
|
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.9371 to 0.9747, SE ratio 1.0186 |
pass |
|
|
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.000720, coverage 0.9311 to 0.9708, SE ratio 1.0110 |
pass |
|
|
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.000264, coverage 0.9252 to 0.9667, SE ratio 0.9897 |
pass |
|
|
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.5286 to -0.4436 |
pass |
|
|
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.5019 to -0.5005 |
pass |
|
|
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.6522 to 0.6772 |
pass |
|
|
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.9392 to 0.9512 |
pass |
|
|
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.0014 to 0.0025, margin 0.0064 |
pass |
|
|
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 18 property cells pass. Each positive cell has a control that fails the same instrument in the opposite direction.
family |
positive cells |
control that must fail |
|---|---|---|
|
the visit-5 difference on |
reported standard errors scaled by 0.7, and one efficiency-bound unit of added noise |
|
the hazard correct, the mechanism correct, or both |
both wrong |
|
the targeted estimate with a wrong hazard and the correct mechanism |
the plug-in of the same fit |
|
n = 2,000 and 8,000 |
n = 1,000 |
|
the empirical spread and the reported standard error |
none. The slope interval must exclude -0.25 |
|
the alternative on |
none |
|
the band over the fifteen reported parameters |
the pointwise intervals read as a joint set |
The correct mechanism learners are the saturated cell fits. The correct hazard learner is an
additive logistic fit on survival, which targeting moves, and the saturated cell fit on
competing. A saturated hazard fitted in sample is the maximum-likelihood estimate, so its
initial score is zero and targeting does not move it. The untargeted control predicts one hazard
for each node and both arms, so its plug-in contrast is zero in every sample. The necessity
verdict rests on the targeted cell and on its displacement from the plug-in.
Measured values#
Names beginning margin: are thresholds declared before the run. Everything else is measured from
the committed results and checked at the precision printed.
quantity |
value |
source |
|---|---|---|
|
1600 |
primary replications per scenario |
|
2000 |
observations per primary replication |
|
21 |
implementation-estimand tests against the truth |
|
21 |
of those, passing |
|
18 |
repeated-sampling property cells |
|
18 |
cells whose own and family verdicts pass |
|
0.0543 |
largest absolute primary bias in empirical standard deviations |
|
0.9431 |
lowest measured primary-study coverage |
|
0.9287 |
lowest bootstrap primary SE-ratio endpoint |
|
1.0758 |
highest bootstrap primary SE-ratio endpoint |
|
0.0500 |
nominal size of the reported intervals, and the family level of the rule |
|
10000 |
resamples behind every bootstrap interval |
|
0.9200 |
calibration-cell coverage band, lower limit. No cell of this study reads it |
|
0.9800 |
calibration-cell coverage band, upper limit. No cell of this study reads it |
|
0.0500 |
largest external-comparison calibration excess bound |
|
0.9300 |
calibration-cell SE-ratio band, lower limit. No cell of this study reads it |
|
1.0700 |
calibration-cell SE-ratio band, upper limit. No cell of this study reads it |
|
0.9900 |
confidence level of every Monte Carlo interval |
|
0.9000 |
validity floor the coverage lower endpoint must clear |
|
-0.0250 |
smallest external-comparison coverage difference bound |
|
0.9000 |
efficiency-ratio lower bound |
|
1.1000 |
efficiency-ratio upper bound |
|
-0.2500 |
slower rate a root-n interval must exclude |
|
0.8000 |
rejection lower bound a power cell must clear |
|
0.9500 |
nominal coverage those intervals claim |
|
0.9900 |
above this, coverage is conservative rather than invalid |
|
0.1500 |
paired similarity margin, in pooled empirical standard deviations |
|
1.1000 |
largest external-comparison RMSE ratio bound |
|
-0.5000 |
contraction rate root-n asymptotics predict |
|
-0.6250 |
accepted root-n slope band, lower limit |
|
-0.3750 |
accepted root-n slope band, upper limit |
|
0.8000 |
SE-ratio screen, lower limit |
|
1.2000 |
SE-ratio screen, upper limit |
|
0.7000 |
negative-control SE multiplier |
|
0.2500 |
bias equivalence margin, in empirical standard deviations |
|
0.2500 |
least targeting must move the estimate |
|
0.1000 |
the rate a positive cell must bound and a control must exceed |
|
0.1000 |
union-model SE-ratio screen, lower limit |
|
10 |
union-model SE-ratio screen, upper limit |
Limitations#
limit |
what it means for use |
|---|---|
the comparator runs are pending |
no |
per-horizon targeting only |
|
finite laws with discrete covariates |
the evidence covers correct or misspecified low-dimensional logistic and saturated learners. A flexible learner is outside it |
the declared |
|
no cross-fitting, weights or clusters |
each is a separate composition and needs its own row |
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_hazard.regenerate to regenerate the artifacts. The
replications
and the property results
carry every published row.