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

image


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

Разбор полётов

«Прогноз с точностью до дома»

А есть ли необходимость в таком прогнозе? В существующих компьютерных моделях используется сетка 20 на 20 километров или 15 на 15 километров. Что это означает? Это означает, что каждый расчётный узел от предыдущего находится на расстоянии 20 километров. Как правило, для равнинной местности с небольшими перепадами высот этого достаточно. А вот в условиях горной местности, требует помощь мезомасштабных моделей, где расчётные узлы находятся на более близком расстоянии. Чаще всего это 5, 2 или 1 километр. Но бывают и исключения. Например, специально для Олимпиады в Сочи в 2014 году была разработана мезомасштабная модель COSMO с сеткой в 100 метров! Разумеется, такая модель хорошо рассчитывает локальные явления присущие данной местности: туман, орографические осадки, резкие перепады температур. Но как вы видите, даже здесь используется сетка точностью в 100 метров. И это оправдано. Ведь увеличение числа узлов приводит к повышению нагрузки на суперкомпьютер, на котором запускается модель. Но нужна ли точность до дома? В некоторых случаях воздушная масса оказывается настолько однородной, что на один градус температура изменяется каждые 10, 20 или 50 километров! Прогноз с точностью до дома — это рекламная утка, не более.

image
Минимальная температура в ЦФО ночью 2 января

«Более детальная информация о глобальном состоянии атмосферы к нам приходит из американской модели Global Forecast System, которая считается одной из самых точных глобальных моделей в мире и имеет разрешение в 0.25 градуса.»

Ещё одно утверждение, требующее пояснений. Американская компьютерная модель GFS действительно хороша, но она не самая точная. Европейская модель ECMWF – вот самая точная модель. На американском сайте weatherbell.com приводятся графики соответствия прогнозируемого барического поля и фактического, по двум моделям на срок до 5 суток. За 2015 год у Европейской модели коэффициент соответствия 0,910, а у американской – 0.885. Прогноз барического поля – это базовый параметр. Если модель его хорошо рассчитывает, значит, она может и адекватно рассчитать температуру, ветер, облачность и осадки.

image
Анализ качества прогнозирования барического поля у американской и европейской модели.

Оценка точности


Вот и настал момент истины. Сейчас несколько слов об условиях эксперимента. Я не понаслышке знаком с критериями оценки точности прогноза. На своём сайте «Погода 45», я уже три года составляю свои собственные прогнозы для моего города Кургана. Я использую мультимодельную ансамблевую методику, прогноз строится на базе десятка разных моделей, которые «включаются» в разное время года и в разных синоптических ситуациях. В 2014 году прогноз по температуре на одни сутки оправдался на 95%, а в 2015 удалось поднять точность на 1%! Мой прогноз на 10% точнее, чем у наших местных синоптиков, для которых 85% — это верхняя планка. Ещё ни один сервис, ни одна самостоятельная модель не смогла составить прогноз точнее, чем у меня. Множественный подход показывает большую эффективность, чем прогноз единичных моделей.

Каждый день в течение всего декабря я записывал прогноз Яндекса, Фореки и свой собственный. Прогноз максимальной температуры днём и минимальной ночью. Это общемировая практика, здесь нет ничего нового. Анализировал оправдываемость в процентах и среднюю абсолютную погрешность в градусах. Для оценки оправдываемости я использовал наставление Гидрометцентра. Оно есть здесь.

Вывод


image

Результаты эксперимента оказались для меня ожидаемы. Прогноз от Яндекса оказался на 2% точнее, чем у Фореки, а средняя абсолютная погрешность оказалась практически равной. Это означает, что эти 2% обычный пользователь даже не почувствует. И, разумеется, Яндекс не смог превзойти мои прогнозы, опубликованные на сайте «Погода 45». Кроме того, за время своего наблюдения я заметил, что Яндекс не умеет прогнозировать ночное выхолаживание, а это самая главная проблема в зимнее время года. Другой проблемный момент касался самого сайта и приложения. С середины декабря Яндекс начал выдавать самые неадекватные прогнозы, которые можно списать на технические неисправности. Например, в новогоднюю ночь я ожидал похолодание до -30 по большинству моделей. А Яндекс показывал лишь -21. Это непростительная ошибка! А 35% превосходства я даже не стану комментировать.

image
Глюк на сайте Яндекса. Нет похолодания. В новогоднюю ночь было -33. Яндекс показывает -21.

В конечном итоге можно сказать, что Яндекс не создал ничего сверхъестественного, объективный анализ прогноза показал превосходство над прогнозами сайта Foreca лишь в пределах погрешности, а значит, обычные пользователи не смогут почувствовать этой разницы. А если нет разницы, зачем платить больше?

Комментарии (36)


  1. IonDen
    07.01.2016 14:50
    +3

    О родной Курган! Как же там бывает холодно)


    1. GeXoGeN
      07.01.2016 23:36
      +1

      Теперь это ветка курганцев нынешних и бывших!


  1. Tutufa
    07.01.2016 14:52
    +6

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


  1. Halt
    07.01.2016 15:39
    +14

    Было бы очень интересно почитать про вашу методику составления прогноза, если конечно вы готовы ее разгласить. В чем основное преимущество вашего метода: объединение нескольких моделей, ручная корректировка моделей под локальные условия или ручная пост-обработка данных?


    1. fantast8
      07.01.2016 23:54
      +11

      Отвечаю на Ваш вопрос. Но для начала немного теории. На данный момент в мире насчитывается дюжина компьютерных моделей для прогнозирования погоды. Они делятся по ряду критериев. По географическому расширению: глобальные, захватывающие весь мир и локальные, захватывающие определенный участок суши. У каждого более-менее развитого государства есть своя компьютерная модель, разработанная в недрах своих институтов и исследовательских центров. Глобальные модели есть у таких государство, как США (Лидеры), Россия, Китай, Бразилия, Великобритания, Индия и Канада. В США сосредоточены самые крупные вычислительные ресурсы, поэтому они лидеры в этой области. У них много моделей, но их топовая модель GFS находится на втором месте. У Евросоюза есть своя общая модель, ECMWF (Модель европейского центра среднесрочных прогнозов) — лучшая в мире, как у я уже писал в тексте. У России тоже есть своя модель, но она очень очень плохого качества, мы в этой области отстали от запада на 15-20 лет. Каждая модель хороша по-своему. Например, есть северо-американская модель NAEFS, которая хорошо прогнозирует ночное выхолаживание в центре антициклона, такое же свойство имеет и канадская модель GEM. Поэтому если надо мной будет висеть антициклон, и я буду видеть, что сегодня есть вероятность быстрого остывания воздуха, то я буду сдвигать прогноз в сторону этих моделей, которые более чувствительны в данной синоптической ситуации, чем другие. Мой метод заключается в сборе данных со всех моделей и приведение их в общему знаменателю, в зависимости от «небесной» ситуации. Модели — это сырые данные, человеческий фактор исключать нельзя. У человека, как синоптика, есть интуиция, опыт, чутьё. У моделей такого нет. Поэтому человек + модель = хороший прогноз. Разумеется, мой метод заточен под мою местность, я знаю её особенности. Нельзя создать полностью автоматизированный прогноз рассчитанный на идеальный результат. Правка со стороны человека всё равно должна присутствовать. Наши синоптики в местном ГМЦ выдают прогноз по температуре на сутки в 85% — это очень плохой показатель, уровня 80-х годов. Прогноз составляется классическим синоптическим методом, когда на картах цветными мелками и карандашами наносятся фронты, а дальше методом траекторий рассчитывается куда будет сдвигаться циклон. Этот метод хорош, но если ты живёшь в 60-е годы. Сейчас этот метод устарел. Средний возраст наших синоптик в районе 40-50 лет, и не все они могут осилить тот пласт сведений поступающих от компьютерных моделей. Это всё равно, что дать своей бабушке iphone и научить её пользоваться хотя бы почтой. Будущее за компьютерными моделями. Если есть вопросы, задавайте.
      image


      1. romangoward
        08.01.2016 07:07

        Если увлекаешься метеорологией, то обрати внимание на Норвежский Метеорологический Институт: http://www.met.no/English
        У них отличная собственная система прогнозирования, которая используется, например, в мобильным приложением yr.no ( https://play.google.com/store/apps/details?id=no.nrk.yr ).


        1. fantast8
          08.01.2016 12:19
          +1

          Это не их собственная система прогнозирования. Это интерпретация Европейской среднесрочной модели (ECMWF) о которой я писал. Эти же данные представлены в прогнозе на 10 суток на этом сайте — meteocenter.asia Если Вы видите, что сайт выдаёт прогноз на 10 суток — знайте, скорее всего это европейская модель. Её используется Форека (лучше всех), yr.no и meteocenter.asia. Данные yr.no ещё перехватывает gismeteo, но делают они это хуже всех. Первые 10 суток у них это ECMWF, а дальше идёт GFS, так как американка единственная выдаёт прогноз до 16 суток. И да, если Вы видите, что на сайте болтается прогноз на 15 суток, скорее всего это именно GFS. Но, например, сайт rp5 использует британскую модель UKMO. А кто же лучше? А лучше Foreca и их приложение. Рекомендую.


          1. dom1n1k
            12.01.2016 02:52

            А откуда информация какую модель использует Форека? Я как-то облазил весь их сайт и так и не нашел ссылок на их источники.


            1. fantast8
              12.01.2016 06:38

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


  1. dom1n1k
    07.01.2016 16:14
    +2

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


    1. JustRamil
      07.01.2016 21:52

      Думаю что в данном случае можно использовать принцип «Бритва Оккама».
      Иными словами

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


  1. Ramzeska
    07.01.2016 22:06

    Да какая погода. Вы видели что показывает яндекс погода на карте? ) Открываешь центральный регион — погода показывается в 3ех городах: Тверь, Ярославль, Иваново =) Если увеличивать, то вроде начинает показывать, но не в городах, а почему-то везде, но не там где надо… Откройте Европу. Там вообще пусто (не считая Перми) :) Более бестолковой карты погоды я не видел…


  1. iXCray
    07.01.2016 22:07
    +6

    Если в посте яндекса на хабре нет развернутой технической части — это 100% маркетинговое дерьмо :)
    Причем, нет никакой разницы: про погоду это или про то, как они для защиты своих пользователей referrer-ы начали шифровать.


  1. dolphin4ik
    07.01.2016 23:04
    +11

    Я утром с собакой хожу гулять. Так что если кому нужна точная инфа о погоде утром в Питере, спрашивайте в личку


    1. Anonym
      07.01.2016 23:47

      А почему не написать здесь?


    1. ingumsky
      08.01.2016 00:19

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


      1. fantast8
        08.01.2016 00:25
        +1

        Это ведь не прогноз, а фактическая информация.


        1. ingumsky
          08.01.2016 00:31
          +1

          Да, вы правы. Но суть моего комментария в том, что фактическое состояние дел и прогноз могут значительно расходиться в зависимости от того, о какой части города речь.


          1. fantast8
            08.01.2016 00:40

            В таком случаем можете наблюдать за показателями в разных частях на карте по данным автоматических станций. weatherobs.com На +5 не смотрите, это глюк. image


  1. ZlodeiBaal
    08.01.2016 04:11
    +8

    Я как-бы не удивляюсь, что глобального улучшения предсказаний своим прогнозом Яндыкс не достигает.
    Но меня несколько удивляют ваши «выводы». Ваша модель и модель Яндыкса судя по таблице демонстрируют практически одинаковые показания. 2.4 против 2.7 — невелика разница. Её можно списать на статистическую погрешность.
    Вы сделали такую же работу, как и Яндыкс: проагреггировали различные прогнозы и получили некоторый результат, чуть точнее чем все они. Получили точность чуть-чуть лучше чем Foreca. Возможно, чуть точнее яндыха. Зачем? Процитирую ваш же вопрос в конце: «А если нет разницы, зачем платить больше?»
    Яндекс сделал точно тоже самое, но по всей России.

    В целом, мне статья понравилась, но выводы какие-то предвзятые. Такое ощущение, что вы «ревнуете» нового конкурента:)


    1. tundrawolf_kiba
      08.01.2016 08:01
      +4

      >Ещё ни один сервис, ни одна самостоятельная модель не смогла составить прогноз точнее, чем у меня.
      Ну у меня после этой фразы вообще создалось впечатление, что человек просто рекламирует свой сайт.


    1. kyprizel
      08.01.2016 09:34
      +3

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


  1. vitektm
    08.01.2016 09:00

    Может яндекс задействовал данные с narodmon.ru?
    Прежде чем брать данные с конкретного датчика можно проанализировать его достоверность по своим прогнозам или другим датчикам.

    Я тут недавно понял, что наверно очень важно предсказывать ОПАСНЫЕ метеоусловия.
    И например нет прогноза по видимости из-за снега. Причем снег может не падать а будет сдувать с поля.

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

    У меня такой вопрос: как учитывается высота и структура снежного покрова на местах.
    Рыхлый или мокрый или с коркой.

    И вопрос еще такой, вот лежит слой снега в 10см, скажем из которого можно снежки лепить, через какое время он может стать рассыпчатым ???
    Какое время и какие условия для этого нужны?


    1. NeOn4eG
      08.01.2016 10:34

      Вчера весь день было фактически -12-13 градусов, по прогнозу яндекса -20, -25 к вечеру. Это к слову о narodmon, мой датчик там есть. Жесть прогноз :) город — Ярославль


  1. aamuvirkku
    08.01.2016 09:43

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


    1. aivus
      10.01.2016 01:21

      Попробуйте сделать свайп вправо в верхней части приложения(там где «тучки» и «солнышки»), открыв его из виджета.
      Там будет и направление ветра, и влажность, и давление, а также время восхода/заката.


      1. aamuvirkku
        10.01.2016 09:36
        +1

        Это я нашёл, но это текущие а не прогнозные. Я не понимаю, почему нет прогноза по этим параметрам.


  1. 08.01.2016 12:01
    +11

    С интересом прочитал статью, большое спасибо автору за анализ прогнозов в городе Курган. Попробую ответить на несколько вопросов, заданных в тексте.

    В некоторых случаях воздушная масса оказывается настолько однородной, что на один градус температура изменяется каждые 10, 20 или 50 километров!


    Полностью согласен с автором — бывают случаи очень однородного поля температуры, когда над огромными площадями температура практически не изменяется. Не очень понятно, правда, почему в связи с этим не стоит делать прогноз погоды с высоким разрешением. Хорошо известны ситуации, когда мгновенные (не минимальные, и максимальные) температуры различаются на 2-4 градуса на расстоянии в несколько километров, например из-за городского острова тепла.

    Ещё одно утверждение, требующее пояснений. Американская компьютерная модель GFS действительно хороша, но она не самая точная. Европейская модель ECMWF – вот самая точная модель.


    Модель ECMWF действительно очень хороша. Однако, как убедительно говорит автор в своем комментарии про технологию составления прогноза, среди моделей не существует абсолютного чемпиона по точности — все модели в чем-то хороши, а где-то ошибаются. Кроме того, график, приведенный автором под названием «прогноз барического поля» на деле содержит оценку точности прогнозов барического поля на высоте 500 ГПа (около 5.5 км над поверхностью Земли). Распределение давления на высоте 5.5 км — параметр безусловно важный, но далеко не единственный, не говоря уже о том, что корреляция не принимает в расчет систематических ошибок.

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


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

    Что касается непосредственно результаты сравнений, то тут у меня возникает достаточно много вопросов, которые как бы остались за рамками статьи. По каким (и скольким) метеостанциям были проведены сравнения? Каков объем выборки? Какая заблаговременность прогноза использовалась? Без этой информации комментировать результаты сравнений достаточно сложно. Что касается метрик сравнения, то средняя абсолютная погрешность определения максимальной и минимальной температуры, как правильно отмечает автор, пользователем ощущается слабо. Можно было бы, например, посчитать процент больших ошибок (более 5 градусов), которые, кажется, больше заметны людям. И это касается только температуры, а ведь есть еще осадки — не менее важный параметр… В общем, готов обсудить методику сравнений. По нашим приборам за выбранный период мы и правда не слишком отличались от Фореки по точности предсказания температуры на 24 часа вперед, в то время как сильно выигрывали по точности предсказания осадков.

    Да, чуть не забыл :)

    Мой метод заключается в сборе данных со всех моделей и приведение их в общему знаменателю, в зависимости от «небесной» ситуации.


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

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


    1. fantast8
      08.01.2016 12:50
      +1

      Наставление по оценке краткосрочных прогнозов от Гидрометцентре из файла опубликованного в тексте.

      7.3.1.4 Оправдываемость прогноза температуры воздуха на каждой станции Рt равна 100 %, если фактически наблюдаемая максимальная (минимальная) температура находилась в пределах прогнозируемой градации или отличалась от крайних ее значений не более чем на 2 °С. Если фактические значения наблюдаемой температуры отличались от крайних значений прогнозируемой градации более чем на 2 °С, то оправдываемость Рt равна 0 %.

      Например. Чаще всего в сводках выдают прогнозируемый интервал, например +9...+11. Центральное расчётное значение это +10. Допуск 2 градуса от интервала. Значит, чтобы наш прогноз оправдался, фактическое значение должно находится в коридоре от +7 до +13. Если фактическая +8 — 100% оправдываемость. Если +6 — 0%. 3 градуса от значения или 2 градуса от интервала — вот возможный допуск.

      Второй момент. Это сбор фактических данных. Я, разумеется, не стану использовать китайский термометр болтающийся за окном. Я используют проверенные данные с нашей курганской метеостанции под индексом 28661. Её сводки есть здесь — goo.gl/0l2N8e

      Что же касается оправдываемости, то тут есть ряд моментов, которые следует обговорить. Например, есть два прогнозы. Один выдаёт на день +8, а другой +10. Фактическая составляет +7. В итоге получается, что оба прогноза оправдались, но вот первый оказался ближе к факту. И на таких градусах и вытягивается оправдываемость. Поэтому параметр абсолютной ошибки — является наверное самым ключевым, при относительном сопоставлении ресурсов.

      Что же касается Яндекса. То использование трёх моделей — еще нельзя назвать ансамблевым прогнозированием. Что Вам мешает использовать канадскую модель или североамериканскую. Их GRIB файлы есть в свободном доступе. Освойте климатическую модель CFS, создавайте долгосрочные прогнозы. Это ведь Яндекс. Есть ресурсы, начиная от людских и заканчивая вычислительными. Будьте наконец крутыми!


      1. 09.01.2016 11:58
        +1

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

        Про фактические данные. Если я правильно понял, то сравнения велись в течение месяца по одной станции (вне всяких сомнений качественной). Курганская станция, насколько я знаю, передает измерения раз в 3 часа. Это значит, что если бы даже мы сравнивали мгновенную температуру, выборка составила бы 248 измерений. Это интересное упражнение, но, как вы понимаете, такой объем данных не может служить основанием для каких-то общих выводов.

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

        За пожелания спасибо, будем стараться :)


        1. fantast8
          09.01.2016 14:40
          +1

          При чём здесь выборка? Если речь идёт про минимальную температуру (Tmin) и максимальную (Tmax). Минимальная температура измеряется специальным минимальным термометром, в период с 20 часов одних суток до 8 часов утрах других (метеорологическая ночь), а максимальная, соответственно с 8 часов утра до 20 часов вечера (метеорологический день). По вашим часовым прогнозам легко выявляется минимальная и максимальная. Именно её я и соотношу с фактом.


          1. 11.01.2016 13:06
            +1

            Да, я понял, как вы проводите сравнения, спасибо.

            При чём здесь выборка?

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


  1. ruslanys
    10.01.2016 07:08
    +1

    Автору большое спасибо за интересную статью. Побольше бы таких энтузиастов в Гидрометцентр России.


  1. Shubinpavel
    12.01.2016 18:03

    А Вы не могли бы, на доступном уровне, описать как выглядят эти модели? Хотя бы в самых общих чертах?


    1. fantast8
      12.01.2016 19:30

      habrahabr.ru/post/274641/#comment_8728655 Или вы хотите целый пост об этом?


      1. Shubinpavel
        12.01.2016 19:35

        Это история. Хотя тоже было бы интересно. Но мне было интересно почитать, какие методы применяются. Явно не граничные. Скорей сеточные. Но и там куча нюансов. Которые, уверен, были бы интересны :)