trend · 1.1.0
Crește sau scade?
Panta Theil–Sen cu testul Mann–Kendall, pe o valoare pe zi. Datele dense de la ceas sunt reduse la mediane săptămânale. Testul e corectat când zilele vecine seamănă între ele (Yue–Wang).
Despre Anpheros
Mai multe
Anpheros Research · Motorul de tipare de sănătate
Un dosar medical se citește de obicei câte o valoare pe rând. Lucrurile care contează cel mai mult, cum ar fi o scădere lentă, o săptămână care nu seamănă cu celelalte sau un simptom care tot revine, se văd abia în câteva luni. Anpheros le găsește prin statistică fixă și versionată, iar fiecare constatare vine cu datele pe care se sprijină.
Fig. 0 · Pacient sintetic, 180 de zile de tensiune sistolică. Puncte: valorile zilnice. Linie: trendul Theil–Sen.
01 · Problema
Ce arată de obicei un dosar
128 mmHg
Ultima tensiune sistolică. Pare normală și nu spune nimic despre direcția în care merge.
Ce raportează motorul
−7.7 mmHg / 6 luni
Pacient sintetic cu o scădere de 8 mmHg plantată pe parcursul a șase luni. Panta e regăsită, cu perioada ei, cu incertitudinea ei și cu măsurătorile pe care se sprijină.
Modelelor de inteligență artificială li se cere acum să citească dosare medicale. Primind câteva numere, un model ghicește tendința. Credem că tendința trebuie calculată, nu ghicită, și abia apoi dată modelului, împreună cu dovezile ei.
02 · Metoda
Fiecare întrebare are o singură metodă statistică, aleasă pentru date puține, neregulate și personale. Fiecare metodă are un număr de versiune, așa că rezultatele ei pot fi reproduse.
trend · 1.1.0
Panta Theil–Sen cu testul Mann–Kendall, pe o valoare pe zi. Datele dense de la ceas sunt reduse la mediane săptămânale. Testul e corectat când zilele vecine seamănă între ele (Yue–Wang).
baseline_deviation · 1.1.0
Ultimele 7 zile sunt comparate cu zilele 8–60, cu Mann–Whitney sau cu o diferență a mediilor ajustată pentru autocorelarea AR(1). Comparația se face cu normalul persoanei, nu cu media unei populații.
event_rate_change
Zilele cu simptom raportate la zilele în care persoana a notat ceva: ultimele 30 de zile față de cele 90 dinainte, cu un test exact. O zi fără nicio notare nu e socotită o zi fără simptom.
recurrence
Intervalele dintre începuturile episoadelor sunt testate față de o simulare Monte Carlo a unor episoade așezate la întâmplare. Simularea pornește de la amprenta datelor, așa că același dosar dă mereu aceeași valoare p.
Regula pentru „susținut”
q < 0.05 și |schimbare| ≥ prag
Toate testele dintr-o rulare sunt corectate împreună, cu Benjamini–Hochberg. O constatare e susținută statistic doar când valoarea q corectată e mică și schimbarea e destul de mare ca să conteze pentru acea măsurătoare. Restul e raportat ca descriere, marcat slab sau netestat.
03 · Validare
Un motor de tipare care găsește ceva la oricine e mai rău decât niciunul. L-am testat pe pacienți sintetici fără nimic plantat, și pe alții cu tipare cunoscute, de mărime cunoscută.
0%
din 600 de rulări pe dosare sintetice fără niciun tipar au dat vreo constatare susținută. Ținta: cel mult 5%.
0%
a fost rata de alarme false a primului nostru test de abatere pe datele de la ceas. Zilele vecine seamănă între ele, iar testul nu știa asta. Am corectat autocorelarea înainte de orice lansare.
0 ms
pentru o rulare completă pe un an obișnuit din dosarul unei persoane. Un dosar încărcat, de cinci ani, durează 236 ms.
Fig. 1 · Sensibilitate: proporția tiparelor plantate găsite ca susținute, la un efect de două ori pragul
Detectorul de frecvență a simptomelor e cel mai slab: prinde o triplare cam o dată din patru. Motorul raportează o ratare ca „slab” sau „netestat”, niciodată ca „nicio schimbare”.
04 · Limite
05 · Reproductibilitate
Id-ul unei constatări vine din datele ei, din versiunea metodei și din configurație. Dacă dosarul se schimbă, se schimbă și id-ul, iar id-ul vechi răspunde că datele s-au schimbat. O constatare se recalculează la cerere, nu se stochează niciodată, și fiecare trimite la măsurătorile pe care se sprijină.
"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 }
Fig. 2 · Constatare prescurtată de la un pacient sintetic. Valorile sunt ilustrative.
06 · Lucrează cu noi
Dezvoltatori
Endpoint-uri REST, patru unelte MCP pentru agenți AI, o secțiune de tipare în Context API și SDK-uri pentru TypeScript și Dart. Încearcă-l în sandboxul gratuit, cu pacienți sintetici.
Ghidul pentru dezvoltatori →Cercetători
Vrem ca metodele să fie contestate. Vorbește cu noi despre revizuirea metodelor, scenarii de validare, repere longitudinale și studii comune.
Începe o discuție →Medici
Fiecare măsurătoare are un prag pentru o schimbare care merită semnalată, și niciunul nu a fost încă revizuit clinic. Căutăm medici care să le revizuiască, câte o măsurătoare pe rând.
Oferă o revizuire →Health Pattern Engine 0.2.1 · beta. Dosarele reale sunt analizate doar cu acordul separat al fiecărui pacient.