Each site fits its own nuisance models and targets locally; only the site estimate and its influence-curve variance leave. The pooled variance still comes out right because influence curves add.
References
Vo, van der Laan & Petersen (2023), federated targeted learning; the pooling rule is the standard influence-curve-weighted combination.
Examples
set.seed(18)
n <- 600
X <- matrix(rnorm(n), n)
D <- rbinom(n, 1, plogis(X[, 1]))
y <- 1 + D + X[, 1] + rnorm(n)
Tmlfed(y, D, X, site = rep(1:3, each = 200))[c("estimate", "se", "site_psi")]
#> $estimate
#> [1] 0.9452331
#>
#> $se
#> [1] 0.09103628
#>
#> $site_psi
#> [1] 0.7817783 0.9338286 1.0857344
#>
