Алгоритм прогнозирования уровня глюкозы в крови?

StackOverflow https://stackoverflow.com/questions/434435

  •  10-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

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


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


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

Ты не можешь даже приблизиться.

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

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

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

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

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


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


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

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

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

Урок заключается в следующем:

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top