Прогнозирующий алгоритм «глюкозы в крови»? - PullRequest
9 голосов
/ 12 января 2009

Я пишу приложение, которое позволяет диабетическому пользователю вводить свои показания «глюкозы в крови», а затем отображать их на графике с течением времени слева направо. Поскольку показания крови будут проводиться только несколько раз в день, алгоритм будет полезен для:

a) заполнить пробелы на графике между показаниями (кривые были бы более реалистичными, чем резкие линии) и обеспечить более точную среднесуточную оценку уровня глюкозы в крови

б) грубо предсказать, что произойдет в будущем (если пользователь не ест ничего, что повлияет на его уровень в крови)

Я сосу в исчислении. Я надеюсь, что кто-то здесь знает библиотеку для этого материала? Я надеюсь, что кто-то знает об алгоритме, который уже был адаптирован для этой конкретной проблемы (например, где кто-то сравнил его с реальными данными от диабетиков)

Отказ от ответственности: я очень хорошо знаю, что любой такой алгоритм будет сильно отличаться в зависимости от пользователя. Я просто хочу улучшить прямые угловые линии. Независимо от диабета, уровень сахара в крови может расти и падать.

Я использую Javascript, но так как это просто математика, я мог бы перенести его с C, Java или чего-либо еще.

Ответы [ 4 ]

43 голосов
/ 12 января 2009

Уровень сахара в крови очень сложный. На это влияет

  • Текущий уровень сахара в крови (осложненный возможным присутствием кетонов, если у пациента гипергликемия)
  • свежая еда до нескольких часов в зависимости от типа и количества
  • недавний быстродействующий инсулин (с разнообразными и зависимыми от пациента профилями реакции от 45 минут до двух часов. О, и механизм доставки)
  • инсулин пролонгированного действия в течение последних 12 часов (опять же в зависимости от пациента и сорта)
  • уровни активности
  • уровень стресса
  • болезнь
  • показатель базального инсулина, если пациент носит насос
  • до тошноты

Очень сложная проблема. Любая эвристика --- любая эвристика - которую вы выбрали, будет сильно вводить в заблуждение. Итак, короткий ответ:

Не делай этого.


Это частично объясняется тем, что 24-часовой журнал глюкозы у диабетика сравнивался с уколом ~ 10 пальцев, взятым в то же время. То есть мое предложение основано на данных.


Редактировать: Очевидно, я не прояснил.

Ты даже близко не подойдешь.

Ничто из того, что вы можете сделать с данными уколом пальца, не может быть надежно удаленным.

Соединение точек с любыми линиями (даже прямыми сегментами) просто неправильно . Это не отражает реальность. Даже немного.

Я физик-экспериментатор. Сложные наборы данных - это то, чем я занимаюсь. В моей жизни есть диабетик (вы догадались?). Это важно для меня.

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

Если бы вы могли получать данные каждые пятнадцать минут, я бы сказал, что вы можете использовать сплайн. Это не будет опасно вводить в заблуждение. Но если у вас 6-10 измерений в день, вы ничего не знаете .


Хорошие новости: постоянный мониторинг снижается в цене. Это вне лаборатории и доступно с некоторыми насосами даже сейчас.


Для тех, кто не знаком с этим: пациенты с диабетом, соответствующие требованиям (делают результаты крайне ненаучного опроса), 4-6 + тесты на глюкозу в день как само собой разумеющееся, и несколько дополнительных в течение 1-2 часов после любого неожиданная экскурсия (у них появляются физические симптомы, которые позволяют им обнаружить тяжелые экскурсии).

Это служит для того, чтобы дать пациенту приблизительное представление о том, как у него обстоят дела с контролем уровня глюкозы, но он также идет в лабораторию, чтобы получать гемоглобин A1C каждые четверть (или около того). Результат А1С зависит в основном от среднего уровня глюкозы в крови.

Я разговаривал с людьми, которые набирали 80-110 (довольно благоприятные цифры) четыре раза в день в течение нескольких месяцев и получали А1С, предлагающий среднее значение выше 150 (совсем не желательно). Предположительно, они собирались высоко ночью. И я слышал подобные истории от людей, у которых мы, вероятно, опускаемся во время сна - очень низко.

Урок:

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

2 голосов
/ 12 января 2009

Если вы хотите просто упорядочить данные, чтобы упростить их просмотр, то, скорее всего, то, что рекомендовано Чарли Мартином , вполне подойдет. Однако, как отмечает dmckee , эти данные ничего не значат.

То, что вы пытаетесь сделать, на самом деле в большей степени соответствует фармакокенетике , которая сама по себе является целым научным исследованием. В этом случае я даже не уверен, что это будет полностью применимо, за исключением диабета I типа, так как большая часть того, что я знаю о фарамокенетике, касается только исследований лекарств, но если организм что-то производит, то вы, вероятно, смотрите на него полностью разные виды анализа. Если вас интересует эта тема, тогда вы можете просмотреть несколько книг на Google Книгах , если вы выполните поиск по запросу " pharmacokienetics ", но из-за характера предмета они очень математика тяжелая и предположим, что у вас есть понимание химии и биологии.

1 голос
/ 28 октября 2009

Скорее всего, это не сработает, но искусственные нейронные сети могут, и я повторяю, может быть в состоянии получить что-то из хорошего набора данных. Хорошо, я имею в виду недели или месяцы непрерывной записи, и даже тогда я бы не стал доверять набору данных, если бы у меня не было очень веских причин для этого. Я также не думаю, что из этого вы получите прогнозные данные, но это может зависеть от того, как вы их реализуете. В целом, если бы вы делали это, казалось бы, было бы больше увлечением видеть, даже если это даже близко, например, «о, аккуратно, я получил нейронную сеть с точностью до X степени точности». Опять же, я должен подчеркнуть, что не используйте это в каких-либо производственных ситуациях или где-либо, где это может ранить или убить кого-либо!

1 голос
/ 12 января 2009

хорошо, вы будете искать какую-то подходящую кривую. Дело в том, что для n точек подходят полиномы с точностью до порядка ... n-1, я думаю. Прошло много времени. Да. черт возьми, я прав. Обычная вещь, когда у вас много точек и вы не хотите сложной функции (а вам нет), это использование приближения наименьших квадратов .

Наверное, лучше всего искать консервированные процедуры, которые вы можете использовать; они существуют в большинстве пакетов статистики. Дайте нам немного больше информации о том, что вы хотите, и мы сможем более точно указать вам что-нибудь подходящее.

...