Доклад

Как Dart заменил Python: анализ временных рядов на Flutter без сервера

Мы привыкли, что анализ временных рядов — это Python и его классические модули statsmodels, sklearn, numpy, etc. Этот стек стал фактическим стандартом, и он работает: на сервере, где есть большой ресурс по памяти и вычислительным мощностям. Но что, если приложение должно работать без сети и без доступа к серверу? Это возможно в том случае, если доступ к данным для пользователя важен в каждый момент времени.

В этом докладе я расскажу, как решал эту задачу на Flutter: без запросов к серверу и без Python-бэкенда на примере моего личного проекта — приложения, компенсирующего диабет первого типа, в котором проводится анализ уровня сахара в крови, представленного в виде временного ряда.

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

Результатом исследования будет оформленный мной пакет на Dart, который представит собой SDK для прогнозирования временных рядов без использования сети, а также собранные метрики качества поведения такого пакета в реальном бизнесовом кейсе.

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

Уверен, что доклад будет интересен и с точки зрения мобильной разработки как нестандартный кейс, и с точки зрения ML, в частности анализа временных рядов. С большим удовольствием поделюсь своим опытом и результатами своего исследования с коллегами!

Спикеры

Доклады