Anpheros Research · Движок закономерностей здоровья

Здоровье — это временной ряд.
Мы читаем его по правилам, которые вы можете проверить.

Медицинскую карту обычно читают по одному значению. Самое важное — медленное снижение, неделя, не похожая на другие, или симптом, который всё возвращается, — видно только за месяцы. Anpheros находит это с помощью фиксированной версионированной статистики, и каждый вывод приходит вместе с данными, на которых он основан.

Рис. 0 · Синтетический пациент, 180 дней систолического давления. Точки: значения по дням. Линия: тренд Тейла–Сена.

01 · Проблема

Снимок момента скрывает изменение.

Что обычно показывает карта

128 mmHg

Последнее систолическое давление. Выглядит нормально и ничего не говорит о том, куда всё движется.

Что сообщает движок

−7.7 мм рт. ст. / 6 месяцев

Синтетический пациент со снижением на 8 мм рт. ст., заложенным на шесть месяцев. Наклон восстановлен вместе с периодом, неопределённостью и измерениями, на которых он основан.

Сегодня моделям ИИ поручают читать медицинские карты. Получив несколько чисел, модель угадывает тренд. Мы считаем, что тренд нужно вычислять, а не угадывать, и только потом передавать модели вместе с доказательствами.

02 · Метод

Четыре вопроса, четыре метода.

У каждого вопроса один статистический метод, выбранный для немногочисленных, нерегулярных, личных данных. У каждого метода есть номер версии, поэтому его результаты воспроизводимы.

trend · 1.1.0

Растёт или снижается?

Наклон Тейла–Сена с тестом Манна–Кендалла по одному значению в день. Плотные данные с часов сводятся к недельным медианам. Тест корректируется, когда соседние дни похожи друг на друга (Yue–Wang).

baseline_deviation · 1.1.0

Необычна ли эта неделя для этого человека?

Последние 7 дней сравниваются с днями 8–60 тестом Манна–Уитни или разностью средних с поправкой на автокорреляцию AR(1). Сравнение идёт с нормой самого человека, а не со средним по населению.

event_rate_change

Отмечается ли симптом чаще?

Дни с симптомом относительно дней, когда человек вообще что-то отмечал: последние 30 дней против 90 предыдущих, точным тестом. День без записей не считается днём без симптома.

recurrence

Возвращается ли он в ритме?

Интервалы между началами эпизодов сравниваются с моделированием Монте-Карло эпизодов, расставленных случайно. Моделирование задаётся отпечатком самих данных, поэтому одна и та же карта всегда даёт одно и то же p-значение.

Правило «подтверждено»

q < 0.05 и |изменение| ≥ порог

Все тесты одного запуска корректируются вместе по Бенджамини–Хохбергу. Вывод статистически подтверждён, только если скорректированное q-значение мало, а изменение достаточно велико, чтобы иметь значение для этого показателя. Всё остальное сообщается как описание с пометкой «слабо» или «не проверено».

03 · Проверка

Создан, чтобы молчать.

Движок закономерностей, который находит что-то у каждого, хуже, чем никакой. Мы проверили его на синтетических пациентах без заложенных закономерностей и на других — с известными закономерностями известной величины.

0%

из 600 запусков на синтетических картах без закономерностей дали хоть один подтверждённый вывод. Цель: не более 5%.

0%

составляла доля ложных тревог нашего первого теста отклонения на данных с часов. Соседние дни похожи, а тест этого не знал. Мы ввели поправку на автокорреляцию до любого выпуска.

0 ms

на полный запуск по типичному году карты одного человека. Насыщенная карта за пять лет занимает 236 мс.

Рис. 1 · Чувствительность: доля заложенных закономерностей, найденных как подтверждённые, при эффекте вдвое выше порога

Симптом, повторяющийся каждую неделю100%
Скачок пульса в покое84%
Наклон артериального давления67%
Частота симптома ×324%

Детектор частоты симптомов самый слабый: утроение он замечает примерно в одном случае из четырёх. Пропуск движок сообщает как «слабо» или «не проверено», но никогда как «изменений нет».

04 · Ограничения

Чего он не скажет.

  • диагнозВыводы описывают карту. Они никогда не называют заболевание и не предлагают изменить лечение.
  • причинуИзменение после нового лекарства не доказывает, что его вызвало лекарство, и каждый вывод это говорит.
  • мнение ИИНикакая модель ИИ не анализирует данные. Каждое число получено по фиксированным статистическим правилам.
  • клиническую проверкуПороги значимого изменения заданы с помощью ИИ и ещё не проверены врачом. Каждый вывод сообщает это в отдельном поле.
  • время сутокМестного времени человека в карте пока нет, поэтому закономерности по времени суток не вычисляются.

05 · Воспроизводимость

Те же данные. Тот же ответ. Тот же id.

Id вывода получается из его данных, версии метода и конфигурации. Если карта меняется, меняется и id, а старый id отвечает, что данные изменились. Вывод пересчитывается по запросу, никогда не хранится, и каждый ссылается на измерения, на которых он основан.

"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 }

Рис. 2 · Сокращённый вывод для синтетического пациента. Значения приведены для примера.

06 · Работайте с нами

Три входа.

Health Pattern Engine 0.2.1 · бета. Реальные карты анализируются только с отдельного согласия каждого пациента.