Anpheros Research · Health Pattern Engine

Gesundheit ist eine Zeitreihe.
Wir lesen sie mit Regeln, die Sie prüfen können.

Eine Gesundheitsakte wird meist Wert für Wert gelesen. Was am meisten zählt, etwa ein langsamer Rückgang, eine Woche, die anders ist als die übrigen, oder ein Symptom, das immer wiederkommt, zeigt sich erst über Monate. Anpheros findet es mit festen, versionierten statistischen Verfahren, und jeder Befund bringt die Daten mit, auf denen er beruht.

Abb. 0 · Synthetischer Patient, 180 Tage systolischer Blutdruck. Punkte: Tageswerte. Linie: Theil–Sen-Trend.

01 · Das Problem

Eine Momentaufnahme verbirgt die Veränderung.

Was eine Akte meist zeigt

128 mmHg

Letzter systolischer Wert. Wirkt normal und sagt nichts darüber, wohin es geht.

Was die Engine meldet

−7.7 mmHg / 6 Monate

Synthetischer Patient mit einem eingebauten Rückgang von 8 mmHg über sechs Monate. Die Steigung wird wiedergefunden, mit ihrem Zeitraum, ihrer Unsicherheit und den Messwerten, auf denen sie beruht.

KI-Modelle sollen heute Gesundheitsakten lesen. Mit einer Handvoll Zahlen rät ein Modell den Trend. Wir meinen: Der Trend sollte berechnet, nicht geraten werden, und dann mit seinen Belegen an das Modell gehen.

02 · Methode

Vier Fragen, vier Methoden.

Jede Frage hat genau eine statistische Methode, ausgewählt für wenige, unregelmäßige, persönliche Daten. Jede Methode hat eine Versionsnummer, damit ihre Ergebnisse reproduzierbar sind.

trend · 1.1.0

Steigt es oder fällt es?

Theil–Sen-Steigung mit Mann–Kendall-Test auf einem Wert pro Tag. Dichte Uhrendaten werden auf Wochenmediane reduziert. Der Test wird korrigiert, wenn benachbarte Tage einander ähneln (Yue–Wang).

baseline_deviation · 1.1.0

Ist diese Woche für diese Person ungewöhnlich?

Die letzten 7 Tage werden mit den Tagen 8–60 verglichen, mit Mann–Whitney oder einer für AR(1)-Autokorrelation angepassten Mittelwertdifferenz. Verglichen wird mit dem eigenen Normalwert der Person, nicht mit einem Bevölkerungsdurchschnitt.

event_rate_change

Wird ein Symptom häufiger erfasst?

Symptomtage im Verhältnis zu den Tagen, an denen die Person überhaupt etwas eingetragen hat: die letzten 30 Tage gegen die 90 davor, mit einem exakten Test. Ein Tag ohne Eintrag gilt nicht als Tag ohne Symptom.

recurrence

Kommt es in einem Rhythmus wieder?

Die Abstände zwischen Episodenbeginnen werden gegen eine Monte-Carlo-Simulation zufällig verteilter Episoden getestet. Die Simulation ist aus dem Fingerabdruck der Daten geseedet, sodass dieselbe Akte immer denselben p-Wert ergibt.

Die Regel für „gestützt“

q < 0.05 und |Änderung| ≥ Schwelle

Alle Tests eines Laufs werden gemeinsam nach Benjamini–Hochberg korrigiert. Ein Befund gilt nur dann als statistisch gestützt, wenn der korrigierte q-Wert klein ist und die Änderung groß genug, um für diesen Messwert eine Rolle zu spielen. Alles andere wird als Beschreibung gemeldet, als schwach oder nicht getestet gekennzeichnet.

03 · Validierung

Gebaut, um still zu bleiben.

Eine Muster-Engine, die bei jedem etwas findet, ist schlechter als keine. Wir haben sie an synthetischen Patienten ohne eingebautes Muster getestet und an anderen mit bekannten Mustern bekannter Größe.

0%

von 600 Läufen auf synthetischen Akten ohne Muster ergaben einen gestützten Befund. Ziel: höchstens 5%.

0%

betrug die Fehlalarmrate unseres ersten Abweichungstests auf Uhrendaten. Benachbarte Tage ähneln sich, und der Test wusste das nicht. Wir haben die Autokorrelation korrigiert, bevor irgendetwas veröffentlicht wurde.

0 ms

für einen vollständigen Lauf über ein typisches Jahr der Akte einer Person. Eine umfangreiche Akte über fünf Jahre braucht 236 ms.

Abb. 1 · Sensitivität: Anteil der eingebauten Muster, die als gestützt gefunden wurden, bei doppeltem Schwellenwert

Wöchentlich wiederkehrendes Symptom100%
Sprung der Ruheherzfrequenz84%
Steigung des Blutdrucks67%
Symptomhäufigkeit ×324%

Der Detektor für Symptomhäufigkeit ist der schwächste: Er erkennt eine Verdreifachung etwa einmal von vier. Die Engine meldet einen Fehlgriff als „schwach“ oder „nicht getestet“, nie als „keine Änderung“.

04 · Grenzen

Was sie nicht sagt.

  • eine DiagnoseBefunde beschreiben die Akte. Sie benennen nie eine Erkrankung und schlagen nie eine Änderung der Behandlung vor.
  • eine UrsacheEine Veränderung nach einem neuen Medikament ist kein Beleg dafür, dass das Medikament sie verursacht hat, und jeder Befund sagt das.
  • die Meinung einer KIKein KI-Modell analysiert die Daten. Jede Zahl stammt aus festen statistischen Regeln.
  • ärztlich geprüftDie Schwellenwerte für eine bedeutsame Änderung wurden mit Unterstützung von KI festgelegt und noch nicht ärztlich geprüft. Jeder Befund sagt das in einem eigenen Feld.
  • die TageszeitDie Ortszeit der Person steht noch nicht in der Akte, deshalb werden keine Tageszeit-Muster berechnet.

05 · Reproduzierbarkeit

Gleiche Daten. Gleiche Antwort. Gleiche ID.

Die ID eines Befunds ergibt sich aus seinen Daten, der Methodenversion und der Konfiguration. Ändert sich die Akte, ändert sich die ID, und die alte ID meldet, dass sich die Daten geändert haben. Ein Befund wird auf Anfrage neu berechnet, nie gespeichert, und jeder verweist auf die Messwerte, auf denen er beruht.

"type": "trend",
"summary_text": "Systolic blood pressure fell by about 7.7 mmHg over 180 days.",
"strength": "moderate",
"statistics": { "p_value": 0.0004, "q_value": 0.0031 },
"evidence_total": 58,
"method": { "name": "trend", "version": "1.1.0" },
"engine_version": "0.2.1",
"review": { "thresholds_reviewed_by_clinician": false },
"safety": { "not_a_diagnosis": true, "causal_claim": false }

Abb. 2 · Gekürzter Befund eines synthetischen Patienten. Die Werte sind beispielhaft.

06 · Mit uns arbeiten

Drei Wege hinein.

Health Pattern Engine 0.2.1 · Beta. Echte Akten werden nur mit der gesonderten Einwilligung der jeweiligen Patientin oder des jeweiligen Patienten analysiert.