2009-01-12 3 views
9

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

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

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

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

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

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

ответ

43

Уровень сахара в крови очень сложный. Это зависит от

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

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

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


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


Edit: Очевидно, я не сделал себе ясно.

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

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

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

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

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

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


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


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

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

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

Урок:

Finger колоть чтения имеют свое место, но не пытаются экстраполировать их времена не очень хорошо пробоотбор.

+0

Я знал, что кто-то скажет это ;-) Я не ожидаю ничего подобного на 100% точности здесь. Любое улучшение над угловыми линиями будет приветствоваться. – username

+0

Fwiw, я «понимаю», что вы говорите, что нет простого способа улучшить угловые линии. Я говорю, что * любое * улучшение лучше, чем никакого улучшения, и, возможно, кто-то еще там уже проделал эту работу. – username

+3

Нет, это не так. Поместите точки на график и ** не ** соедините их. Это ** только ** правильный способ отображения данных. – dmckee

1

В порядке, вы собираетесь найти какую-то подогнанную кривую. Дело в том, что для n точек есть подходящие полиномы до порядка ... n-1 Я думаю. Прошло много времени. Yep. by golly, I'm right. Обычная вещь, когда у вас много очков и вы не хотите сложной функции (которой вы не являетесь) использовать least-squares approximation.

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

2

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

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

1

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