EN
← Tillbaka till kod
— ML Engineering

GlucoPred

Examensarbete

Prognostiserar blodsocker 15-60 minuter framåt vid typ 1-diabetes, tränad på ~2,5 års CGM- och insulinpumpsdata från mitt barn. En automatiserad pipeline omvandlar råa exporter till en feature-matris med 45 kolumner; en LSTM slår klassiska baslinjer (1,28 mmol/L RMSE vid +30 min), med Clarke Error Grid-analys som visar var träffsäkerhet och klinisk säkerhet skiljer sig åt.

Python PyTorch statsmodels Pandas NumPy DuckDB FastAPI React TypeScript Vite Tailwind CSS Recharts Streamlit Vercel Data Pipeline Time-Series Forecasting
~ när Mar 2026 → Pågående
~ status Aktiv
~ typ Skolprojekt

GlucoPred är mitt examensarbete: att prognostisera blodsocker 15-60 minuter framåt för en person med typ 1-diabetes, utifrån ~2,5 års data från kontinuerlig glukosmätare (CGM) och insulinpump från mitt barn (Dexcom via Glooko, 5-minutersintervall). Alla värden anges i mmol/L (≈18 mg/dL per mmol/L).

Pipeline

  • Automatiserad, idempotent ZIP→DuckDB-inläsning av råa CGM- och pumpexporter (språkmedveten: svenska/engelska)
  • CGM-rensning, detektering av sensorsessioner och interpolering av luckor
  • Feature-matris med 45 kolumner - lags, glidande statistik, tidskodningar och en farmakokinetisk insulin-on-board-modell för NovoRapid (bolus + basal) - mot +15 / +30 / +60 min-mål, med verifierat noll framtidsläckage (CI-testat)

Modeller & utvärdering

Baslinjer (persistens, glidande medelvärde, linjär extrapolering, AR(2)) och en LSTM utvärderas med RMSE/MAE, tid inom målområde och Clarke Error Grid-zonanalys (A-E per modell och horisont). LSTM:en slår alla baslinjer vid varje horisont - 1,28 mmol/L RMSE vid +30 min mot AR(2):s 1,45 - utvärderat på utelämnad, färsk data.

Det mest intressanta fyndet är en skillnad mellan träffsäkerhet och klinisk säkerhet: även om LSTM:en är den mest träffsäkra modellen ger en enkel persistensbaslinje en lägre andel fel i farozonen vid längre horisonter. Modellen med lägst genomsnittligt fel är alltså inte automatiskt den säkraste nära hypoglykemi - att lyfta fram det, snarare än bara RMSE-rubriken, är centralt i arbetet.

Gränssnitt

Ett React-gränssnitt (Recharts) ritar upp faktiskt-mot-predikterat med väljare för modell och horisont. Eftersom den riktiga appen körs mot personlig medicinsk data driftas den aldrig publikt - istället finns en publik demo byggd på helt syntetisk data som driftas separat, så att gränssnittet kan utforskas utan att exponera någon verklig data.

Nästa steg

Gradient boosting-modeller, hyperparameteroptimering och en djupare klinisk felanalys (att lokalisera var och när de osäkra prediktionerna uppstår). Siffrorna speglar nuläget i ett pågående examensarbete.

Core LogicAI & ML ModelingData EngineeringInfrastructure & APIFrontend & UI
Om diagrammet
Varje axel är en funktionell pelare; det orange visar var mitt fokus låg, det lila hur stor del av arbetet som var AI-förstärkt. Det AI-lagret är där verktyg snabbade upp implementationen - arkitektur, kodgranskning och kvalitetsnivån är mina egna. Jag använder AI som precisionsverktyg med strikta konventioner, inte autopilot.