Meteum 2.0, или почему Яндекс.Погода спрашивает вас о дожде

Прогноз погоды, который вы видите на Яндексе, — наш собственный. Его составляет технология метеопрогнозирования Meteum. Недавно Meteum обновился: прогноз стал точнее, и мы научились лучше определять зоны осадков. В этом помогают сигналы от пользователей — Яндекс спрашивает, идёт ли сейчас дождь, а люди дают ответы. Здесь мы расскажем, чем Meteum 2.0 отличается от Meteum 1.0 и почему сигналы о дожде не менее важны, чем показания метеостанций.

Сообщения пользователей об осадках отмечаются на карте зонтиками

С чего всё началось

Отказаться от стороннего прогноза погоды и делать свой мы решили в 2015 году. Яндекс всю историю занимается анализом данных, а прогнозирование погоды — задача как раз из этой области. Есть огромный архив данных о том, какой погода была в прошлом, есть данные о том, какая она сейчас. Нужно это проанализировать и сделать вывод, какой она будет в будущем.

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

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

Meteum 2.0

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

Шесть лет назад, когда мы запускали первый Meteum, для обработки данных использовался метод машинного обучения MatrixNet. Сейчас мы перешли на CatBoost — более новый и более перспективный для задач анализа погоды метод. Система прогнозирования на основе CatBoost, помимо данных от исходных метеомоделей, умеет учитывать и дополнительные факторы: высоту солнца над горизонтом или удалённость от водоёма. Всё это тоже влияет на погоду.

Данных у нас тоже стало больше. Во-первых, мы, как и раньше, используем метеомодели. Когда Meteum только появился, их было три, а сейчас пять: из США, Канады, Японии, Европы и наша собственная. Во-вторых, мы начали применять для составления прогноза погоды данные с метеорадаров и спутниковые снимки.

Радары и спутники

Метеорологические радары находятся на поверхности Земли и делают трёхмерные снимки атмосферы в радиусе 200 километров. Спутники размещаются на геостационарной орбите и фотографируют Землю из космоса — на их снимках видны зоны облачности. По данным с радаров и спутников составляется карта осадков. Это краткосрочный прогноз, с помощью которого можно с точностью до минут понять, когда начнётся и когда закончится дождь.

Наконец, ещё один важный источник данных в Meteum 2.0 — сигналы от пользователей. Те, кто пользуется Яндекс.Погодой или приложением Яндекс, наверняка замечали, что время от времени мы спрашиваем, идёт ли сейчас дождь, и показываем два варианта: «Да» и «Нет». Ответить на вопрос — доли секунды, но между тем такие ответы сильно помогают улучшить качество прогноза.

Коллективный прогноз

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

Любой прогноз — это попытка предугадать развитие событий: какую температуру и силу ветра измерит метеостанция, куда двинется облако на спутниковом снимке и так далее. Так же и с сообщениями о дожде. Meteum 2.0 анализирует уже присланные сигналы и учится прогнозировать, какие пришлют в будущем.

В дождливые дни пользователи присылают до 2,5 млн сигналов

Благодаря сообщениям от пользователей краткосрочный прогноз осадков стал на 20% точнее. Самый заметный прирост качества — на Урале, в Сибири и на Дальнем Востоке, то есть в регионах, для которых у нас нет данных метеорадаров. Раньше мы прогнозировали осадки в этих местах, опираясь только на спутниковые снимки. С появлением нового источника данных — сигналов от пользователей — точность прогноза приблизилась к той, которую дают радарные наблюдения.

15 комментариев
Спасибо, интересно было прочитать. Люблю пеше-водные походы, поэтому очень важно бывает знать более менее точный прогноз на 3-12 часов.
А как обрабатываются сообщения о погоде через механизм "Сообщить о погоде"? Ведь там можно сообщать кроме дождя и другие параметры.
Также дайте возможность сообщать о разных степенях облачности - малооблачно, переменная облачность, с прояснениям и т.п. Сейчас такой детальности нет.
Обновлено 13 июля 2021, 22:54
Света Чистякова
Сотрудник Яндекса14 июля 2021, 13:25
Здравствуйте! Сейчас данные, которые пользователи передают через «Сообщить о погоде», мы используем для оценки качества прогноза. Насчёт облачности. У нас пока три градации: «Ясно», «Переменная облачность», «Пасмурно». Мы подумаем насчёт расширения, но в целом суперподробные градации, как, например, в авиации, для наших задач не очень подходят. Чтобы оценить облачность по восьми- или десятибалльной шкале, нужно быть метеорологом :)
Обновлено 14 июля 2021, 13:25
Света Чистякова,
Для иконки солнце с облаком у вас не совсем подходящее описание - облачно с прояснениями. Например сейчас в Москве небольшая облачность. Это точно не облачно с прояснениями. У вас часто такое описание при любой облачности.
Облачно с прояснениями это сплошная облачность с небольшими просветами.
Текущая облачность в Москве- это скорее переменная, а не с прояснениями.
Сейчас меня приложение спрашивает сейчас облачно с прояснениями. Я хочу ответить нет, но предлагают только пасмурно, дождь, ясно. А вот выбрать более подходящий вариант облачности нельзя.
lagutko69@gmail.com
15 июля 2021, 16:16
Используете ли вы foreca?
Света Чистякова
Сотрудник Яндекса15 июля 2021, 16:34
Здравствуйте! Раньше использовали, сейчас используем ECMWF.
Прошу прощения, что не по теме статьи. Сейчас в Москве идет дождь. Температура за окном 20-23. У вас 30. Ваша температура никак не реагирует на похолодание во время дождя.
Анисимов Андрей
16 июля 2021, 13:17
"мы спрашиваем, идёт ли сейчас дождь, и показываем два варианта: «Да» и «Нет»" - этот вопрос может давать ложные данные, если компьютер подключен по кабелю и Яндекс "считывает" местоположение пользователя с систематической ошибкой в несколько километров (указывая почти на центр города, по адресу провайдера?), как моём случае. Прямо сейчас у меня за окном солнце и гремит гром. Судя по карте дождь льёт в паре километров. Если я отвечу «Нет», мой ответ будет привязан к точке, в которой сейчас как из ведра поливает видимо... И да, я понимаю, что это не проблема прогноза, конечно...
Например сигнализации Starline с sim-картами , которая стоит в тысячах авто круглосуточно получает информацию.

Может быть Яндекс мог быполучать эту информацию.
а почему в этом году нет карты аллергенов как прежде? или я плохо искал...
как велосипедист, ездящий ежедневно, замечу, что этим летом и осенью было очень много ошибок в прогнозах осадков. Вот прям много. Последние 2 дня стабильно обещали дожди, причём целыми днями, а в итоге ничего. Ранее такого не было. 
Владимир Н.
9 октября 2021, 19:48
Интересно, "умники" из Яндекса в принципе не допускают, что человек может не знать, какая сейчас погода на улице, чтобы ответить на ваш вопрос о дожде- например находится в помещении без окон? Зачем ему тогда ваш висящий на экране и закрывающий место вопрос о погоде? Сделали бы ещё кнопку "не знаю". Вообще из всей Яндекс-погоды, я использовал только карту осадков, чтобы смотреть динамическое движение туч, но после ваших обновлений и модернизаций, она перестала работать- карта есть но тучи не показывает.
Добрый день. В последнее время исчезло окошко "Сообщить о погоде". Да и вообще исчезла кнопка "Идет дождь: да или нет". Хотелось бы делиться данными, а не могу. При этом вижу, что на карте "висят" зонтики, т.е. кто-то может ставить отметку о дожде. Что можно сделать, чтобы кнопка появилась?

Marine diesel engine
19 января 2023, 05:56
Я чувствую, что эта вещь очень практична, и ее захотят использовать более одного человека и региона!
Раньше в газетах был точнее прогноз, репутацией не дорожат, со временем выльется это все, удачи .