ESPN DeportesJalen Duren, pívot de los Pistons, estará de baja al menos dos semanas por una distensión en los isquiotibialesESPNFollow live: Chiefs get on the board; Seahawks hold controlPunchPolice arrest school driver for kidnapping, raping Delta studentThe Jerusalem PostFor many Israeli voters, concerns over Israel's public image take a back seat in election한겨레한국 재즈 100년의 항해…31일 한강서 ‘물빛 재즈 크루즈’Daily MaverickLula, Brazil’s iconic working class president, wins historic fourth term in dramatic comebackZDF heuteEntdecken Sie das ZDF-NachrichtenstudioSBS 뉴스[자막뉴스] 10년 넘어 부활 '특별감찰관'…"눈 부릅뜨고 감찰하겠다"Capital FMPresident Ruto Dismisses Election Results Livestreaming Ban Claims as PropagandaCNN TürkOtomobil, yol yapımı için kazılan çukura düştü; 1 ölü, 5 yaralıNew Straits TimesPenang landslide: Resident returns to feed her dogSRF NewsStichwahl ums Präsidentenamt – Amtsinhaber Lula da Silva in Brasilien wiedergewählt
The Daily Newsstand · Free, Always
Monday, October 26, 2026

17 тысяч замеров и один FreeStyle Libre: год данных о диабете у кошек

Translate

Почти год назад я рассказывал, как за 5 дней написал приложение Diabnostic для мониторинга диабета у своей кошки. В марте делился первым датасетом: 6 773 замера от 121 питомца. С тех пор произошло три вещи.

Смотри, Маня, тут есть графики!

Смотри, Маня, тут есть графики!

Первое: датасет вырос почти втрое - 16 796 ручных замеров от 166 питомцев за 12 месяцев (ноябрь 2025 - октябрь 2026). Методология та же, релизы напрямую сравнимы.

Второе: в приложении появился пользователь-энтузиаст, который начал выгружать данные из FreeStyle Libre, и в датасете появился второй файл - 10 418 точек непрерывного мониторинга (CGM). 94 дня из жизни одной кошки с диабетом, по ~96 замеров в день вместо 1-3 вручную.

Третье: готовя релиз, я нашёл в собственных данных то, чего там быть не должно. Об этом - ниже.

Оба файла анонимизированы и лежат на GitHub под CC BY-NC. Пулл-реквесты на анализ приветствуются.

Я разработчик, а не ветеринарный врач.
Всё ниже - наблюдения из данных исследования с самоотбором, а не клинические рекомендации.

Что изменилось за год: цифры

 март 2026

 октябрь 2026

Записей (ручные)

6 773

16 796

Питомцев

117

166 (153 кошки, 13 собак)

Медиана глюкозы

14.5 ммоль/л

14.5 ммоль/л

В целевом диапазоне 4-10

28.8%

27.8%

Гипогликемия < 3.5

4.9%

3.1%

Медиана записей на питомца

16

31

Самое интересное в этой таблице - чего в ней не изменилось. Медиана глюкозы за полгода не сдвинулась ни на десятую: 14.5 и 14.5. Выборка утроилась, а картина - нет: типичный питомец на платформе по-прежнему живёт с хронической гипергликемией, и доступность мониторинга сама по себе её не лечит.

Что выросло - это вовлечённость тех, кто остался: медиана записей на питомца удвоилась (16 → 31), питомцев со 100+ замерами стало 57. Ядро владельцев ведёт дневник месяцами.

Портрет пациента не изменился и совпадает с литературой: средний возраст кошки 10.6 года, 57% самцов.

Находка №1: ручной глюкометр слеп ночью. CGM это показал

Утренняя гипогликемия - классический кошмар владельца диабетика: действие вечернего инсулина заканчивается к 5-7 утра, и именно там кот может уехать вниз. В марте я писал, что худший контроль наблюдается в 5-7 утра. Но ручные данные там почти слепы: всего 8.3% замеров делается между 03:00 и 07:00, и гипо в них - 3%.

CGM-кошка закрыла этот пробел. Из 10 418 точек:

  • 229 ниже 3.5 ммоль/л, из них 75% - между 03:00 и 07:00

  • В ночном окне 03:00-06:59 гипо - 10.3% точек (против 3% в ручных данных)

  • Минимум - 2.0 ммоль/л; 11 дней из 94 имели хотя бы одну гипо-точку

Оговорка к этому графику: синие столбики в 4 утра тоже высокие по доле. Это не «глюкометр всё видит». Это отбор: ночью меряют, когда уже плохо. Сенсор меряет всегда, поэтому его 12% в 4:00 - знаменатель другой.

Оговорка к этому графику: синие столбики в 4 утра тоже высокие по доле. Это не «глюкометр всё видит». Это отбор: ночью меряют, когда уже плохо. Сенсор меряет всегда, поэтому его 12% в 4:00 - знаменатель другой.

11 сентября 2026. Гипо держалась с 03:11 до 06:47, минимум 2.2. Ручным глюкометром эту ночь не увидеть.

11 сентября 2026. Гипо держалась с 03:11 до 06:47, минимум 2.2. Ручным глюкометром эту ночь не увидеть.

Практический вывод владельцу: если вы меряете только «до/после укола» - а большинство меряет именно так, пики 08:00 и 20:00 - вы систематически пропускаете окно, где гипогликемия наиболее вероятна. Сенсор видит то, что глюкометр в 4 утра не увидит никогда.

Оговорка: это одна кошка, плохо компенсированная (медиана 20.3, TIR 12.4% - данные не популяционные). Но окно 03:00-07:00 как зона риска - ожидаемо и в ручных данных, просто там его толком не видно.

Оговорка: это одна кошка, плохо компенсированная (медиана 20.3, TIR 12.4% - данные не популяционные). Но окно 03:00-07:00 как зона риска - ожидаемо и в ручных данных, просто там его толком не видно.

Находка №2: среди питомцев были люди

Готовя релиз, я прогнал по датасету автовалидацию - и среди «безинсулиновых» профилей нашёл три, которые вели себя не как кошки.

Один - 8 месяцев аккуратного дневника: глюкоза 6-9 (человеческий, а не кошачий диапазон), дозы 8-10 единиц, заметки на английском «after ~15K steps», «after 3 pieces of sugar and cup of sweet grape juice» (человек купировал собственную гипо), лаборатория LifeLabs, сравнение показаний с Libre 2 и Libre 3. Владелец вёл в приложении дневник собственного диабета 2 типа - под видом кошки. Второй и третий - дозы 10-24 единицы и замер «2303» (мг/дл с человеческого глюкометра): кошка при 10+ единиц инсулина просто не выживет.

Итого 91 запись, 3 профиля - исключены. В первой статье я говорил, что мусорных записей в базе нет, потому что есть валидация диапазонов. Валидация честно отработала: 8-10 единиц и глюкоза 6-9 проходят в любые кошачьи рамки. Против правдоподобных данных нет приёма, кроме взгляда глазами.

Урок для публикующих датасеты: анонимизация удаляет имена, но не вид. Если ваш датасет о кошках - ищите записи, которые «слишком человеческие». Шаги, HbA1c, мг/дл вместо ммоль/л, человеческие дозы.

Находка №3: «4 кошки» оказались одним сенсором

Вторая история из той же валидации. В CGM-файле было 4 кошки - и валидатор взвыл: у «разных» кошек совпадают дата, время и глюкоза до десятой. Копнул: на общих таймстампах профили совпадают на 97-99% значений. Это один физический сенсор, который владелец залил в 4 профиля (обкатка интеграции: «попробуем ещё раз», «а теперь полный импорт»).

Если бы я опубликовал «4 кошки, 29 516 точек» - биолог-пользователь сделал бы из этого выводы про 4 животных. Я слил профили в одного питомца с дедупликацией: 30 096 → 10 418 точек. Три четверти «CGM-данных» были копиями.

Урок тот же, что в №2, но зеркальный: дубликаты в реальном времени не выглядят ошибкой - они выглядят как рост выборки. Считайте не строки, а физические источники.

Находка №4: пустой insulin_group != «без инсулина»

Мелкая, но важная деталь для пользователей датасета. Я сравнил профили «без инсулина» - а у 25 из 30 дозы инсулина прямо в записях. Просто тип в профиле не выбран. Если анализировать по insulin_group, четверть «безинсулиновых» уедет в неправильную группу.

Поэтому в README теперь явная оговорка: пустой insulin_group значит «тип не указан», а не «инсулина нет». Реальную терапию смотреть по insulin_dose_u > 0. Это не баг приложения - это честное поведение людей: доза важна каждый день, справочник - один раз.

Как строился релиз v2

Коротко о процессе, вдруг кому пригодится:

  • Экспорт из production PostgreSQL (те же фильтры, что в v1: глюкоза 0.1-50 ммоль/л)

  • Автовалидация: структура, диапазоны, дубликаты (pet, date, time), анонимность (grep по email/именам), непрерывность pet_id

  • Ручное разбирательство каждого флага валидатора на живой базе - так и нашлись люди и клонированный сенсор

  • Найденные артефакты v1 (тестовые записи дня запуска, повторные замеры в ту же минуту) оставлены как есть - чистка сломала бы сравнимость с релизом марта

Планы

  • Все ещё хочется повторить анализ инсулинов на выборке втрое больше - гларгин U100 против детемира на 166 питомцах

  • Всё ещё мало лабораторных анализов для коморбидности с ХБП

  • Всё ещё мало данных для реализации ML модели, предсказывающей возникновение гипо.


    К слову, если ваше животное больно диабетом и вам нужен удобный трекер -
    приходите. Чем больше будет данных, тем быстрее можно будет достичь реализации ML модели.

Датасет на GitHub, лицензия CC BY-NC.
Первая статья: habr.com/ru/articles/1010334.
Если нашли в данных что-то интересное - приходите с PR, упомяну в следующей статье.

Надеюсь, было интересно.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

0%Считать источники, не строки. Четыре «кошки» оказались одним сенсором0

0%Искать записи «не из этой вселенной». У нас в питомцах сидели люди0

0%Пустое поле — не факт. Нет типа инсулина ≠ без инсулина0

0%Смотреть, где прибор слепой. Ночь глюкометр почти не видит0

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.