Представляем Tasqyn

Tasqyn оценивает вероятность паводка на месяц вперёд для рек Казахстана, которые весной разливаются от таяния снега. Внутри 30 лет реальных наблюдений, честная проверка модели, API и мобильное приложение.

Каждую весну Ишим (Есиль) и соседние реки разливаются, когда тает зимний снег. Паводки 2024 года стали одними из сильнейших за десятилетия, людей массово эвакуировали по всему Северному Казахстану. А ведь сигнал есть заранее: это снег, который выпал за несколько месяцев до паводка. Tasqyn читает его и предупреждает, пока ещё есть время подготовиться.

0.91
ROC-AUC, честная walk-forward валидация
30
лет наблюдений (1995–2024)
329
месяцев в ряду наблюдений
47
признаков без утечек
10/14
паводков поймано, 1 ложная тревога на 70 мес.
6
речных бассейнов

Проблема

Когда на этих реках начнётся паводок, во многом понятно уже за месяцы: всё решает, сколько снега выпало за зиму. Этот сигнал есть задолго до самой опасности. Но официальные предупреждения часто приходят, только когда вода уже поднимается. А лишний месяц в запасе сильно меняет то, что успеют сделать семьи и спасатели.

Мы делаем Tasqyn для людей, которые живут вдоль этих рек. Им нужна понятная вероятность паводка на ближайшие месяцы, а не отчёт задним числом.

Наблюдательная сеть

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

норма повышенный высокий низкий
Проекция по координатам гидропостов · граф. сетка справочная

Что показывает ряд наблюдений

Непрерывный месячный ряд уровня Ишима у Петропавла с 1995 по 2022 год. Именно на этих данных училась модель. Каждую весну виден пик от снеготаяния, а в крупные годы наводнения сразу бросаются в глаза.

уровень воды порог половодья (~900 см) весенние пики

Как работает Tasqyn

Это классификатор XGBoost на 47 признаках без утечек: лаги, скользящие статистики, разности, циклическая сезонность. Скользящие окна сдвинуты на месяц, чтобы текущий месяц не подсматривал сам себя, и это закреплено отдельным тестом. Гиперпараметры подобраны через RandomizedSearchCV на TimeSeriesSplit. Дисбаланс классов (паводков всего около 6%) учтён явно.

Теперь про честность. На наивном сплите модель показывает ROC-AUC 1.00, и это подозрительно. Мы не выдаём такую цифру за результат. Вместо этого считаем по схеме leave-one-year-out: модель заново обучается для каждого тестового года и ни разу не видит будущее.

Наивный сплит · отклонён
1.00

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

Walk-forward · честная оценка
0.91 ROC-AUC
  • PR-AUC 0.72
  • F1 (опт. порог) 0.80
  • Recall 10 / 14 паводков
  • Ложные тревоги 1 / 70 месяцев
0.53
важность признака snow_cover_lag4
(снегозапас за 4 месяца до паводка)

Вот что нас по-настоящему убедило. Мы не зашивали в модель никакой гидрологии, но она сама вышла на главное: сильнее всего на весенний паводок влияет снег, выпавший примерно за четыре месяца до него. Это и есть известный механизм снеготаяния. Значит, модель ухватила реальную причину, а не случайный шум в данных.

snow_cover · лаг 4 мес..525
temperature · лаг 3 мес..350
river_level · скольз. 3 мес..050
river_level_max · лаг 6 мес..032
snow_cover · сумма 3 мес..018

Результаты как есть

Реальные графики из проекта (docs/figures/). Переключайте вкладки, а чтобы рассмотреть поближе, нажмите на сам график.

Когда река выходит из берегов

Реки Северного Казахстана разливаются почти каждую весну, когда тает зимний снег. Ниже видно, что говорят данные наблюдений и какие в регионе были крупные паводки.

лет с половодьем выше порога за 1995–2022

Весна 2024: сильнейшее за десятилетия

Тогда разлились Ишим, Жабай у Атбасара, Тобол и Урал. Людей массово эвакуировали по всему Северному Казахстану. Сильнее всего досталось Уралу у Орала и Жабаю у Атбасара.

Дело в снеготаянии

Сила и сроки паводка зависят от того, сколько за зиму накопилось снега. В данных уровень реки резко идёт вверх в марте–мае, как раз когда сходит снег. То же самое показывает и важность признаков в модели.

Доступность и честные ограничения

Всё открыто

Есть FastAPI-сервис (/predict, /forecast/live, /basins) и приложение Tasqyn. Свежую погоду берём из открытого архива Open-Meteo ERA5, без всякого API-ключа.

Калибровка и границы

Изотоническая калибровка на out-of-sample оценках и бутстрап из 15 моделей дают 90% интервал. Если входные данные выходят за обучающий диапазон, прогноз помечается как ориентировочный.

Чего мы не утверждаем

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