This project, carried out during my internship in the Biostatistics group at the Nestlé Research Center, focuses on the Fragility Index of clinical trials. The Fragility Index is the minimum number of patients whose outcomes would have to change (from event to nonevent, or the reverse) to flip the statistical significance of a trial. It complements the p-value by measuring the strength of a conclusion in patient units rather than in probability units: a trial where a single patient separates a significant result from a non-significant one is fragile, regardless of how convincing the p-value looks.
The motivation is that p-values are easy to misread. The gap between p = 0.049 and p = 0.051 can come down to one patient, yet one is reported as significant and the other is not. The Fragility Index makes that sensitivity explicit, which is why it has been gaining importance in the medical literature.
I developed a collection of R functions that compute the Fragility Index and several of its variants, designed to work with any statistical test. The user only supplies a function returning the p-value (and, when relevant, the underlying model), and the toolkit handles everything else. This test-agnostic design lets the same code run on t-tests, linear models and GLMs without modification.
Methodology and algorithms
I also implemented the forward, reverse and traditional Fragility Index, as well as the incidence Fragility Index, which only counts modifications that are sufficiently likely given the observed data (following Baer et al., 2021).
The Generalized Fragility Index (GFI)
The main extension of this work is a Generalized Fragility Index. The standard index is defined only for two groups and a binary outcome. The GFI removes both restrictions: it applies to any number of groups and to outcomes that are continuous, discrete or categorical, under any statistical test. To keep modifications realistic, each candidate value is constrained to a highest-density region of the outcome’s distribution with coverage 1−q, so the algorithm only considers changes that are plausible under the data. A greedy procedure then searches for the smallest set of such modifications that reverses significance. The implementation supports normal, exponential, Poisson, negative binomial and finite categorical outcomes.
Findings
Deliverables and outlook
The work produced a reusable R library now available to the Biostatistics team for their own trials, a 20-page technical documentation, and a presentation given at the team’s statistics seminar. I also outlined directions to extend it further: multi-dimensional modifications through box or ball constructions, functional (curve) outcomes approximated with B-splines, and a tabu search to tighten the greedy bounds.
Lucas Reymond is proudly powered by Powered by WordPress.com.