trend · 1.1.0
¿Sube o baja?
Pendiente de Theil–Sen con la prueba de Mann–Kendall sobre un valor por día. Los datos densos del reloj se reducen a medianas semanales. La prueba se corrige cuando los días vecinos se parecen entre sí (Yue–Wang).
Explora la app
Anpheros Research · Motor de patrones de salud
Un historial médico suele leerse valor a valor. Lo que más importa, como un descenso lento, una semana distinta de las demás o un síntoma que vuelve una y otra vez, solo aparece a lo largo de meses. Anpheros lo encuentra con estadística fija y versionada, y cada hallazgo trae los datos en los que se basa.
Fig. 0 · Paciente sintético, 180 días de presión sistólica. Puntos: valores diarios. Línea: tendencia de Theil–Sen.
01 · El problema
Lo que suele mostrar un historial
128 mmHg
Última presión sistólica. Parece normal y no dice nada de hacia dónde va.
Lo que informa el motor
−7.7 mmHg / 6 meses
Paciente sintético con un descenso de 8 mmHg introducido durante seis meses. La pendiente se recupera con su periodo, su incertidumbre y las mediciones en las que se basa.
Hoy se pide a los modelos de IA que lean historiales médicos. Con unos pocos números, un modelo adivina la tendencia. Creemos que la tendencia debe calcularse, no adivinarse, y después entregarse al modelo con sus pruebas.
02 · Método
Cada pregunta tiene un único método estadístico, elegido para datos escasos, irregulares y personales. Cada método lleva un número de versión, así que sus resultados se pueden reproducir.
trend · 1.1.0
Pendiente de Theil–Sen con la prueba de Mann–Kendall sobre un valor por día. Los datos densos del reloj se reducen a medianas semanales. La prueba se corrige cuando los días vecinos se parecen entre sí (Yue–Wang).
baseline_deviation · 1.1.0
Los últimos 7 días se comparan con los días 8 a 60, con Mann–Whitney o con una diferencia de medias ajustada por autocorrelación AR(1). La comparación es con lo normal de la persona, no con un promedio de población.
event_rate_change
Días con síntoma sobre los días en que la persona registró algo: los últimos 30 días frente a los 90 anteriores, con una prueba exacta. Un día sin registros no cuenta como un día sin el síntoma.
recurrence
Los intervalos entre los inicios de los episodios se comparan con una simulación de Monte Carlo de episodios colocados al azar. La simulación parte de la huella de los propios datos, así que el mismo historial da siempre el mismo valor p.
La regla para «respaldado»
q < 0.05 y |cambio| ≥ umbral
Todas las pruebas de una ejecución se corrigen juntas con Benjamini–Hochberg. Un hallazgo solo tiene respaldo estadístico cuando el valor q corregido es pequeño y el cambio es lo bastante grande para importar en esa medición. Todo lo demás se informa como descripción, marcado como débil o no probado.
03 · Validación
Un motor de patrones que encuentra algo en todo el mundo es peor que no tener ninguno. Lo probamos con pacientes sintéticos sin nada introducido, y con otros con patrones conocidos de tamaño conocido.
0%
de 600 ejecuciones sobre historiales sintéticos sin patrón produjeron algún hallazgo respaldado. Objetivo: como máximo un 5%.
0%
fue la tasa de falsas alarmas de nuestra primera prueba de desviación con datos de reloj. Los días vecinos se parecen, y la prueba no lo sabía. Corregimos la autocorrelación antes de publicar nada.
0 ms
para una ejecución completa sobre un año típico del historial de una persona. Un historial denso de cinco años tarda 236 ms.
Fig. 1 · Sensibilidad: proporción de patrones introducidos que se encuentran como respaldados, con un efecto del doble del umbral
El detector de frecuencia de síntomas es el más débil: detecta una triplicación aproximadamente una vez de cada cuatro. El motor informa un fallo como «débil» o «no probado», nunca como «sin cambios».
04 · Límites
05 · Reproducibilidad
El id de un hallazgo sale de sus datos, de la versión del método y de la configuración. Si el historial cambia, el id cambia, y el id antiguo responde que los datos han cambiado. Un hallazgo se recalcula cuando se pide, nunca se guarda, y cada uno enlaza con las mediciones en las que se basa.
"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 · Hallazgo abreviado de un paciente sintético. Los valores son ilustrativos.
06 · Trabaja con nosotros
Desarrolladores
Endpoints REST, cuatro herramientas MCP para agentes de IA, una sección de patrones en la Context API y SDK para TypeScript y Dart. Pruébalo en el sandbox gratuito, con pacientes sintéticos.
Guía para desarrolladores →Investigadores
Queremos que los métodos se pongan a prueba. Habla con nosotros sobre revisión de métodos, escenarios de validación, referencias longitudinales y estudios conjuntos.
Empieza una conversación →Médicos
Cada medición tiene un umbral para un cambio que merece mención, y ninguno se ha revisado clínicamente todavía. Buscamos médicos que los revisen, una medición cada vez.
Ofrece una revisión →Health Pattern Engine 0.2.1 · beta. Los historiales reales solo se analizan con el consentimiento aparte de cada paciente.