КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

Как Яндекс создал глобальный прогноз осадков с использованием радаров и спутников

Время на прочтение

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

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

Про радары и наукаст

Жителям центральной части России несказанно повезло, потому что именно здесь установлены метеорологические радары Росгидромета – современные инструменты, которые позволяют получать карту осадков в радиусе 250 километров от точки установки радара. При этом пространственное разрешение этой карты составляет 2х2 километра на пиксель, а интервал между двумя последовательными снимками – всего 10 минут.

Что это означает для обычного человека, которому интересна погода? На территориях, покрытых радарным зонтиком, можно сообщать об осадках с точностью до жилого квартала. Такие данные сильно уточняют традиционный прогноз погоды, потому что несут информацию о том, что произошло буквально несколько десятков минут назад. Более подробно про преимущества радаров написано в нашей предыдущей статье. Теперь рассмотрим их недостатки.

Основной из них – плохая масштабируемость, связанная с огромной стоимостью такого средства измерения и сложностью конструкции. Напомним, что сейчас радарами покрыта только часть европейской территории России, а также Барабинск и Владивосток. Кроме того, радарные наблюдения страдают от построек вокруг – например, высокие здания могут загораживать обзор в целых секторах, что сказывается на качестве получаемых полей осадков по радарным снимкам. Пример того, как могут выглядеть усредненные за несколько месяцев наблюдения по каждому из доступных нам радаров указан на иллюстрации ниже.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

Усредненные данные по измерениям радаров за несколько месяцев

Как видно, сильно страдает качество у радаров, установленных в Шереметьево и Владивостоке, а в Минеральных водах выпадает целый сектор.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

Мы это видим на жалобах от наших пользователей. Также, в случае низких осадков, радар может не видеть на все 250 километров из-за кривизны поверхности Земли, что сказывается на возможности определения осадков ближе к границе видимости. Помимо этого, радары выходят из строя, иногда надолго, из-за чего страдают наши пользователи, которые привыкли к карте осадков и предупреждениям о дожде. Из-за этого, к примеру, возникают неожиданные «взрывы» в поле осадков, как это было недавно в Вологде. Что, конечно же, становится поводом для шквала всевозможных мемов.

Спутники как источник информации

Чтобы не быть привязанными к радарам, мы решили в буквальном смысле сделать космический продукт, о чем намекает заглавная картинка. Кроме радарных измерений существуют похожие подходы по оценке осадков на основе спутниковых снимков. Существует группировка специальных метеорологических спутников (на орбите находятся около 30 аппаратов): как полярно-орбитальных, которые покрывают Землю снимками подобно тому, как нить наматывается на клубок, так и геостационарные – спутники находятся на высоте около 36000 километров от поверхности Земли и вращаются синхронно с вращением Земли над экватором. Особенность орбиты спутников второго типа позволяет постоянно «висеть» над одной и той же точкой и получать такие же снимки, как и в начале статьи. Спутниковая группировка геостационаров позволяет покрыть наблюдениями практически всю Землю, используя для этих целей европейские спутники (Meteosat), американские (GOES) и японские (Himawari). Продукты на их основе имеют пространственное разрешение от 0.5 до 3 километров на пиксель, но есть проблема. Спутники висят над экватором, поэтому наши широты попадают на самый край снимка, из-за чего данные страдают от геометрических искажений.

Прогноз на спутниковых снимках

Идея использовать спутниковые снимки для прогноза погоды не нова – информация с них используется в традиционных глобальных моделях прогноза погоды. Кроме того, из спутниковых снимков извлекают полезную информацию: от мониторинга вулканического пепла и лесных пожаров до поиска фитопланктона. Конечно же, спутниковые снимки используют и для мониторинга осадков и их краткосрочного прогнозирования. Например, есть стандартные алгоритмы по обнаружению областей с осадками – SAFNWC, но они хорошо работают только для случая с конвективными осадками. По нашим строгим метрикам, которые мы используем для радарного наукаста, такие алгоритмы, увы, оказываются в аутсайдерах. Мы же хотели сделать продукт по качеству сравнимый с текущим решением на радарных данных, но при этом еще и масштабируемый глобально. Для этого мы взяли сильные стороны от каждого из подходов и применили магию машинного обучения.

Meteosat как источник информации

Снимок разбит на 8 частей (полосами по широтам), что иногда сказывается на качестве данных – потеря одной части может сделать бесполезным весь снимок.

Детекция осадков

Так как наши первые эксперименты показали, что качество продукта при использовании традиционных подходов страдает, мы решили использовать то, что принесло нам успех в случае с обычным наукастом. На помощь пришли нейросети. В качестве входных параметров мы использовали информацию из 11 каналов спутниковой съемки, а обучались на радарных снимках, сведенных в единое поле на сетке 2х2 километра. Мы использовали традиционные подходы, которыми решаются подобные задачи в компьютерном зрении. До последнего момента соревновались две архитектуры, основанные на ResNet-подобных (за авторством irina-rud) и U-Net-подобных (за авторством vlivashkin) моделях.

ResNet используется в задачах классификации изображений и может быть очень глубоким, при этом увеличение количества слоев дает стабильный прирост в качестве. Однако такая архитектура имеет недостатки при использовании – мы вынуждены применять обученную модель в каждой точке нашей географической сетки. В качестве альтернативы была выбрана U-net – архитектура свёрточной нейронной сети, которая обычно используется в задачах сегментации изображений. Первоначально она разработана в биомедицинских целях для быстрой работы с большими изображениями. С такой архитектурой быстрее проверять наши гипотезы, кроме того, мы можем применять обученную модель не поточечно, что заметно сказывается на скорости обработки спутниковых снимков. Ниже представлено сравнение по полученным метрикам для двух архитектур. Так как нам удалось приблизить U-net модель по качеству к ResNet, но при этом U-net позволяет быстрее обрабатывать спутниковые снимки, то её мы и использовали в качестве production решения.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

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

Задача осложняется еще и тем, что нужно не только выделить облако на снимке, но и определить, пойдет ли из него дождь. В ходе экспериментов мы выявили, что информации из 11 каналов недостаточно. Чтобы сделать качественный продукт, важно учитывать такие параметры, как угол солнца над горизонтом, высоту рельефа, данные на ближайшие часы из метеорологической модели, например о влагозапасе облаков, влажности в атмосфере на различных уровнях и т.п.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

В результате обученная модель позволяет выделять осадки с большой точностью. Так на рисунке показано наложение осадков по спутникам и радарному полю. Здесь фиолетовый цвет – спутники за пределами радаров, малиновый цвет – пересечение радаров и спутников, синий – то, что обнаруживают спутники, но не обнаруживают радары, а красный – то, что обнаружили только радары. На рисунке заметен небольшой систематических сдвиг на север, связанный с тем, что мы детектируем дождь не снизу облаков, как это делают радары, а сверху, из космоса и под углом. Эта проблема будет устранена в ближайшем релизе, что скажется на росте точности.

Спутниковый наукаст

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

Чтобы привести 15-минутные спутниковые снимки к 10-минутным интервалам, уже привычным нашим пользователям, мы используем Optical Flow для создания промежуточных кадров между последовательными спутниковыми снимками. Optical flow или оптический поток – это технология, которая используется в компьютерном зрении для определения сдвигов между изображениями. Используя два снимка, мы можем построить поле векторов смещения изображения в каждой точке – такое, которое позволяет получить из предыдущего снимка следующий. С помощью векторов переноса мы можем получить и промежуточные кадры, чтобы привести их к единой шкале по времени с 10-минутными интервалами. Этот же алгоритм (стараниями bonext и ruguevara ) пока что используется и для прогноза на 2 часа вперед с 10-минутным разрешением для спутниковых снимков, а радары обсчитываются старым проверенным алгоритмом на основе нейронных сетей, описанным в нашей статье про радарный наукаст. В следующем обновлении мы планируем полностью перейти на перенос всего поля осадков с использованием нейросетевой архитектуры.

Про урокцифры:  ИТ ПЛАТФОРМА

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


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

Здесь заметна стандартная для радаров проблема – на границе видимости они не видят осадки, а в треугольник между ними попадает информация от спутника, который успешно детектирует дождь. Думая о решении задачи склеивания двух областей данных разной природы, мы вспомнили о такой задаче, как inpainting. Nvidia в своей недавней статье Image Inpainting for Irregular Holes Using Partial Convolutions показывает, как нейросети умеют восстанавливать детали картинки по нерегулярным маскам. На Yet Another Conference рассказывалось, как Дмитрий Ульянов с помощью inpainting восстанавливал фреску. Этот же подход мы планируем использовать и в нашем случае, и уже есть успешные наработки, которые совсем скоро поедут в production, что позволит правильно учитывать разнородную информация с различных источников о факте дождя.

А что дальше?

Прямо сейчас на 100% наших пользователей работает наукаст, построенный, как на радарных, так и на спутниковых измерениях (благодаря космической поддержке imalion и работе команд бэкенда и фронта). Надеемся, наши пользователи, которые ждали наукаст у себя в городе, начали им пользоваться и получать своевременную информацию о надвигающихся осадках. На данный момент покрыта зона, ограниченная видимой областью самого спутника на севере и востоке (чуть восточнее реки Обь). На юге мы пока ограничили зону до нижней части Кипра, а на западе – до Швейцарии. Теперь можно смотреть за приближением фронтов еще на подходе к вашему городу и наблюдать за красивыми погодными причудами. А разница в покрытии видна невооруженным глазом.

Таким образом, мы покрыли большую часть России, СНГ и некоторых туристических направлений. Конечно же, мы не забыли и о восточной части нашей страны – уже сейчас мы работаем с японским спутником Himawari, который висит над Австралией и позволит в скором времени порадовать наукастом наши восточные рубежи.

А дальше – глобальная карта осадков на весь мир, избавленная от детских болезней, с повышенной точностью детекции осадков, единым алгоритмом переноса и правильной склейкой всех данных по осадкам.

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

Большинство людей воспринимают прогноз погоды как обычное приложение в телефоне, которое всегда показывает температуру и осадки. Но чтобы информация отображалась, сведения о погоде нужно правильно собрать, просчитать на суперкомпьютере, обработать нейросетью и дополнить сообщениями пользователей. Сейчас в Яндексе за это отвечает технология «Метеум». До этого компания использовал чужие данные и часто ошибалась в прогнозах. Рассмотрим, как это было. Это статья на основе подкаста, в которой руководитель Яндекс Погоды Александр Ганьшин рассказывает про развитие сервиса. Будет время — послушайте выпуск 🎙Эра без «Метеума»Яндекс Погода появилась в 2000 году в качестве виджета — сервиса, транслирующего погоду на сайте и по телевидению. Позже информация о погоде появилась на сайте Яндекса — компания сотрудничала с финским поставщиком , который полностью отвечал за погодные данных. Чтобы привлечь внимание к сервису — в 2012 году Яндекс Погода представила анимированные картинки основных погодных статусов. Оцените рекламные слоган: Погода бывает разной ― и это здорово! Яндекс Погода готова к любым изменениям. Красивые анимированные картинки с сюрпризами превращают наблюдение за погодой в увлекательную игру. Забудьте про скучные цифры традиционных прогнозов ― теперь погода делится на интересную и очень интересную. А узнавать о погоде первым делом вам поможет встроенный будильник.https://www.youtube.com/embed/w8x_xWuNV8c?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=ru-RU&autohide=2&wmode=transparentРеинкорнированная версия «Погодного Бандита» сохранилась в веб-архиве«‎Погодный бандит», версия 2018 года. Скриншот: web.archive.orgИгры с интерфейсом были временным решением. Яндекс не устраивала точность внешних прогнозов и компания взялась за разработку собственной технологии, чтобы оказаться точнее конкурентов. 👉  В подкасте Александр Ганьшин рассказывает о переходе из стартапа в Яндекс: как он использовал машинное обучения для улучшения физико-математической модели прогноза погоды и запускал пилотную версию современного сервиса Яндекс Погоды для Московского региона и Екатеринбурга. Если вы интересуетесь темой метеопрогнозирования — посмотрите семинар «‎Введение в профессию географа». В видео Александр подробно говорит о своей научной деятельности и переходе в Яндекс.https://www.youtube.com/embed/w85ilmz2VfI?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=ru-RU&autohide=2&wmode=transparent26 ноября 2015 года в Яндексе анонсировали технологию , которая прогнозировала погоду с точностью до района в городе. Достоверные погодные данные стали конкурентным преимуществом сервиса и позволили маркетологам больше не акцентировать внимание на фишках интерфейса. Например, 8 февраля 2017 года исполнилось 180 лет со дня дуэли между Жоржем Шарлем Дантесом и Александром Сергеевичем Пушкиным. Команда Яндекс Погоды почтила память поэта, сделала метеорологическую модель дня поединка и выяснила, как мороз и сугробы повлияли на его исход👇https://www.youtube.com/embed/bHnvRutbCqM?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=ru-RU&autohide=2&wmode=transparentТеперь немного о том, как работает «Метеум». Если вас заинтересуют подробности — после описание будет доклад Александра Ганьшина, который в деталях расскажет о развитии технологии в Яндексе. «Метеум» позиционируются как технология гиперлокального прогноза, где математические модели сочетаются с машинным обучением. Чтобы всё работало, для начала нужно собрать информацию с метеорологических приборов. В 2014 году у Яндекса было около 80 метеорологических спутников, 1 500 станций радиозондирования, 10 000 профессиональных станций и 22 радиолокатора. Эти данные были нужны для подготовки начальных ограниченных условий метеорологической модели. Также для качественного прогноза необходимо получить информацию о подстилающей поверхности с Яндекс Карт. Ведь погода возле города, в горах или вблизи водоёма может значительно отличаться. Разновидности метеорологических приборов для сбора погодных данных. Изображение: gagadget.comПогодные модели по-разному ошибаются: могут переоценить количество выпадающих осадков, неточно измерить ночную температуру или сделать что-то ещё. Поэтому Яндекс берёт данные сразу нескольких поставщиков и выявляет закономерности в ошибках каждой метеорологической модели. Вычислением ошибок занимается — технология машинного обучения, которую Яндекс использует для ранжирования материалов в поисковой выдаче, подборе плейлистов и много где ещё. Обнаруженные закономерности позволяют собрать комбинацию из прогнозов, которая наиболее точно соответствует метеонаблюдениям. Если при этом будут меняться координаты, то изменится и набор параметров, который Яндекс Погода использует для прогноза до дома пользователя. Схема работы технологии «Метеум» на основе модели MatrixNet. Изображение: yandex.ruhttps://www.youtube.com/embed/oPg3JpzrPtA?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=ru-RU&autohide=2&wmode=transparentСейчас «Метеум» это технология метеопрогноза, которая ориентируется на технические данные и сигналы от пользователей сервиса Яндекс Погоды. Упрощенно такое взаимодействие выглядит так: · Яндекс получает информацию из различных центров — источников прогнозов в США, Европе, Канаде и Японии. Дополнительно компания формирует собственный прогноз. Все эти данные просчитываются и уточняются с помощью модели машинного обучения : алгоритм учитывает исходные метеомодели и дополнительные сведения, которые влияют на погоду. · К данным метеомоделей добавляется информация с метеорологических радаров и спутниковых снимков для — чтобы предсказывать дождь. · Помимо вышеперечисленного «Метеум»обрабатывает пользовательские сигналы. То есть вы можете открыть приложение Яндекс Погоды и ответить на сообщение сервиса: идёт дождь или нет. Ответ занимает секунду, но позволяет сделать краткосрочный прогноз по осадкам на 20% точнее. Все прогнозы от пользователей сервиса отмечаются на карте в виде раскрытых зонтов. Необходимость в апгрейде «Метеум» возникла из-за частых противоречивых данных по осадкам, которые поступали в Яндекс от разных поставщиков информации. Поэтому разработчики предложили идею, чтобы качество продукта оценивали пользователи сервиса. Это лучшая объективная обратная связь. Больше технических подробностей про «Метеум» смотрите в докладе Александра👇https://www.youtube.com/embed/MgJJuZCe-_Q?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=ru-RU&autohide=2&wmode=transparentЧего ждать от Яндекс Погоды в будущем?После апгрейда «Метеума» команда Яндекс Погоды работает над тем, чтобы прогнозы получались не только точными, но и полезными. Чтобы помогали пользователям заниматься любимым хобби и вести комфортную повседневную жизнь. Рассмотрим, что реализовано на момент записи подкаста. 21 марта 2023 года в Яндекс Погоде появились прогнозы для автомобилистов — вкладка «На дороге». Водители получают почасовые данные о качестве дорожного покрытия, силе ветра и видимости; узнают о гололедице и снегопадах; видят советы, когда лучше сменить резину или посетить мойку. Пример рекомендации для автомобилистов в Яндекс Погоде. Изображение: yandex.ruДля садоводов есть вкладка «Сад и огород». В ней собрана информация о температуре и влажности почвы, о заморозках — полезно, если вы планируете открывать теплицу или заниматься посадкой. Пример рекомендации для садоводов в Яндекс Погоде. Изображение: yandex.ruДля рыбаков есть вкладка «Рыбалка». В ней отображается температура воздуха и воды, влажность и вероятность осадков, видимость, давление, направление и сила ветра — есть вся информация, чтобы подобрать наиболее подходящее время для похода на водоём или порыбачить на катере. Пример рекомендации для рыбаков в Яндекс Погоде. Изображение: yandex.ruДля сёрферов, яхтсменов и вейкбордеров есть вкладка «Водный спорт». В ней указана температура воды, сила и направление ветра, высота и направление волн, а также периоды приливов и отливов — помогает спортсменам выбрать подходящее время и место, чтобы позаниматься в удовольствие. Пример рекомендации для любителей водного спорта в Яндекс Погоде. Изображение: yandex.ruДля сноубордистов и лыжников есть вкладка «В горах». В ней полезная информация для тех, кто находится вблизи горнолыжных склонов: можно посмотреть карту снега, получать уведомления о снегопадах, оценивать количество осадков и получить температурные показания на разных высотах. Пример рекомендации для любителей горнолыжного спорта в Яндекс Погоде. Изображение: yandex.ruПомимо перечисленного существует ещё много видов деятельности, которые зависят от погодных условий. Поэтому ждём от Яндекс Погоды новых тематических прогнозов и желаем удачи в работе!А что в полной версии? В подкасте с Александром Ганьшиным обсудили: с какого стартапа он начинал, зачем Яндексу понадобилась погода, что мешает делать 100% прогноз и почему сложно предсказывать дождь. Слушайте выпуск и пусть вам сегодня не пригодится зонт ☔️

Про урокцифры:  РАЗРАБОТКА

Как делают погоду в «Яндексе»

Сегодня, 23 марта, в России свой профессиональный праздник отмечают метеорологи и все, кто так или иначе причастен к работе гидрометеорологической службы. В честь этого Информационная служба Хабра пообщалась с руководителем сервиса «Яндекс Погода» Александром Ганьшиным. Мы узнали, как в компании собирают данные для прогнозов, какие алгоритмы обрабатывают их и как погода добирается до смартфонов пользователей.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

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

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

Обычно рядом с этими станциями периодически запускают радиозонды, которые проводят такие же измерения, но на высоте 15-20 километров. Ещё часть данных собирают метеостанции-буи в океане, корабли, коммерческие самолёты во время выполнения рейсов и метеорологические спутники и радары. Все эти средства измерения собирают данные, которые создают начальные условия для формирования прогнозов погоды. Этих данных уже достаточно для того, чтобы понять, какая погода в конкретной точки Земли в настоящий момент времени.

После сбора данных их необходимо обработать таким образом, чтобы можно было построить прогноз и узнать, как данные будут меняться в зависимости от времени. Для этого используются физико-математические модели, построенные на уравнениях гидродинамики и газодинамики. С их помощью описываются все процессы, которые происходят в атмосфере. Уравнения решаются не аналитическим путём, а численно с помощью суперкомпьютеров. В мире существует около десяти таких компьютеров, предназначенных для работы с прогнозами погоды. В них заложены одинаковые уравнения, но отличаются они приближениями и начальными условиями. В России, Европе, Канаде, США, Японии и других странах — свои модели и способы решения уравнений, но в итоге каждый суперкомпьютер обрабатывает входные данные и выдаёт прогноз на ближайшие 10-15 дней.

После этого прогноз оказывается в смартфоне, но только в том случае, если у пользователя не установлена «Яндекс Погода». Для пользователей «Яндекс Погоды» начинается следующий этап. В «Яндексе» мы исходим из того, что модели расчёта прогнозов погоды ошибаются. У каждой модели есть свои особенности. К примеру, одна из них может занижать ночную температуру, тогда метеоролог, который работает с моделью, прибавляет пару градусов для нивелирования погрешности. В «Яндекс Погоде» процесс исправления ошибок устроен похожим образом. Мы используем четыре глобальных прогноза погоды из Европы, Канады, США, Японии и рассчитываем один собственный прогноз с помощью модели Weather Research & Forecasting Model (WRF) с открытым исходным кодом. В итоге получается пять разных прогнозов.

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

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

Как я уже говорил, самый объективный способ измерения погоды и в том числе осадков — метеостанции. Но на всю планету приходится всего около 10 тыс. метеорологических станций, что усложняет наблюдение за дождём. К тому же, осадки — это дискретная величина. Дождь может пойти на одной улице, но на соседней всё будет сухо. Поэтому проще всего измерить осадки с помощью специального ведра на метеостанции, в которое собирается дождевая вода, и можно узнать, сколько миллиметров осадков выпало за сутки. Это один из способов получения данных о дожде.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

Ведро для измерения уровня осадков на метеостанции

Другой способ подразумевает использование специальных приборов, которые называются метеорологическими радарами. Их принцип работы схож с авиационными радарами. Подобное устройство, установленное в определённой точке, испускает вокруг себя радиоимпульс и принимает отражения. Если в атмосфере есть осадки, то сигнал отразится от капель дождя и вернётся. Сам радар измеряет ослабление этого сигнала и связывает его с миллиметрами выпавших осадков в конкретном месте. Подобные радары сканируют область в радиусе 250 километров и выдают результаты в разрешении примерно 2×2 километра. С их помощью можно получать информацию об осадках каждые 10 минут.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

Пример работы метеорологических радаров

Если рядом нет радаров, то можно использовать спутниковые приборы. Есть спутники, которые работают так же, как радары, но только из космоса. Их проблема в том, что над одной и той же точкой они пролетают довольно редко. С их помощью можно получать данные с периодичностью примерно в три дня, а люди, скорее всего, не будут столько ждать информацию о дожде. Поэтому для оперативного получения данных мы используем геостационарные спутники. На геостационарной орбите у нас буквально находится большая профессиональная камера, которая делает снимки видимой части Земли каждые 10-15 минут. С помощью этих снимков можно получить данные об осадках. Определяют их нейросети, которые получают снимки и понимают, над какими участками сейчас на самом деле идёт дождь.


КАК РАБОТАЕТ ЯНДЕКС ПОГОДА

Пример работы геостационарных спутников

Самый точный и верный способ получить данные об осадках — воспользоваться метеостанцией. Это прямой способ измерения, который никогда не ошибается, но делает замеры довольно редко. Радары и спутники относятся к косвенным способам измерения, которые подвержены влиянию внешних факторов и могут ошибаться. Но есть ещё один способ, который позволяет получать данные быстро и без ошибок. Человек всегда может выглянуть в окно и сказать, идёт ли сейчас на улице дождь. Для этого не нужно специальное оборудование и сложные формулы. Именно поэтому «Яндекс Погода» спрашивает пользователей о состоянии за окном. Пользователи приложения становятся настоящими метеорологами, помогающими составлять прогноз погоды.

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

Пользователи могут сами сообщать об осадках, а если кто-то будет постоянно давать ложную информацию, то как это скажется на точности прогноза?

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

Как отслеживать молнии и можно ли их предсказывать?

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

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

И третий способ заключается в использовании грозапеленгаторов. Если мы хотим в режиме реального времени узнать, где же сейчас ударила молния, то этот способ на текущий момент является эталонным средством. Грозапеленгаторы представляют собой продвинутые и дорогостоящие радиоприёмники, измеряющие время прохождения сигнала в определённом радиодиапазоне. Если приёмник будет один, то мы узнаем примерное расстояние, на котором ударила молния. А с сетью таких приёмников можно будет получить точные координаты. Принцип работы похож на GPS-спутники, которые по времени прохождения радиосигнала определяют местоположение. С помощью одного спутника узнать точное местоположение не получится, но если спутников будет несколько, то можно получить координаты.

Про урокцифры:  ЯНДЕКС ИГРЫ ВХОД И РЕГИСТРАЦИЯ

Что такое ощущение температуры и как рассчитываются эти ощущения? Как учитывается фактор того, что все люди по-разному воспринимают температуру?

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

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

Каким может быть прогноз погоды в будущем?

В первую очередь чаще и больше будет использоваться машинное обучение. Раньше к нему меньше обращались, но в последнее время всё больше крупных компаний разрабатывают собственные модели машинного обучения для прогнозов погоды. Атмосфера — естественный источник больших данных, в которых можно поискать закономерности и получить интересные результаты.

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

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

Руководитель группы метеопрогнозирования «Яндекса» Александр Ганьшин рассказывает, как сервис стал самым популярным в России.

«Яндекс. Погода» появилась в далёком 2000 году, это был один из первых сервисов компании. В начале пути он представлял собой погодный виджет от внешнего сервиса «Метео-ТВ». Позже в команде появились выделенные менеджер и разработчик, которые наладили показ на сайте «Яндекса» метеопрогноза финской компании Foreca для ограниченного списка городов. С тех пор многое изменилось.

Как «Яндекс» сам научился погоду предсказывать

Версия прогноза погоды, которую вы видите сейчас на сайте, начала развиваться, когда, казалось бы, сервис уже состоялся — ему было 14 лет. В 2015 году мы запустили первую версию технологии Meteum. С этого момента «Яндекс. Погода» перестала быть ретранслятором чужих прогнозов. Сначала сервис работал в пилотном режиме: прогнозы по технологии Meteum были доступны только в Центральном и Уральском федеральных округах, так как основные силы разработки базировались в Москве и Екатеринбурге. Команда буквально на себе проверяла собственные прогнозы, что позволяло быстрее исправлять промахи.

В основе нашего Meteum была модель машинного обучения, которая искала и исправляла неточности в прогнозах Foreca, американского метеоцентра и своего собственного. Собственный прогноз мы рассчитывали на кластере из сотни вычислительных машин с помощью мезомасштабной модели Weather Research and Forecasting Model (WRF) и метода машинного обучения Матрикснет, который разработали внутри «Яндекса» и использовали на тот момент в поиске.

Прогноз, который меняется вместе с погодой

Погода может меняться так же стремительно и непредсказуемо, как настроение без чашки кофе. Особенно изменчива она бывает летом, когда солнце может внезапно смениться ливнем. Традиционные прогнозы погоды не всегда успевают за такими событиями, поэтому и говорят «местами дожди».

Чтобы наши пользователи могли планировать свой день, мы сделали в Погоде интерактивную карту осадков: в её основе — измерения с метеорадаров и машинное обучение. Сперва мы подключили 20 приборов, затем — ещё десять. Это позволило увеличить покрытие и, как следствие, количество пользователей.

Метеорологические радары делают замеры в радиусе 250 км от места установки, но сейчас мы используем только измерения, полученные в радиусе 170 км: на границе видимости уже могут быть неточности. Радары дают нам информацию о силе осадков (непосредственно дождь возле поверхности Земли) и об отражаемости или, другими словами, об ослаблении или рассеивании сигнала от радара на каплях воды в атмосфере до высоты 10 км — она позволяет улучшить прогноз возникновения и исчезновения осадков.

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

Метеорадар не может, нейросеть поможет

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

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

Метеостанция в каждом смартфоне

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

Если говорить о традиционных способах наблюдения за погодой, то с метеостанций на территории России можно получить около 8 тысяч сообщений о дожде в сутки. Наши пользователи оставляют нам больше миллиона сообщений в день, а в особо дождливые дни — до трёх миллионов. Не все из них достоверны, но объем поступающей информации позволяет обеспечить высокую точность за счёт агрегации и сравнения сообщений, которые приходят из одного района.

Также профессиональные приборы не всегда быстро реагируют на внезапные дожди, зато люди сигнализируют об этом мгновенно: по нашим расчётам, благодаря их сообщениям нам удалось уменьшить количество ошибок на 20%. Также пользователи могут написать развернутое сообщение через форму обратной связи. Мы отслеживаем количество жалоб на неправильный прогноз и перепроверяем модели, чтобы выявить возможные неполадки.

Meteum 2

Использование сообщений пользователей позволило нам построить принципиально новую систему прогноза осадков. Для уменьшения ошибок мы используем свои данные о состоянии атмосферы и информацию от четырёх метеокомпаний: американской, европейской, японской и канадской. Данные радаров и спутников обрабатываются нейросетью и комбинируются с использованием алгоритма машинного обучения CatBoost. Модель машинного обучения ищет закономерности и учится воспроизводить сообщения от наших пользователей. Таким образом мы получаем информацию о дожде на основе всех объективных факторов.

Если первый Meteum базировался на гидродинамических моделях и машинном обучении, то во втором к ним добавились сообщения людей. Это позволило увеличить точность прогноза осадков на 5-15% в зависимости от погоды и региона. Такой подход позволяет делать прогноз и там, где мало наблюдений или активных пользователей: алгоритмы Meteum 2.0 могут опираться на данные районов, для которых достаточно информации.

Дизайн, который говорит

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

Опросы и UX-тесты показали, что люди охотнее участвуют в чём-либо, если видят свой вклад в общее дело и получают обратную связь. Поэтому мы решили добавлять на карту осадков зонтики. Как только пользователь оставляет сообщение об осадках, на карте у него и у других пользователей появляется зонтик.

До Meteum 2.0 сбор сообщений о погоде был немного запутанным. У нас было много вопросов про облачность, ветер, температуру — и люди не хотели тратить на них время. А о том, что можно ответить только на один вопрос, знали не все. Тогда мы сделали одну кнопку «Это так?» под иконкой с погодой, а на карте осадков — простой интерфейс, где надо выбрать, идёт дождь или нет. Это позволило нам увеличить поток сообщений в десятки раз. В итоге мы смогли разработать новую технологию прогноза, участвовать в котором теперь может каждый.