Martina Castellucci · Lab

Lab · Food safety

Food safety

Non-compliance rates, trends and risk ranking for contaminants in food.

Edit the data

Samples
Overall non-compliance
Significant pairs
Method and data

The example data are invented, with real contaminant names. Rates come with a 95% Wilson interval. Enrichment uses a one-sided Fisher exact test that compares each pair with the other foods tested for the same contaminant, followed by Benjamini-Hochberg correction. The trend uses the Mann-Kendall test with Sen's slope. These are the inference steps of my MSc thesis pipeline; the results match SciPy, statsmodels and pymannkendall. Risk ranking: Invented data: the contaminant and food names are real categories, every number is simulated. Score = w·percentile(past non-compliance) + (1 − w)·percentile(model probability), computed among pairs with enough samples. Pairs below the minimum are marked as insufficient data. The system in my thesis also used a gradient-boosted model, statistical enrichment and pathway analysis; this page shows only the ranking step.