SugarLife — объяснения

Почему приложение ведёт себя именно так и чем платят настройки

View the Project on GitHub iMironRU/sugarlife-wiki

Прогноз падения: предупредить, пока есть время

Тревога по факту пересечения порога опаздывает по устройству. Съесть углеводы и дождаться подъёма — это пятнадцать-двадцать минут; сообщение «сахар уже низкий» приходит ровно тогда, когда этих минут не осталось.

И вторая причина, важнее первой: сенсор и так показывает прошлое. Он измеряет не кровь, а межклеточную жидкость, и она отстаёт на пять–пятнадцать минут при быстром изменении. Прогноз на двадцать минут вперёд — это, по сути, «что в крови сейчас», а не гадание о будущем.

Как это устроено

Никакой сложной модели. Приложение смотрит на последние минуты, считает наклон и продлевает прямую вперёд. Если продолжение уходит ниже вашего порога — говорит.

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

Одно ограничение, без которого это не работает

Тревожиться имеет смысл, только если вы уже низко и продолжаете падать. Падение с 12 до 9 — обычный день, а не риск.

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

Чем платите

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

Часть «лишних» лишними не является: вы увидели предупреждение, поели — и низкого сахара не случилось именно поэтому. Такие срабатывания приложение считает сработавшими, а не ошибочными. Иначе получилось бы самообман: чем лучше работает прогноз, тем чаще он выглядел бы ошибающимся, и подстройка со временем выключила бы ровно то, что помогает.

Прогноз не заменяет тревогу по порогу

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

Пока сенсор не прогрелся, прогноза нет

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

Прогноз строится на разнице между соседними значениями — а разница между непрогретыми значениями это шум, а не тенденция. Поэтому на сыром прогноз молчит.

Числа под вас, а не «средние»

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

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

Три правила, по которым это происходит:

Пока истории мало, работают общие значения, и приложение об этом говорит прямо, а не притворяется, что числа ваши.

Сахар пошёл вверх, а тревога ещё висит

Это сделано нарочно.

Между «падает» и «всё хорошо» есть промежуток, в котором ещё ничего не решено: подъём начался, но он может сорваться — особенно если инсулин ещё работает, а съеденного не хватило. Такое случается, и не редко.

Поэтому тревога не исчезает в ту же секунду, как показание пошло вверх. Она меняет слова:

4,8 — сахар пошёл вверх. Подъём ещё не устойчив, следим ещё 12 мин.

и держится, пока подъём не подтвердится примерно двадцатью минутами.

Почему не гасим сразу. Пустой экран читается как «всё, отбой» — а это неправда. И читает его человек, который только что съел углеводы и ждёт, подействовали ли они: ему нужен ответ, а не тишина.

Почему не оставляем прежний текст. Строка «Гипогликемия примерно через двадцать минут» при растущем сахаре зовёт съесть ещё поверх съеденного. Так и было — эту статью пишут после того, как такая строка провисела тридцать семь минут.

Строка в это время приглушена: тревоги в ней уже нет, есть наблюдение. Когда подъём подтвердится, она снимется сама.

Если подъёма ещё нет, а падение просто прекратилось, мы так и напишем: «падение прекратилось, подъёма пока нет». Обещать подъём по одному хорошему показанию мы не будем — одна точка это ещё не тенденция.

Смотрите также: тревоги и их уровни, калибровка.