C-TMLE0 derivative covariate#
This study validates C-TMLE0, CTMLE(strategy="derivative"). One TMLE update adds, for
each arm, the derivative of the clever covariate along the lasso penalty. The declared comparator
is R ctmle 0.1.2 at pinned commit
18de559,
through ctmleGlmnet(ctmletype = 3). The theory is Ju, Wyss et al. (2019), Section 4.2. The
C-TMLE0 section states the
construction and the status of the interval.
The evidence on this page is Python property evidence, with comparator runs pending. The Python
primary phase and the property study ran. The R ctmle runs wait for beta-plans TRACKER item 18,
so this page has no paired row and no parity result yet.
The study publishes under the reporting policy, which was declared before the run. All three
primary scenarios pass their accuracy tests. All 21 property rows pass, and no cell is red. The
ordinary TMLE on the same initial fit sits next to every result as a descriptive control.
What was compared#
setting |
|
R |
|---|---|---|
scenario |
|
|
scenario |
|
|
scenario |
the declared pair, with the constant outcome regression |
the same pair and the same constant outcome regression |
datasets |
binary-outcome samples generated in Python with their exact ATE |
the identical rows and all four covariates |
outcome regression |
an unpenalized logistic GLM on |
the same GLM, or the same constant |
propensity bounds |
0.025 to 0.975 |
0.025 to 0.975 |
targeting shrink |
|
|
cross-fitting |
disabled for the comparison |
not applicable |
variance |
|
|
The R side is declared and its runner is committed, but no R run exists. The manifest records the
comparator as pending, and equivalence.csv has no rows. The comparator never blocks the method.
The declared pair is fixed before any run by penalty_design in
tests/studies/canonical_ctmle_derivative.py. The function fits the package pipeline on 50 design
draws of the primary law and takes the lower median cross-validated penalty. penalty-design.csv
keeps every draw. In binary_declared_pair and binary_constant_q both sides would fit the same
estimator, so a paired row there is parity at scale. In binary_pipeline each side runs its own
penalty cross-validation, so a paired row compares two pipelines.
The scenario binary_constant_q is the parity-witness scenario. With the correct GLM, the
derivative columns barely move the estimate, so a side that dropped them would still match R.
With a constant outcome regression, the update carries the estimate. The witness columns of
paired-tmle.csv are empty until the R runs exist.
The two pipelines differ in the cross-validation folds, in the partner, and in the grid. The
chosen-penalties.csv file records the penalty pair of every cleverly fit. The mean mechanism
penalty is 0.0010 for the declared pair and 0.0019 for the package pipeline.
Accuracy against known truth#
law |
estimand |
what was tested |
implementation |
bias (99% interval) |
coverage |
SE ratio |
result |
|---|---|---|---|---|---|---|---|
binary-outcome law, one declared pair of penalties, a constant outcome regression |
|
average treatment effect |
|
-0.0012 to 0.0030 |
0.9688 |
1.0783 |
pass |
binary-outcome law, both sides at one declared pair of penalties |
|
average treatment effect |
|
-0.0030 to 0.0013 |
0.9275 |
0.9318 |
pass |
binary-outcome law, each side’s own penalty cross-validation |
|
average treatment effect |
|
-0.0024 to 0.0017 |
0.9525 |
0.9813 |
pass |
Theory properties#
The property study is independent of R. It fits the internal penalty cross-validation in sample, unless the cell says otherwise. The table lists each family.
family |
cells |
what the family tests |
|---|---|---|
|
|
coverage and SE ratio inside the calibration bands, with a correct outcome regression |
|
|
100 clusters of 20 rows, with treatment and outcome correlated inside a cluster. The |
|
|
one-sided rejection under a confounded law with a zero effect |
|
|
rejection under a law with a real effect |
|
|
bias, coverage and SE ratio at three sizes |
|
|
the log-log slope of the spread and of the reported error against \(n\) |
|
|
bias inside the margin when one nuisance is correct. The |
|
|
the update removes the bias of a misspecified outcome GLM that omits |
The cells multi_arm_treatment_correct, missing_outcome_treatment_correct and
cross_fitted_treatment_correct fit a wrong outcome regression in the three-arm, missing-outcome
and cross-fitted designs. The update then carries the estimate, so each cell answers to the union
model with a correct treatment law.
property |
cell |
role |
what was tested |
what must hold |
measured |
result |
|---|---|---|---|---|---|---|
|
|
positive |
five-fold point-treatment TMLE with cluster-robust ATE inference |
SE-ratio and coverage intervals both stay inside their calibration bands |
coverage 0.9250 to 0.9507, SE ratio 0.9390 to 1.0117, paired coverage gain 0.1517 to 0.1913 |
pass |
|
|
control |
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.7441 to 0.7890, SE ratio 0.5890 to 0.6341, paired coverage gain 0.1517 to 0.1913 |
pass |
|
|
control |
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.0142 to 0.0190, margin 0.0081, SE ratio 0.8636 |
pass |
|
|
positive |
five cross-fitting folds, a consistent lasso mechanism, and an outcome GLM that omits a confounder |
bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread |
bias -0.0013 to 0.0021, margin 0.0057, SE ratio 1.0004 |
pass |
|
|
positive |
outcomes missing at random with a correct response learner, and an outcome GLM that omits a confounder |
bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread |
bias -0.0029 to 0.0011, margin 0.0067, SE ratio 0.9963 |
pass |
|
|
positive |
three arms with a multinomial lasso and a constant outcome regression, on the contrast of arm 1.0 against arm 0.0 |
bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread |
bias -0.0017 to 0.0017, margin 0.0069, SE ratio 1.0783 |
pass |
|
|
positive |
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.0021 to 0.0021, margin 0.0070, SE ratio 0.8746 |
pass |
|
|
positive |
only the treatment mechanism is correctly specified |
bias interval inside the equivalence margin, with the reported standard error on the scale of the empirical spread |
bias -0.000689 to 0.0027, margin 0.0056, SE ratio 1.0898 |
pass |
|
|
positive |
the same law and nuisances, cross-fitted over five folds |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9360 to 0.9597, SE ratio 0.9548 to 1.0255 |
pass |
|
|
positive |
the internal lasso is consistent for the main-terms treatment law, and the outcome regression is a correct GLM |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9379 to 0.9611, SE ratio 0.9509 to 1.0251 |
pass |
|
|
positive |
outcomes are missing at random, with a correct response learner |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9406 to 0.9634, SE ratio 0.9607 to 1.0330 |
pass |
|
|
positive |
three arms with a multinomial lasso, on the contrast of arm 1.0 against arm 0.0 |
SE ratio and coverage intervals both inside their calibration bands |
coverage 0.9328 to 0.9570, SE ratio 0.9547 to 1.0289 |
pass |
|
|
positive |
the same test applied to a law with a real effect |
rejection lower bound clears the minimum power |
rejection 0.9208, 0.8986 to 0.9396 |
pass |
|
|
positive |
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.000100, coverage 0.9267 to 0.9613, SE ratio 0.9667 |
pass |
|
|
positive |
bias, coverage and SE calibration at n = 500 |
bias inside the margin, coverage clears the floor, SE ratio inside the band |
bias -0.000431, coverage 0.9192 to 0.9556, SE ratio 0.9553 |
pass |
|
|
positive |
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.000051, coverage 0.9163 to 0.9534, SE ratio 0.9270 |
pass |
|
|
positive |
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.5023 to -0.4510 |
pass |
|
|
positive |
the same regression applied to the mean reported standard error |
slope interval inside the root-n band and excluding -1/4 |
slope -0.4883 to -0.4859 |
pass |
|
|
positive |
average treatment effect: the estimator fluctuates a misspecified outcome model, so targeting does all the adjusting |
bias interval inside the equivalence margin |
bias -0.0029 to 0.000440, margin 0.0057 |
pass |
|
|
control |
average treatment effect: the identical fit with every fluctuation step removed |
bias interval must fall entirely outside the margin |
bias 0.0549 to 0.0581, margin 0.0053 |
pass |
|
|
positive |
a confounded law whose true contrast is exactly zero |
one-sided rejection bound stays under the declared type-I ceiling |
rejection 0.0458, 0.0355 to 0.0580 |
pass |
The ordinary TMLE on the same fit#
Each primary row and each calibration, clustered, null, power and robustness row carries the
ordinary TMLE. It uses the same initial outcome fit, the same mechanism and the same bounds.
Only the derivative columns are removed. The numbers in paired-tmle.csv are descriptive, and no
verdict reads them.
scenario |
mean C-TMLE0 minus TMLE |
SD of the difference |
coverage, C-TMLE0 and TMLE |
mean standard error, C-TMLE0 and TMLE |
|---|---|---|---|---|
|
0.000009 |
0.0018 |
0.9275 and 0.9338 |
0.02207 and 0.02219 |
|
0.000015 |
0.0020 |
0.9525 and 0.9550 |
0.02201 and 0.02214 |
|
-0.000555 |
0.0052 |
0.9688 and 0.9713 |
0.02464 and 0.02484 |
With the correct GLM, the two estimators agree on average to \(10^{-5}\). The standard deviation of their difference is under one tenth of the empirical standard deviation of the estimates, 0.0224 to 0.0237. With the constant outcome regression, the difference has a mean of \(-5.6 \times 10^{-4}\) and a standard deviation of 0.0052. That value is about 0.23 times the empirical standard deviation of 0.0228. The derivative columns move the estimate there, and the interval stays close to the ordinary TMLE interval. The study does not test the claim that C-TMLE0 repairs an inconsistent outcome regression.
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 |
|---|---|---|
|
800 |
replications per scenario |
|
2000 |
observations per replication |
|
3 |
implementation-scenario tests against truth |
|
3 |
of those, passing |
|
21 |
independent property cells |
|
21 |
of those, passing |
|
0.0401 |
largest absolute primary bias in empirical standard deviations |
|
0.9275 |
lowest primary coverage |
|
0.9006 |
lowest exact 99% coverage endpoint |
|
0.8783 |
lowest bootstrap SE-ratio endpoint |
|
1.1511 |
highest bootstrap SE-ratio endpoint |
|
0.9387 |
cluster-robust coverage |
|
0.9742 |
cluster-robust SE ratio |
|
0.7671 |
coverage of the IID variance on the same fits |
|
0.6107 |
SE ratio of the IID variance on the same fits |
|
0.0166 |
both-wrong control bias |
|
0.0142 |
its 99% lower endpoint, against the margin below |
|
0.0081 |
the equivalence margin that cell answers to |
|
0.5093 |
its bias in empirical standard deviations |
|
-0.000006 |
bias with only the outcome regression correct |
|
0.000990 |
bias with only the treatment mechanism correct |
|
0.9504 |
in-sample calibration coverage |
|
0.9865 |
in-sample calibration SE ratio |
|
0.0458 |
rejection under the confounded sharp null |
|
0.9208 |
rejection under the alternative |
|
-0.4763 |
fitted empirical-spread rate |
|
-0.4871 |
fitted reported-SE rate |
|
0.0565 |
bias of the initial plug-in estimate |
|
0.9900 |
confidence level of Monte Carlo intervals |
|
0.0500 |
nominal estimator size |
|
0.9500 |
nominal estimator coverage |
|
10000 |
resamples per bootstrap interval |
|
0.2500 |
bias equivalence margin in empirical standard deviations |
|
0.9000 |
validity floor for the exact coverage lower endpoint |
|
0.9900 |
coverage above this is labeled conservative |
|
0.8000 |
primary SE-ratio screen, lower limit |
|
1.2000 |
primary SE-ratio screen, upper limit |
|
0.9300 |
calibration SE-ratio band, lower limit |
|
1.0700 |
calibration SE-ratio band, upper limit |
|
0.9200 |
calibration coverage band, lower limit |
|
0.9800 |
calibration coverage band, upper limit |
|
0.1000 |
one-sided type-I error ceiling |
|
0.1500 |
paired similarity margin in empirical SDs |
|
1.1000 |
RMSE-ratio non-inferiority margin |
|
-0.0250 |
coverage-difference non-inferiority margin |
|
0.0500 |
SE-calibration non-inferiority margin |
|
0.8000 |
power-control rejection lower bound |
|
-0.5000 |
predicted root-n slope |
|
-0.6250 |
accepted slope band, lower limit |
|
-0.3750 |
accepted slope band, upper limit |
|
-0.2500 |
slower rate the interval must exclude |
|
0.1000 |
union-model SE-ratio screen, lower limit |
|
10 |
union-model SE-ratio screen, upper limit |
|
1.5000 |
least the fluctuation must move the estimate |
|
0.8000 |
IID-control SE-ratio ceiling |
|
0.0300 |
paired coverage-gain floor |
Limitations#
The red-cell ledger lists no red cell of this study.
limitation |
what it means for use |
|---|---|
The R comparison is pending |
The page holds Python property evidence, with comparator runs pending. No paired row, no parity result and no equivalence verdict exists. The R runs wait for beta-plans TRACKER item 18. The comparator does not block the method |
The parity witness waits for R |
The witness compares the Python minus R difference with the C-TMLE0 minus TMLE difference on |
The two pipelines will differ in three ways |
|
The declared pair comes from package draws |
The pair is the lower median of 50 package pipeline fits on the primary law. R does not choose it. The pair is a single point in the penalty path |
The parity claim will be narrow |
It is binary, two-arm, complete-outcome, non-cross-fitted ATE with a lasso mechanism pair. The cross-fitted, three-arm, missing-outcome and clustered fits have property cells and no R comparator |
The interval is measured under a correct outcome regression |
The primary law has a correct GLM outcome and a consistent lasso mechanism. The wrong-outcome cells have a correct treatment law. The study does not test the collaborative claim, an interval under an inconsistent outcome regression. F18 holds that claim. The sources report low coverage there |
The comparison with the ordinary TMLE is descriptive |
The paired TMLE rows read no verdict. They show how far the derivative columns move the estimate and the interval. They do not show an advantage of the derivative covariate |
Reproduction#
The fixture README and manifest record the provenance and the regeneration commands. The replications and property results carry every published row.