Anpheros 리서치 · 건강 패턴 엔진

건강은 시계열 데이터입니다.
확인 가능한 규칙으로 읽어냅니다.

의료 기록은 보통 한 번에 하나의 값으로 읽힙니다. 느린 저하, 다른 주와는 다른 한 주, 또는 계속해서 재발하는 증상과 같이 가장 중요한 것들은 몇 달이 지나야 나타납니다. Anpheros는 고정되고 버전이 관리되는 통계를 사용하여 이러한 패턴을 찾아내며, 모든 결과에는 그 근거 데이터가 함께 제공됩니다.

그림 0 · 합성 환자, 180일간의 수축기 혈압. 점: 일일 값. 선: Theil–Sen 추세선.

01 · 문제점

스냅샷은 변화를 숨깁니다.

일반적인 기록이 보여주는 것

128 mmHg

최신 수축기 혈압 수치. 정상적으로 보이지만, 앞으로 어떻게 될지는 알 수 없습니다.

엔진이 보고하는 내용

−7.7 mmHg / 6개월

6개월 동안 8mmHg의 하락이 설정된 합성 환자. 기울기, 주기, 불확실성 및 기반이 되는 수치와 함께 복구됩니다.

이제 AI 모델에 의료 기록을 읽도록 요청하고 있습니다. 몇 개의 숫자를 보고 모델이 추세를 추측합니다. 저희는 추세가 추측이 아닌 계산되어야 하며, 그 증거와 함께 모델에 전달되어야 한다고 생각합니다.

02 · 방법론

네 가지 질문, 네 가지 방법.

각 질문에는 작고 불규칙하며 개인적인 데이터에 적합하도록 선택된 하나의 통계 방법이 있습니다. 각 방법에는 버전 번호가 있어 결과를 재현할 수 있습니다.

trend · 1.1.0

상승하거나 하락하고 있나요?

하루에 한 번의 값에 대한 Mann–Kendall 테스트를 사용한 Theil–Sen 기울기. 밀집된 관찰 데이터는 주간 중앙값으로 축소됩니다. 이웃한 날들이 서로 유사할 경우(Yue–Wang) 테스트가 보정됩니다.

baseline_deviation · 1.1.0

이 사람은 이번 주가 특이한가요?

지난 7일간의 데이터를 8~60일째 데이터와 비교합니다. Mann–Whitney 또는 AR(1) 자기상관이 조정된 평균 차이를 사용합니다. 비교는 모집단 평균이 아닌 해당 개인의 정상 상태와 비교됩니다.

event_rate_change

증상이 더 자주 기록되나요?

사람이 기록한 날짜 대비 증상 기록 날짜: 지난 30일을 이전 90일과 비교하며, 정확한 테스트를 사용합니다. 기록이 없는 날은 증상이 없는 날로 계산되지 않습니다.

recurrence

일정한 주기로 반복되나요?

에피소드 시작 간격은 무작위로 배치된 에피소드의 몬테카를로 시뮬레이션과 비교하여 테스트됩니다. 시뮬레이션은 데이터 자체의 지문에서 시드되므로 동일한 기록은 항상 동일한 p-값을 제공합니다.

"지원됨"에 대한 규칙

q < 0.05 그리고 |변화량| ≥ 임계값

모든 테스트는 Benjamini–Hochberg 방법으로 함께 보정됩니다. 통계적으로 유의미한 결과는 보정된 q-값이 작고 변화량이 해당 측정값에 중요할 만큼 클 때만 나타납니다. 그 외의 모든 것은 설명으로 보고되며, 약하거나 테스트되지 않음으로 표시됩니다.

03 · 검증

조용하도록 설계되었습니다.

모든 사람에게서 무언가를 찾아내는 패턴 엔진은 없는 것보다 못합니다. 저희는 아무런 패턴이 없는 합성 환자와 알려진 크기의 알려진 패턴을 가진 환자를 대상으로 테스트했습니다.

0%

600번의 합성 기록 테스트 중 어떠한 패턴에서도 유의미한 결과가 나오지 않았습니다. 목표: 최대 5%.

0%

관찰 데이터에 대한 첫 번째 기준선 테스트에서 나타난 오경보율이었습니다. 이웃한 날들은 비슷해 보였고 테스트는 이를 인지하지 못했습니다. 저희는 제품 출시 전에 자기상관을 보정했습니다.

0 ms

한 사람의 일반적인 1년치 기록 전체 실행 시간입니다. 5년 분량의 방대한 기록은 236ms가 소요됩니다.

그림 1 · 민감도: 지원되는 것으로 발견된 식별된 패턴의 비율, 임계값의 두 배에서의 효과

주간 증상 재발100%
안정 시 심박수 단계84%
혈압 기울기67%
증상 빈도 ×324%

증상 빈도 감지기는 가장 약합니다. 세 배 증가를 약 네 번 중 한 번 정도 감지합니다. 엔진은 놓친 것을 "약함" 또는 "테스트되지 않음"으로 보고하며 "변화 없음"으로 보고하지 않습니다.

04 · 한계점

말하기를 거부하는 것들.

  • 진단결과는 기록을 설명합니다. 질병명을 명시하거나 치료 변경을 제안하지 않습니다.
  • 원인새로운 약물 복용 후의 변화가 약물 때문이라는 증거는 아니며, 모든 결과는 이를 명시합니다.
  • AI의 의견어떤 AI 모델도 데이터를 분석하지 않습니다. 모든 숫자는 고정된 통계 규칙에서 나옵니다.
  • 임상 검토의미 있는 변화에 대한 임계값은 AI의 도움을 받아 설정되었으며 아직 임상 의사의 검토를 거치지 않았습니다. 모든 결과는 자체 필드에 이를 명시합니다.
  • 시간기록에 시간 정보가 있는 경우에만 해당 시간대의 현지 시간을 따르며, 시간대별 패턴은 아직 계산되지 않습니다.

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.5.0",
"review": { "thresholds_reviewed_by_clinician": false },
"safety": { "not_a_diagnosis": true, "causal_claim": false }

그림 2 · 합성 환자의 요약된 결과. 수치는 예시입니다.

06 · 저희와 함께하기

세 가지 방법으로 시작하세요.

건강 패턴 엔진 · 베타. 실제 기록은 각 환자의 별도 동의 하에 분석됩니다.