Cross-fitted survival-curve longitudinal TMLE#

This study validates five-fold cumulative-risk estimation under absorbing failure. It covers two horizons, monotone censoring, static plans, and a dynamic plan. Each fold runs an untargeted backward regression sequence on its training rows. One pooled fluctuation per node then targets the out-of-fold predictions over every follower. The cross-fitting section of the technical reference gives the construction.

The canonical comparison uses R lmtp 1.5.4 at commit f04a2b4, on the same panels and the same stored fold assignment, with one fitted prefix per reported horizon. R ltmle has no cross-fitting, so it cannot witness this construction.

The pinned comparator runs a different targeting step. lmtp 1.5.4 fits each fold’s fluctuation on that fold’s training rows and carries the targeted prediction into the fold’s next regression. Upstream commit 9996b04 classifies that update as a bug. Each paired margin stays as registered, so each paired verdict compares two constructions.

Agreement with R is secondary to the finite-support functional and Gateaux EIF in tests/discrete_law_survival.py.

What was compared#

setting

cleverly

R lmtp

datasets and folds

1,600 censored survival panels, each with one exact five-fold assignment

the identical rows and the identical assignment

horizons

cumulative risk at times one and two

one fitted prefix per horizon

plans

never treat, always treat, and continue after initial treatment when L2 is positive

the same three, as shifted treatment columns

contrasts

always-minus-never at both horizons and dynamic-minus-never at time two

the same, from rowwise influence-curve differences

treatment and censoring mechanisms

the generating probabilities from the law

the same probabilities, supplied as exact per-node density ratios

sequential regressions

untargeted quasibinomial GLMs within each outer training set

SL.glm, within the same training sets

targeting

one pooled fluctuation per node over every follower

a fluctuation on each fold’s training rows, carried into that fold’s next regression

intervals

pointwise 95% identity-scale Wald intervals

the same, after the horizon-two transformation below

Both implementations receive the mechanism from the law rather than estimating it. lmtp has no gform argument, so the adapter substitutes exact per-node density ratios into it, the same way it substitutes the fold assignment. The substitution is checked on every run against lmtp’s own estimate: the zero pattern must agree cell for cell, and the cumulative ratio must track it.

That choice is what makes the comparison a comparison. An earlier version let each side estimate the mechanism its own way, and the result measured two unrelated pipelines. lmtp fits its ratio with SL.glm, whose linear logit cannot represent the exact classifier log-odds -log g for a deterministic regime, so the ratio came out shrunken. A shrunken clever covariate under-targets and understates the influence curve: that earlier probe measured coverage from 0.75 to 0.91 and an SE ratio from 0.60 to 0.86. No committed artifact holds its rows, because supplying the mechanism retired it. This row’s own committed rows give cleverly coverage from 0.9444 to 0.9525 and an SE ratio from 0.9853 to 1.0063. The sequential regressions stay misspecified on both sides, so targeting still has work to do.

The retained R runner uses the one-node binary mean at horizon one because lmtp requires two event nodes for its survival path. At horizon two, it converts event-free survival to cumulative risk and reverses the influence-curve sign. The registered run invokes that runner, so the transformation is exercised on every regeneration rather than described.

The exact-law structural test repeats every support point in each fold. It checks every unique risk and contrast against the finite functional and Gateaux EIF. Separate mutations check held-out outcome predictions and the first-horizon risk-set boundary.

Accuracy against known truth#

law

estimand

what was tested

implementation

bias (99% interval)

coverage

SE ratio

result

two-time-point absorbing-event law with monotone censoring

ate_regimen[always vs never @ t=1]

difference in cumulative risk between the plans “treat at both times” against “treat at neither time” at horizon t = 1

cleverly cross-fitted survival LTMLE

-0.000324 to 0.0022

0.9513

0.9853

pass

two-time-point absorbing-event law with monotone censoring

ate_regimen[always vs never @ t=1]

difference in cumulative risk between the plans “treat at both times” against “treat at neither time” at horizon t = 1

R lmtp

-0.000333 to 0.0022

0.9519

0.9847

pass

two-time-point absorbing-event law with monotone censoring

ate_regimen[always vs never @ t=2]

difference in cumulative risk between the plans “treat at both times” against “treat at neither time” at horizon t = 2

cleverly cross-fitted survival LTMLE

-0.0013 to 0.0024

0.9469

0.9932

pass

two-time-point absorbing-event law with monotone censoring

ate_regimen[always vs never @ t=2]

difference in cumulative risk between the plans “treat at both times” against “treat at neither time” at horizon t = 2

R lmtp

-0.0013 to 0.0025

0.9444

0.9953

pass

two-time-point absorbing-event law with monotone censoring

ate_regimen[treat then continue if l2 positive vs never @ t=2]

difference in cumulative risk between the plans “treat, then continue only if L2 is positive” against “treat at neither time” at horizon t = 2

cleverly cross-fitted survival LTMLE

-0.0012 to 0.0027

0.9463

0.9877

pass

two-time-point absorbing-event law with monotone censoring

ate_regimen[treat then continue if l2 positive vs never @ t=2]

difference in cumulative risk between the plans “treat, then continue only if L2 is positive” against “treat at neither time” at horizon t = 2

R lmtp

-0.0011 to 0.0027

0.9437

0.9892

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[always @ t=1]

cumulative risk under the plan treat at both times at horizon t = 1

cleverly cross-fitted survival LTMLE

-0.000523 to 0.0010

0.9525

0.9988

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[always @ t=1]

cumulative risk under the plan treat at both times at horizon t = 1

R lmtp

-0.000505 to 0.0010

0.9544

0.9981

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[always @ t=2]

cumulative risk under the plan treat at both times at horizon t = 2

cleverly cross-fitted survival LTMLE

-0.000907 to 0.0014

0.9525

0.9912

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[always @ t=2]

cumulative risk under the plan treat at both times at horizon t = 2

R lmtp

-0.000918 to 0.0014

0.9506

0.9908

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[never @ t=1]

cumulative risk under the plan treat at neither time at horizon t = 1

cleverly cross-fitted survival LTMLE

-0.0017 to 0.000297

0.9463

0.9995

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[never @ t=1]

cumulative risk under the plan treat at neither time at horizon t = 1

R lmtp

-0.0016 to 0.000321

0.9475

1.0004

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[never @ t=2]

cumulative risk under the plan treat at neither time at horizon t = 2

cleverly cross-fitted survival LTMLE

-0.0018 to 0.0012

0.9444

1.0063

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[never @ t=2]

cumulative risk under the plan treat at neither time at horizon t = 2

R lmtp

-0.0018 to 0.0011

0.9525

1.0122

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[treat then continue if l2 positive @ t=2]

cumulative risk under the plan treat, then continue only if L2 is positive at horizon t = 2

cleverly cross-fitted survival LTMLE

-0.000760 to 0.0017

0.9481

0.9870

pass

two-time-point absorbing-event law with monotone censoring

risk_regimen[treat then continue if l2 positive @ t=2]

cumulative risk under the plan treat, then continue only if L2 is positive at horizon t = 2

R lmtp

-0.000782 to 0.0016

0.9463

0.9866

pass

Agreement with the canonical implementation#

Comparator-backed: a paired comparison with lmtp on the same samples. Each row reports estimate equivalence within the declared margin, the RMSE ratio and the coverage difference, and names its comparison kind.

law

estimand

what was compared

paired difference

share of margin used

RMSE ratio bound

coverage difference

comparison kind

calibration resolution

result

two-time-point absorbing-event law with monotone censoring

ate_regimen[always vs never @ t=1]

difference in cumulative risk between the plans “treat at both times” against “treat at neither time” at horizon t = 1

0.000009

0.0029

1.0016

-0.000625

different estimator

0.0026 vs 0.0500

equivalent

two-time-point absorbing-event law with monotone censoring

ate_regimen[always vs never @ t=2]

difference in cumulative risk between the plans “treat at both times” against “treat at neither time” at horizon t = 2

-0.000084

0.0195

1.0097

0.0025

different estimator

0.0047 vs 0.0500

equivalent

two-time-point absorbing-event law with monotone censoring

ate_regimen[treat then continue if l2 positive vs never @ t=2]

difference in cumulative risk between the plans “treat, then continue only if L2 is positive” against “treat at neither time” at horizon t = 2

-0.000072

0.0161

1.0096

0.0025

different estimator

0.0051 vs 0.0500

equivalent

two-time-point absorbing-event law with monotone censoring

risk_regimen[always @ t=1]

cumulative risk under the plan treat at both times at horizon t = 1

-0.000017

0.0096

1.0020

-0.0019

different estimator

0.0034 vs 0.0500

equivalent

two-time-point absorbing-event law with monotone censoring

risk_regimen[always @ t=2]

cumulative risk under the plan treat at both times at horizon t = 2

0.000011

0.0040

1.0035

0.0019

different estimator

0.0040 vs 0.0500

equivalent

two-time-point absorbing-event law with monotone censoring

risk_regimen[never @ t=1]

cumulative risk under the plan treat at neither time at horizon t = 1

-0.000026

0.0114

1.0040

-0.0012

different estimator

0.0030 vs 0.0500

equivalent

two-time-point absorbing-event law with monotone censoring

risk_regimen[never @ t=2]

cumulative risk under the plan treat at neither time at horizon t = 2

0.000095

0.0276

1.0162

-0.0081

different estimator

0.0165 vs 0.0500

equivalent

two-time-point absorbing-event law with monotone censoring

risk_regimen[treat then continue if l2 positive @ t=2]

cumulative risk under the plan treat, then continue only if L2 is positive at horizon t = 2

0.000023

0.0081

1.0051

0.0019

different estimator

0.0048 vs 0.0500

equivalent

Theory properties#

property

cell

role

what was tested

what must hold

measured

result

crossfit_overfitting

cross_fitted_survival_ltmle

positive

five-fold horizon-two survival LTMLE with a fully grown outcome tree

SE ratio clears the overfitting floor and stays inside the sanity band

SE ratio 0.9638 to 1.0037

pass

crossfit_overfitting

in_sample_control

control

the same flexible learner fitted in sample, with no cross-fitting

SE ratio must fall below the overfitting ceiling

SE ratio 0.3963 to 0.4128

pass

double_robustness

dynamic_t2__both_correct

positive

dynamic plan at horizon two: 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.0062 to 0.000382, margin 0.0110, SE ratio 0.9996

pass

double_robustness

dynamic_t2__both_wrong

control

dynamic plan at horizon two: 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.0456 to -0.0388, margin 0.0113, SE ratio 0.7442

pass

double_robustness

dynamic_t2__mechanism_correct

positive

dynamic plan at horizon two: 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.0029 to 0.0038, margin 0.0113, SE ratio 1.0022

pass

double_robustness

dynamic_t2__outcome_correct

positive

dynamic plan at horizon two: 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.0037 to 0.0027, margin 0.0107, SE ratio 0.7597

pass

double_robustness

static_t1__both_correct

positive

static plan at horizon one: 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.0017, margin 0.0069, SE ratio 1.0087

pass

double_robustness

static_t1__both_wrong

control

static plan at horizon one: 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.0451 to -0.0411, margin 0.0068, SE ratio 0.9474

pass

double_robustness

static_t1__mechanism_correct

positive

static plan at horizon one: 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.0024 to 0.0019, margin 0.0072, SE ratio 0.9951

pass

double_robustness

static_t1__outcome_correct

positive

static plan at horizon one: 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.0024 to 0.0018, margin 0.0071, SE ratio 0.8796

pass

double_robustness

static_t2__both_correct

positive

static plan at horizon two: 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.0054 to 0.0012, margin 0.0112, SE ratio 1.0149

pass

double_robustness

static_t2__both_wrong

control

static plan at horizon two: 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.0380 to -0.0309, margin 0.0118, SE ratio 0.6698

pass

double_robustness

static_t2__mechanism_correct

positive

static plan at horizon two: 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.0020 to 0.0048, margin 0.0115, SE ratio 1.0028

pass

double_robustness

static_t2__outcome_correct

positive

static plan at horizon two: 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.0044 to 0.0023, margin 0.0112, SE ratio 0.6830

pass

interval_calibration

dynamic_t2__correctly_specified

positive

dynamic plan at horizon two: 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.9381 to 0.9502, SE ratio 0.9845 to 1.0231, empirical efficiency ratio 1.0028 to 1.0414, reported efficiency ratio 1.0236 to 1.0273

pass

interval_calibration

dynamic_t2__noise_control

control

dynamic plan at horizon two: one efficiency-bound unit of independent noise is added to each estimate

the empirical efficiency ratio must rise above the band

coverage 0.8261 to 0.8457, SE ratio 0.6993 to 0.7262, empirical efficiency ratio 1.4119 to 1.4659, reported efficiency ratio 1.0236 to 1.0273

pass

interval_calibration

dynamic_t2__shrunken_se_control

control

dynamic plan at horizon two: the reported standard errors are multiplied by a declared factor below one

the SE-ratio interval must fall below the calibration band

coverage 0.8219 to 0.8417, SE ratio 0.6889 to 0.7161, empirical efficiency ratio 1.0022 to 1.0415, reported efficiency ratio 0.7165 to 0.7191

pass

interval_calibration

static_t1__correctly_specified

positive

static plan at horizon one: 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.9450 to 0.9564, SE ratio 0.9825 to 1.0194, empirical efficiency ratio 0.9828 to 1.0196, reported efficiency ratio 1.0014 to 1.0023

pass

interval_calibration

static_t1__noise_control

control

static plan at horizon one: one efficiency-bound unit of independent noise is added to each estimate

the empirical efficiency ratio must rise above the band

coverage 0.8214 to 0.8412, SE ratio 0.6927 to 0.7193, empirical efficiency ratio 1.3927 to 1.4460, reported efficiency ratio 1.0014 to 1.0023

pass

interval_calibration

static_t1__shrunken_se_control

control

static plan at horizon one: the reported standard errors are multiplied by a declared factor below one

the SE-ratio interval must fall below the calibration band

coverage 0.8207 to 0.8405, SE ratio 0.6881 to 0.7134, empirical efficiency ratio 0.9832 to 1.0192, reported efficiency ratio 0.7010 to 0.7016

pass

interval_calibration

static_t2__correctly_specified

positive

static plan at horizon two: 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.9414 to 0.9532, SE ratio 0.9876 to 1.0262, empirical efficiency ratio 1.0100 to 1.0486, reported efficiency ratio 1.0340 to 1.0379

pass

interval_calibration

static_t2__noise_control

control

static plan at horizon two: one efficiency-bound unit of independent noise is added to each estimate

the empirical efficiency ratio must rise above the band

coverage 0.8330 to 0.8523, SE ratio 0.7082 to 0.7358, empirical efficiency ratio 1.4084 to 1.4625, reported efficiency ratio 1.0339 to 1.0380

pass

interval_calibration

static_t2__shrunken_se_control

control

static plan at horizon two: the reported standard errors are multiplied by a declared factor below one

the SE-ratio interval must fall below the calibration band

coverage 0.8204 to 0.8403, SE ratio 0.6911 to 0.7185, empirical efficiency ratio 1.0096 to 1.0490, reported efficiency ratio 0.7237 to 0.7266

pass

power

dynamic_t2__alternative

positive

dynamic plan at horizon two: 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

power

static_t1__alternative

positive

static plan at horizon one: 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

power

static_t2__alternative

positive

static plan at horizon two: 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

dynamic_t2__n_1000

control

dynamic plan at horizon two: bias, coverage and SE calibration at n = 1,000

coverage interval lies below nominal or clears the declared floor

bias -0.0024, coverage 0.9238 to 0.9657, SE ratio 0.9787

pass

root_n_and_efficiency

dynamic_t2__n_2000

positive

dynamic plan at horizon two: 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.000309, coverage 0.9282 to 0.9688, SE ratio 1.0107

pass

root_n_and_efficiency

dynamic_t2__n_8000

positive

dynamic plan at horizon two: 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.000113, coverage 0.9252 to 0.9667, SE ratio 0.9990

pass

root_n_and_efficiency

static_t1__n_1000

control

static plan at horizon one: bias, coverage and SE calibration at n = 1,000

coverage interval lies below nominal or clears the declared floor

bias 0.000974, coverage 0.9416 to 0.9776, SE ratio 1.0202

pass

root_n_and_efficiency

static_t1__n_2000

positive

static plan at horizon one: 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.000130, coverage 0.9447 to 0.9796, SE ratio 1.0262

pass

root_n_and_efficiency

static_t1__n_8000

positive

static plan at horizon one: 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.000040, coverage 0.9267 to 0.9677, SE ratio 0.9791

pass

root_n_and_efficiency

static_t2__n_1000

control

static plan at horizon two: bias, coverage and SE calibration at n = 1,000

coverage interval lies below nominal or clears the declared floor

bias -0.0029, coverage 0.9092 to 0.9554, SE ratio 0.9966

pass

root_n_and_efficiency

static_t2__n_2000

positive

static plan at horizon two: 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.000719, coverage 0.9297 to 0.9698, SE ratio 1.0313

pass

root_n_and_efficiency

static_t2__n_8000

positive

static plan at horizon two: 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.000150, coverage 0.9297 to 0.9698, SE ratio 1.0122

pass

root_n_rate

dynamic_t2__empirical_sd

positive

dynamic plan at horizon two: 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.5754 to -0.4871

pass

root_n_rate

dynamic_t2__reported_se

positive

dynamic plan at horizon two: the same regression applied to the mean reported standard error

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

slope -0.5283 to -0.5193

pass

root_n_rate

static_t1__empirical_sd

positive

static plan at horizon one: 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.5243 to -0.4343

pass

root_n_rate

static_t1__reported_se

positive

static plan at horizon one: the same regression applied to the mean reported standard error

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

slope -0.5023 to -0.5003

pass

root_n_rate

static_t2__empirical_sd

positive

static plan at horizon two: 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.5768 to -0.4914

pass

root_n_rate

static_t2__reported_se

positive

static plan at horizon two: the same regression applied to the mean reported standard error

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

slope -0.5348 to -0.5254

pass

survival_recursion_necessity

always_t2__survival

positive

always-treat risk at horizon two: the survival estimator keeps failures in their event node and removes them afterward

bias interval inside the equivalence margin

bias -0.0030 to 0.0032, margin 0.0105

pass

survival_recursion_necessity

always_t2__survivor_only

control

always-treat risk at horizon two: the same horizon-two outcome analyzed only among first-node survivors

bias interval must fall entirely outside the margin

bias -0.1510 to -0.1413, margin 0.0163

pass

targeting_necessity

dynamic_t2__targeted

positive

dynamic plan at horizon two: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting

bias interval inside the equivalence margin

bias -0.0040 to 0.0026, margin 0.0111

pass

targeting_necessity

dynamic_t2__untargeted

control

dynamic plan at horizon two: the identical fit with every fluctuation step removed

bias interval must fall entirely outside the margin

bias -0.0456 to -0.0391, margin 0.0109

pass

targeting_necessity

static_t1__targeted

positive

static plan at horizon one: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting

bias interval inside the equivalence margin

bias -0.0034 to 0.0011, margin 0.0075

pass

targeting_necessity

static_t1__untargeted

control

static plan at horizon one: the identical fit with every fluctuation step removed

bias interval must fall entirely outside the margin

bias -0.0461 to -0.0417, margin 0.0073

pass

targeting_necessity

static_t2__targeted

positive

static plan at horizon two: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting

bias interval inside the equivalence margin

bias -0.0034 to 0.0035, margin 0.0115

pass

targeting_necessity

static_t2__untargeted

control

static plan at horizon two: the identical fit with every fluctuation step removed

bias interval must fall entirely outside the margin

bias -0.0372 to -0.0303, margin 0.0115

pass

type_i_error

dynamic_t2__sharp_null

positive

dynamic plan at horizon two: a confounded law whose true contrast is exactly zero

one-sided rejection bound stays under the declared type-I ceiling

rejection 0.0600, 0.0404 to 0.0850

pass

type_i_error

static_t1__sharp_null

positive

static plan at horizon one: a confounded law whose true contrast is exactly zero

one-sided rejection bound stays under the declared type-I ceiling

rejection 0.0625, 0.0425 to 0.0879

pass

type_i_error

static_t2__sharp_null

positive

static plan at horizon two: a confounded law whose true contrast is exactly zero

one-sided rejection bound stays under the declared type-I ceiling

rejection 0.0600, 0.0404 to 0.0850

pass

The property study preserves every ordinary survival instrument. These include horizon-specific double robustness, targeting, root-n, efficiency, calibration, null, power, and survivor-only recursion controls.

The overfitting pair uses a fully grown outcome tree at horizon two. Both arms use identical nonlinear survival panels and known treatment and censoring mechanisms. The joint verdict requires held-out fitting to restore SE scale and improve coverage over the in-sample control.

Under the pooled update the cross-fitted ratio is 0.983738, with a 99% interval from 0.963806 to 1.003666. The fold-fluctuated construction it replaced gave 1.102157 on the same seeds. RM18 at commit dea3297e records both values, in “What the pooled update found”.

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

replicates

1600

paired replications

n

2000

observations per paired replication

independent_tests_total

16

implementation-estimand truth tests

independent_tests_passed

16

truth tests passing

paired_tests_total

8

paired estimand comparisons

paired_tests_passed

8

paired comparisons passing

property_cells_total

52

independent property cells

property_cells_passed

52

property cells passing

max_standardized_bias

0.0479

largest primary standardized bias

min_coverage

0.9437

lowest primary coverage

min_coverage_ci_lower

0.9272

lowest primary coverage lower endpoint

min_se_ratio_ci_lower

0.9395

lowest primary SE-ratio endpoint

max_se_ratio_ci_upper

1.0606

highest primary SE-ratio endpoint

properties[crossfit_overfitting/cross_fitted_survival_ltmle]:coverage

0.9430

cross-fitted tree coverage

properties[crossfit_overfitting/in_sample_control]:coverage

0.5693

in-sample tree coverage

properties[crossfit_overfitting/cross_fitted_survival_ltmle]:coverage_gain_ci_lower

0.3599

lower bound for the paired coverage gain

properties[crossfit_overfitting/cross_fitted_survival_ltmle]:replicates

8000

paired overfitting replications

properties[survival_recursion_necessity/always_t2__survival]:recursion_displacement

3.4932

survivor-only control displacement

margin:confidence_level

0.9900

Monte Carlo confidence level

margin:alpha

0.0500

test size

margin:nominal_coverage

0.9500

nominal interval coverage

margin:bootstrap_replicates

10000

bootstrap replications

margin:standardized_bias

0.2500

standardized-bias margin

margin:coverage_floor

0.9000

primary coverage floor

margin:over_coverage_ceiling

0.9900

descriptive overcoverage threshold

margin:se_ratio_sanity_lower

0.8000

primary SE-ratio lower screen

margin:se_ratio_sanity_upper

1.2000

primary SE-ratio upper screen

margin:calibration_se_ratio_lower

0.9300

calibration SE-ratio lower bound

margin:calibration_se_ratio_upper

1.0700

calibration SE-ratio upper bound

margin:calibration_coverage_lower

0.9200

calibration coverage lower bound

margin:calibration_coverage_upper

0.9800

calibration coverage upper bound

margin:type_i_ceiling

0.1000

type-I upper bound

margin:paired_difference

0.1500

paired similarity margin in pooled SDs

margin:rmse_noninferiority

1.1000

RMSE-ratio noninferiority bound

margin:coverage_noninferiority

-0.0250

coverage-difference noninferiority bound

margin:calibration_noninferiority

0.0500

calibration-excess noninferiority bound

margin:minimum_power

0.8000

power lower bound

margin:root_n_slope

-0.5000

expected root-n slope

margin:root_n_slope_lower

-0.6250

accepted slope lower bound

margin:root_n_slope_upper

-0.3750

accepted slope upper bound

margin:excluded_slope

-0.2500

rate the interval must exclude

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

margin:efficiency_ratio_lower

0.9000

exact-EIF ratio lower bound

margin:efficiency_ratio_upper

1.1000

exact-EIF ratio upper bound

margin:shrunken_se_factor

0.7000

deliberate SE mutation factor

margin:targeting_displacement

0.2500

least the fluctuation must move the estimate

margin:recursion_displacement

0.2500

least the survivor-only control must move the estimate

margin:overfit_se_floor

0.8500

cross-fitted tree SE-ratio lower bound

margin:overfit_control_ceiling

0.7500

in-sample tree SE-ratio upper bound

margin:overfit_coverage_gain

0.1500

minimum paired coverage gain

Limitations#

limitation

what it means for use

Agreement with lmtp is distributional, not numerical

The paired claim is similarity of means and non-inferiority. Per-replication estimates differ at statistical scale, because only the mechanism is shared. The sequential regressions are fitted differently, and lmtp 1.5.4 targets on each fold’s training rows where cleverly runs one pooled fluctuation per node

One fixed five-fold assignment is studied

The row does not validate repeated folds or time-respecting splits

Horizon one uses the binary-mean path in R

lmtp requires two event nodes for its survival path. The one-node binary mean is the same first-horizon cumulative-risk parameter

Inference is pointwise

The row does not validate a simultaneous curve band or enforce monotone reported estimates. The default-band study measures the default band of this study’s subject fit.

The event process has two horizons and one cause

Longer follow-up and competing-risk cumulative incidence need separate evidence

Flexible learning is an independent property instrument

The paired comparison uses one GLM learner on each side. The tree pair does not establish parity for learner-library selection

The primary mechanism bounds are nonbinding

No primary cell validates active bounds, weights, clustering, or severe practical-positivity violations

The causal interpretation requires consistency, sequential exchangeability, longitudinal positivity, conditionally independent censoring, and correct absorbing-event coding.

Reproduction#

The fixture README gives the regeneration commands. The manifest records the seeds, the configuration, the pinned lmtp version and source commit, the digest of every study module and reference source, and the artifact hashes.