Statistician & data engineer · Montréal
I model rare, high-impact events — floods, financial tail risk, gaps in education data — and build the software that makes those models trustworthy.
- UNESCO Institute for Statistics
- M.Sc. Statistics, McGill
- B.Sc. Statistics, HKU
live, in the skyhow extremes cluster — a Gumbel copula, the idea behind my thesis
Scroll- 88 yrsof precipitation records modelled (1930–2017)
- 15station pairs in the copula analysis
- 97%test coverage on the SDG 4 tracker
- 12SDG 4 indicators tracked across releases
- 5working languages
About Me
I study what happens in the tails — the rare, high-impact events that averages hide.
My work starts with a simple question: how sure can we be about things that almost never happen? Answering it well takes two skills I try to hold to the same standard — careful statistics, and engineering that lets anyone rerun the result.
I trained in statistics at HKU and McGill, and today I apply it to education data for SDG 4 at the UNESCO Institute for Statistics. Next, I want to bring the same rigour to risk, research or international development.
Working languages
- English
- Français
- 普通话
- 廣東話
- 日本語


- Hong Kong
B.Sc. Statistics, University of Hong Kong
Dean’s Honours List; exchange semester at McGill (2022). Research assistant in epidemiology (co-author in Vaccines); final-year project on Omicron hybrid immunity.
- Montréal
M.Sc. Mathematics & Statistics, McGill
Thesis on covariate-dependent Archimax copulas for rainfall extremes in Québec.
- MontréalNow
UNESCO Institute for Statistics
SDG 4 education statistics: cohort models and release-vintage analytics.
What I Do
Three threads run through everything I build. Each one links to the work that proves it.
- Thread A
Extremes & tail risk
How large can it get — and does it happen everywhere at once?
Extreme value theory and copulas for events that averages hide: non-stationary GEV margins, tail dependence, and estimators with honest uncertainty.
- Extreme value theory
- Copulas
- Bootstrap
EvidencecovarchimaxTailFM
- Thread B
Trustworthy modelling software
Can someone else rerun it and get the same answer?
Bayesian and machine-learning models built like products: typed configs, tests, locked environments, CI, and reports generated straight from evidence.
- Stan · NumPyro
- PyTorch
- Testing & CI
EvidenceVVIBayesian Cohort Model
- Thread C
Statistics for the public good
Which numbers can a policy-maker actually rely on?
Official statistics and public health: tracking how SDG 4 indicators change between releases at UNESCO, and measuring vaccine and hybrid-immunity protection from Hong Kong’s Omicron waves.
- SDG 4 indicators
- Survival analysis
- Data vintages
EvidenceSDG 4 Data Revision TrackerHybrid immunity (VVI)Beyond the Code
Selected Work
Four case studies — the question, the evidence, and the code to rerun it yourself.
- M.Sc. thesis · McGill 202601 / 04
Covariate-dependent Archimax copulas
covarchimax · R package
Does heavy rain hit several places at the same time — and is that changing?
choose a season
EXTREMAL COEFFICIENT · 6 STATIONS
3.90η, from 1 to 6all togetherindependentAutumn storms: the most likely to strike together.
MONTHLY MAXIMA
+3.15 mmafter 1975, p < 0.001Planche I — the St. Lawrence lowlands as a cut terrain block. Arc weight = how often two stations’ extremes coincide (λU); clouds and rain = how heavy the season’s monthly maxima are.
3.90 vs 5.73Six-station extremal coefficient: autumn storms strike together, early-summer extremes are close to independent (difference 1.83, 90% CI 1.24–2.28).
+3.2 mmRise in October–November monthly maxima after 1975 (p < 0.001) — magnitude and co-occurrence move separately.
What I built
A new maximum-likelihood estimator for a covariate-dependent Pickands dependence function, shipped as a tested R package and applied to 88 years of records from six ECCC stations. Every table and figure regenerates from raw data with one
make all, each with an uncertainty statement.- R
- Extreme value theory
- Archimax copulas
- Block bootstrap
- GitHub Actions
- Biostatistics · public health02 / 04
VVI · Hybrid immunity in calendar time
Python package · from my HKU final-year project
Does a booster before your first Omicron infection protect you — or imprint you?
choose a view
Build + fit time · synthetic cohorts
0rows, any cohort sizePlanche II — the ridge is 2022’s two Omicron waves; person-days settle into a ledger of sufficient statistics. All numbers are from synthetic cohorts — the licensed records never leave their environment.
5×10⁸ → 17,520Person-days collapsed into sufficient statistics (people at risk and events per covariate cell × calendar day) — same MLE, same standard errors, no sub-sampling.
1M people · 13 sA million-person synthetic cohort fits in 13 s and 0.3 GB; the person-day route runs out of memory beyond about 5,000 people on the same machine.
What I built
My final-year project at HKU (STAT4799, 2023–24, supervised by Dr. Eddy K. F. Lam) compared protection against Omicron reinfection across vaccination–infection histories — Comirnaty (B) and CoronaVac (S), two to four doses, before a first infection (I) — in territory-wide linked records. Those records are licensed and never leave their environment, so VVI is a clean-room re-implementation: a tested package for grouped-time proportional-hazards models in calendar time, validated on simulated cohorts with known truth.
- Python
- cloglog GLM
- B-splines
- pytest
- Synthetic data only
- Deep learning for extremes03 / 04
TailFM
PyTorch · amortized inference
Can a neural network learn how heavy a tail is — and how often extremes arrive together?
Held-out test · tail-index error
0 of 9comparisons where the classical Hill estimator is still more accurate. Reported as found.
Paired error, network − Hill, with 95% intervals; three training seeds, 64 shared worlds per family.
Planche III — ridges are heavy-tailed densities with different tail indices; magnitudes (warm) and ranks (ink) take separate pathways into the network, the fix for the identifiability flaw.
IdentifiabilityAn audit showed the original rank-only design could not recover tail shape; I rebuilt it as a two-pathway magnitude / copula model.
9 of 9Seed × family comparisons where Hill still wins on ξ (+0.06 to +0.12 MAE) — reported as found, not tuned away.
What I built
An auditable experimental system: simulated worlds with known truth, explicit statistical targets, classical baselines on the same held-out data, configured RNG streams, versioned checkpoints and generated reports, with a coverage gate in CI.
- PyTorch
- DeepSets
- Simulation design
- pytest
- Official statistics04 / 04
SDG 4 Data Revision Tracker
Python · Polars
How much do education statistics change from one data release to the next?
choose a release
Reference year 2021, as each release saw it
44countries, 2025 releaseLate data keep arriving for years after a release — a trend read off one release mixes that in with real change.
Countries with a value for indicator 4.c.1, by reference year, in four releases. Synthetic data from the repository's generator.
16 → 44Countries with a 2021 value as successive releases backfill it — why a trend read off one release can mislead.
Exact matchPipeline counts of backfilled, retracted and revised values equal a planted ground truth, for several random seeds.
What I built
Treats every release as a data vintage, the way macroeconomists treat GDP estimates: a typed CLI, a deterministic synthetic generator as ground truth, publication-ready figures and a static interactive explorer. 97% test coverage; no real data in the repository.
- Python
- Polars
- mypy --strict
- Hypothesis
- GitHub Pages
Other Noteworthy Projects
view the archiveIMMCA · Canadian Immigration Pathways
Enter a profile and see which federal, Québec and provincial-nominee pathways could fit, with their requirements — because changing immigration rules are hard to follow. Runs entirely in the browser, in three languages, and refreshes its information every day.
This Website
Built on Brittany Chiang’s open-source v4 design, upgraded to Gatsby 5, with a LaTeX-ready notes section and a column for public-interest work.
HosiCite · Citation Atlas
An interactive atlas of how papers cite each other, drawn as an old painted map with a timeline — a game-like way to explore a research field.
- N° 04
Bayesian Cohort Model (SDG 4.1.4)
An independent reproduction of a published Bayesian cohort model for out-of-school rates, with a synthetic end-to-end demo and regression tests. Work in progress.
- N° 05
Epidemiology Research, HKU
Research assistant on a large-scale epidemiological study (co-author in Vaccines), and a final-year project on Omicron hybrid immunity — see the VVI case study.
Experience
Where that work has happened so far.
Intern, Education Statistics @ UNESCO UIS
2026 — Present
- Working on SDG 4 education statistics at the UNESCO Institute for Statistics, the custodian agency for the global education indicators.
- Reproducing a Bayesian cohort model for out-of-school rates (SDG 4.1.4) in NumPyro/JAX against a Stan reference, with a synthetic-data demo, regression tests and a locked environment.
- Built release-vintage analytics that measure how education indicators change between data releases — reporting lag, backfill, withdrawals and value revisions.
Beyond the Code
Statistics matters most when it reaches people. Some of the work I’m proudest of happens outside a repository — in classrooms, communities and public data.
Leadership · 2022
Millennium Fellow, UN Academic Impact
Selected for the Millennium Fellowship, a UN Academic Impact programme for student-led SDG projects; I led voluntary teaching for children from minority groups during Covid-19.
SDG 4 · UNESCO
Statistics as a public good
Why I work on education statistics — and why every public repository I publish ships code, tests and synthetic data, but never restricted data.
Education
Teaching mathematics
Tutoring IB Mathematics, calculus and linear algebra — helping students build intuition before formulas.
Leadership & community
roles alongside the degrees
- 2023 — 24Student AmbassadorThe University of Hong Kong
Represented HKU at official outreach events and campaigns.
- 2022 — 24Science Student Peer AdvisorHKU Faculty of Science
Advised first-year students through the move from school to university; named Outstanding Science Student Peer Advisor, 2022–23.
- 2024 —Alumni ConnectorHKU Class of 2024
- 2020 — 23Person in Charge, voluntary teachingFujia
Created the Zhanjiang project — two teaching sessions with 24 volunteers from four universities — and led the Shenzhen project before it.
- 2022Project CoordinatorMillennium Fellowship · UN Academic Impact
Led voluntary teaching and support for children from minority groups in China during Covid-19.
- 2020 — 24SopranoHKUSU Union Choir
Concerts including the HKUCO × HKUC joint concert and the choir’s anniversary concert.
- 2020 — 21Student RepresentativeHKU Staff–Student Consultative Committee
Contact
Leave me a note — it comes straight to my inbox.