Paper · 2018-10-19 · stat.ML, cs.LG, q-bio.NC, q-bio.QM
Federated Learning in Distributed Medical Databases: Meta-Analysis of Large-Scale Subcortical Brain Data
Federated pipeline for subcortical brain shape across centres without sharing individual records. It standardises features, removes age and sex effects with ADMM-estimated shared weights, and runs PCA on truncated local eigen-components. Tested on synthetic data and ADNI, MIRIAD, PPMI and UK Biobank scans. Results are qualitative; no numeric baseline.
Federated learningFederated aggregationDimensionality reductionfederated-learningmeta-analysispcaadmmneuroimaging
AI-compiled by claude-haiku-5-5 on 2026-11-08, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Hospitals and research centres hold many brain scans, but privacy and legal rules often stop them from pooling those scans in one place. This paper describes a way to run one joint statistical analysis across several such sites. Each site keeps its records and shares only summary numbers and small matrices that describe its data. A shared calculation combines them into one view of how brain shapes vary between healthy people and people with brain diseases.
The method has three parts. First, every site's measurements are put on a common scale. Second, the effect of age and sex is removed with a correction that all sites agree on. Third, the main patterns of variation are extracted. The authors test it on simulated data and then on brain scans from four research databases. In their real-data results, the leading patterns separate healthy people from people with Alzheimer's disease, and the pattern holds across the sites.
The appeal is that the sites exchange a few rounds of parameters instead of raw data, which avoids moving large image sets around. The paper does not measure how private the shared quantities are, so the privacy claim is the authors' own.
TL;DR
- A federated pipeline for subcortical brain shape: standardise, correct for age and sex, then run PCA, without pooling individual records §2.
- The covariate correction is a consensus least-squares problem solved with ADMM. The experiments use 10 iterations §2.1.2 §3.2.
- The PCA shares only truncated local eigen-components. Components are kept until 80 % of the explained variability is reached §2.1.3.
- Results are qualitative and author-reported. The text gives no numeric baseline, and the notation has several inconsistencies (see Pitfalls).
- No official code was found.
Problem
Biomedical data at different centres often cannot be shared directly because of privacy and legal limits §1. Mass-univariate meta-analysis, as used by the ENIGMA consortium, treats one outcome at a time §1. Federated versions of multivariate methods that rely on gradient descent need many communication rounds §1. An earlier eigen-decomposition approach avoided iteration but did not include federated standardisation or covariate correction §1.
The global data matrix cannot be formed, so the global regression weights for covariate correction cannot be computed directly from the pooled data §2.
Method
The framework has three steps: standardisation, correction for confounders, and variability analysis §2. The global quantities are the data matrix X and the covariates Y, which are concatenations of the per-centre matrices. They are never formed in practice §2.
Step 1, standardisation §2.1.1. Each centre sends its feature mean and standard deviation vectors. These are combined with the standard online (Welford) update §2.1.1 to give global feature-wise statistics. Mean and standard deviation are initialised to zero §2.1.1. Each centre then scales its data with the global statistics, giving X̂_c, which keeps the shape of X_c §2.1.1.
Step 2, correction for covariates §2.1.2. The model assumes a linear effect, X̂ = YW, where W is the matrix of covariate effects §2. The per-centre least-squares objective is f_c §2.1.2. The global consensus problem minimises the sum of f_c subject to each local W_c equalling a shared W̃ §2.1.2. Its augmented Lagrangian is eq. 1. The ADMM updates are: a local W_c update eq. 2, a local dual update for α_c eq. 3, and a global update for W̃ that averages the local W_c and α_c eq. 4. Each centre then removes the shared covariate effect from its data: E_c = X̂_c − Y_c W̃ §2.1.2.
Step 3, federated PCA §2.1.3. The global covariance is the sum of local covariance matrices §2.1.3. Instead of sharing full local covariances, each centre shares its leading eigen-components, S ≈ Σ_c U_c Σ_c² U_c' §2.1.3. The number of components per centre is set by an 80 % explained-variability threshold §2.1.3. Local eigen-components are computed from the smaller N_c × N_c matrix §2.1.3. The global components are the leading eigenvectors of the approximated covariance, and the projection is E U §2.1.3.
Pseudocode for step 2, following the paper's ADMM updates. The paper does not give an algorithm box, so this is a reconstruction from eq. 1–eq. 4. The update order and the matrix shapes are explained under Pitfalls.
# Consensus ADMM for covariate correction [§2.1.2] [eq. 2] [eq. 3] [eq. 4]
# Per centre c: Xhat_c (N_c, F) standardised data, Y_c (N_c, K) covariates
# Shared: W_tilde (K, F); local: W_c and alpha_c (K, F); penalty rho
# Iterations: 10 in the real-data experiments [§3.2]
def admm_correction(centres, rho, n_iter):
# Initial values are not stated in the paper; zeros are assumed here
W_tilde = zeros(K, F)
W_c = [zeros(K, F) for each centre]
alpha_c = [zeros(K, F) for each centre]
for k in range(n_iter):
# Local step: solve the ridge-type system per centre [eq. 2]
# Printed eq. 2 uses Xhat' Xhat; with Xhat = Y W it is Y' Y (inferred)
for each centre c:
W_c[c] = solve(Y_c' Y_c + rho / 2 * I,
Y_c' Xhat_c - alpha_c[c] / 2 + rho / 2 * W_tilde)
# Global step: unweighted mean over centres, using old alpha [eq. 4]
W_tilde = mean over c of (W_c[c] + alpha_c[c] / rho)
# Local dual step: uses the new W_tilde [eq. 3]
for each centre c:
alpha_c[c] = alpha_c[c] + rho * (W_c[c] - W_tilde)
return W_tildePseudocode for step 3 (federated PCA), per §2.1.3. The mapping from the Gram-matrix eigenvectors to feature-space components is the standard SVD identity, not a step stated in the paper.
# Federated PCA from local eigen-components [§2.1.3]
# Per centre: E_c (N_c, F), subjects in rows, F features
def local_components(E_c, explained=0.8):
# Eigen-decompose the small Gram matrix, size (N_c, N_c) [§2.1.3]
gram = E_c @ E_c.T
eigenvalues, vectors = eigh(gram) # sort descending
# Keep leading components up to 80 % explained variability [§2.1.3]
r_c = number of leading components reaching explained
# Map back to feature space (standard identity, not stated)
U_c = E_c.T @ vectors[:, :r_c] / sqrt(eigenvalues[:r_c])
Sigma_c = sqrt(eigenvalues[:r_c])
return U_c, Sigma_c
def global_components(local_list, m):
# Master: approximate covariance from shared local pieces [§2.1.3]
# How the master decomposes this sum is not stated in the paper
A = concatenate([U_c * Sigma_c for each centre], axis=1) # (F, sum r_c)
U, _, _ = svd(A) # leading m columns of U
return U[:, :m]Hyperparameters
| Name | Value | Where | Notes |
|---|---|---|---|
| initial mean and standard deviation | zero | §2.1.1 | initialisation of the online update |
| ADMM penalty ρ | not stated | eq. 1 §2.1.2 | described as both penalty and dual step length |
| ADMM initial values (W_c, α_c, W̃) | not stated | §2.1.2 | zero initialisation in the pseudocode is an assumption |
| ADMM iterations | 10 | §3.2 | fixed count; no tolerance or stopping rule stated |
| explained-variability threshold | 80 % | §2.1.3 | cumulative reading inferred; per-centre application stated |
| number of global components m | not stated | §2.1.3 | first four shown in the figures fig. 3 |
| covariates in the correction | Sex, Age, Age² | §3.2 | whether an intercept is included is not stated |
| number of centres (real data) | 4 | §3.2 tab. 1 | one per database |
| features (real data) | 54,240 | §3.2 | radial distance and log Jacobian over seven subcortical structures |
| synthetic size | N = 2400, F = 50,000, dim(y) = 20 | fig. 2 | caption values |
| synthetic noise | Gaussian, σ = 20 % of ‖X‖ | §3.1 | norm type not stated |
| synthetic repetitions | 200 folds | §3.1 | "folds" meaning repetitions is inferred |
| optimiser, learning rate | none (closed-form updates) | eq. 2–eq. 4 | no gradient steps |
| hardware, runtime, random seeds | not stated | — |
Results
Author-reported and qualitative. The text gives no metric table and no numeric baseline. Setup: simulated data, then ENIGMA Shape features from four databases (ADNI, MIRIAD, PPMI, UK Biobank) §3.2 tab. 1.
| Setting | Metric | Baseline | This paper | Source |
|---|---|---|---|---|
| Synthetic: consensus weights vs centralised weights | MSE of W̃ against W, varying number of centres | centralised W | MSE curve shown; values not given in the text | fig. 2 |
| Synthetic: single column of W | W vs W̃ at C = 100 | centralised W | close agreement shown; no number given | fig. 2 |
| Synthetic: PCA | first components vs federated components, 100 centres | centralised PCA | agreement shown; no number given | fig. 2 |
| Real: AD vs controls | projection on first four components | none reported | PC1 to PC3 separate healthy from AD consistently across centres | fig. 3 fig. 4 |
| Real: MCI | progressive vs stable MCI from ADNI | none reported | projection shown; no statistic given | fig. 3 |
| Real: Parkinson's disease | similarity to healthy controls | none reported | described as generally similar to healthy controls | §3.2 |
| Real: age | residual age effect after correction | none | healthy ADNI participants lie between AD and the rest, which the authors read as residual age effect | §3.2 |
Paper vs code
No official code. The paper links no repository and no project page, and the arXiv metadata has no code link. A GitHub repository search for "federated pca admm" returned one hit, huaihuaiweng/FPCA (GPL-2.0), a master's thesis project whose owner is not an author; it is not used. Searches for "federated meta-analysis brain", "lorenzi federated" and the Epione organisation and user pages found no related repository.
Pitfalls
- Matrix shapes conflict. The model is X̂ = YW §2 and the synthetic experiment uses X = YW §3.1, and E_c = X̂_c − Y_c W̃ §2.1.2 matches that. But f_c is written as ‖Y_c − X̂_c W_c‖² §2.1.2, and eq. 2 contains X̂' X̂. These do not agree. Implementing X̂ = YW gives W with shape K × F and a K × K solve. Taking eq. 2 as printed would give an F × F solve, with F = 54,240. A dense F × F float64 matrix is about 23.5 GB (derived from F). The pseudocode uses the Y'Y form, which is the inference from swapping roles. Check against the authors' implementation before relying on it.
- Update order. The text lists α_c before the global W̃ §2.1.2, but eq. 3 needs W̃^(k+1) and eq. 4 uses α^(k). The consistent order is W_c, then W̃, then α_c, as in the pseudocode.
- Subscript in eq. 2. The shared term is written as W̃_c^(k). It should be the shared W̃^(k), as the Lagrangian implies.
- Unweighted global average. Eq. 4 averages the centres with equal weight (1/C), not by sample size. Centre sizes differ a lot: the ADNI rows of table 1 sum to 338 subjects and the MIRIAD rows to 37 tab. 1. The paper does not discuss this.
- Penalty ρ unspecified. The value and any adaptation are not stated. The paper calls ρ both a penalty factor and a dual update step length §2.1.2. Convergence after 10 iterations is unverified: no residual or tolerance is reported, and the synthetic figure shows error against the number of centres, not against iteration fig. 2.
- Standardisation quantities. The paper says each centre transmits its mean and standard deviation §2.1.1. Combining standard deviations needs counts and sums of squares as well. The merge formulas were in a commented-out block of the source and are not in the compiled paper. Whether sample or population standard deviation is used is not stated.
- Gram matrix notation. The text writes the local eigenproblem on (X_c X_c')², described as N_c × N_c §2.1.3. Under the paper's own convention, X_c X_c' is F × F. The N_c × N_c matrix is X_c' X_c (inferred). The square should be read with care: eigenvalues of that Gram matrix give Σ_c², so Σ_c comes from square roots.
- Master-step cost. The paper does not say how the master decomposes the sum of local pieces at F = 54,240. The low-rank route in the pseudocode (an SVD of the stacked U_c Σ_c) gives the same eigenvectors. That route is an inference from the algebra, not stated in the paper.
- Threshold reading. "Fixing a threshold of 80 %" §2.1.3 does not say whether it is cumulative or applied per component. The cumulative reading is inferred.
- Index typo. The sum for S is written up to S, where C is meant §2.1.3.
- Table and text counts disagree. The text gives 455 controls, 181 MCInc, 208 MCIc, 234 AD and 232 PD §3.2. The rows of table 1 sum to 236 controls, 62 MCInc, 78 MCIc, 115 AD and 85 PD tab. 1. The header totals (ADNI 802, MIRIAD 68, PPMI 232, UK Biobank 208) match neither. The paper does not say which counts are right.
- Privacy. The paper says no individual information is shared, but it shares per-centre matrices W_c and α_c, means and standard deviations, and leading eigen-components U_c and Σ_c §2.1. No privacy analysis is given.
- Confounding is only partly removed. The authors report a residual age effect and cite general work on residual confounding §3.2. The correction is linear and uses only the listed covariates.
Lineage
- Builds on: Lorenzi et al. (2017, 2018), eigen-decomposition with sharing of local eigen-modes and no iteration across centres, but no federated standardisation or covariate correction §1 §2.1.3. Welford (1962) for the online mean and variance §2.1.1. Boyd et al. (2010) for ADMM §2.1.2. Worsley et al. (2005) for the smaller-matrix eigen trick §2.1.3. ENIGMA Shape (Wade et al., 2015; Roshchupkin et al., 2016) for feature extraction §3.2.
- Compared against: mass-univariate ENIGMA meta-analysis, described in the introduction only; the paper reports no quantitative comparison §1.
- Superseded by: not known from content on this wiki.
Source and license
Adapted from “Federated Learning in Distributed Medical Databases: Meta-Analysis of Large-Scale Subcortical Brain Data” by Santiago Silva, Boris Gutman, Eduardo Romero, Paul M Thompson, Andre Altmann, Marco Lorenzi (arXiv:1810.08553), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.