Чей прогноз погоды точнее?

    Многие время от времени задумываются — насколько точны прогнозы погоды? Чей прогноз погоды точнее? В какую сторону чаще всего ошибаются прогнозы для моего города?

    Время математических приключений!


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

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

    И тут я задумался: а кто-нибудь вообще считает точность прогнозов?

    Огненное королевство


    Быстрое гугление выдало проект ForecastAdvisor, однако там оценивались прогнозы исключительно по городам США, и, естественно, отсутствовали русскоязычные провайдеры (Яндекс, Гидромет и т.д.).

    В рунете некоторое время существовал проект MyCli.me, ныне закрытый. Однако у него были постоянные проблемы со сбором данных и рейтинговая система (выбор наилучшего прогноза) не была основана на научном методе.

    Кроме того, я нашел много начинаний, например, от OLS и lucius, но все они были ограничены или по времени, или по городу, или по провайдеру. Например, один из самых удивительных проектов от slimyhorror анализирует сбываемость прогнозов уже больше 5000 дней подряд! Но оцениваются только прогнозы от BBC и только для городов Великобритании.

    Таким образом, было принято решение делать свой проект. Дело за малым — собирать прогнозы, собирать фактическую погоду и оценивать сбываемость на основе научно обоснованной формулы. С нее и начнем.

    Банановая стража


    В 2009 году Гидрометцентр России выпустил «Наставления по краткосрочным прогнозам». Согласно этому руководству, прогноз считается сбывшимся, если он отличается от фактический наблюдаемой температуры не больше, чем на 3 °С в любую сторону. Если прогноз отличается от фактической погоды больше, чем на 3°, то такой прогноз считается несбывшимся (пункт 7.3.1.4 наставления).

    Подробнее про градацию.
    Теоретически провайдер мог бы каждый день прогнозировать погоду от -60 до +60 и таким образом получить стопроцентную сбываемость. Однако корректной градацией прогноза считается отклонение не больше 1 градуса, например, «Температура днем от 2° до 4°». Таким образом, допускается отклонение на 2 градуса от интервала или 3 градуса от значения.

    Прогнозы погоды должны оцениваться раздельно для дня и ночи (7.2.3). Оправдываемость суточного прогноза определяется как среднее из значений оправдываемости прогнозов на ночь и на день. Оценка успешности прогнозов погоды за календарный период (месяц, сезон, год и т.д.) заключается в вычислении их средней оправдываемости за соответствующий период (9.1.1).

    Окей, вроде не сложно — берем прогноз на завтра (на послезавтра и т.д.), собираем данные о фактической погоде, сравниваем отдельно для дня и ночи. Если

    Math.abs(predict - actual) > 3

    то прогноз не сбылся (Pt=0%), если <= 3 то Pt=100%. Считаем среднюю оправдываемость за соответствующий период и получаем нужные данные.

    Темное облако


    От парсинга сайтов с погодой сразу отказался, т.к. парсинг HTML не отличается стабильностью и это неизбежно увеличило бы количество ошибок в итоговой статистике. К счастью, многие провайдеры предоставляют API для доступа к своим прогнозам. На первом этапе я добавил прогнозы от accuweather.com, darksky.net, openweathermap.org и wunderground.com. Все они предоставляют JSON-API. На втором этапе были добавлены норвежский yr.no с XML-API, российский Гидрометцентр (пришлось парсить RSS) и Яндекс.Погода.

    На сегодняшний день есть договоренность с foreca.com и ведутся переговоры с gismeteo.ru, intellicast.com и английским metoffice. Если у вас есть знакомые в этих проектах, готовые помочь с API, — пишите!

    Повышенная странность


    В теории со сбором фактической погоды не должно было возникнуть никаких проблем. В каждом крупном городе есть станция наблюдения за погодой, обычно в центре города, например в Москве это ВДНХ. Национальные гидрометеорологические службы передают данные с этих станций во Всемирную службу погоды, где она обрабатывается и хранится. Наблюдения передаются в виде SYNOP-кода каждые 3 или 6 часов.

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

    Сырые SYNOP и METAR данные можно найти на сайте NOAA; обработанные данные на сайте ogimet.com. Сами станции удобно искать на weatherobs.com.

    Однако тут есть несколько проблем. Во-первых, качество передаваемых данных — в сводках нередко бывают опечатки (например, буква O вместо цифры 0). Во-вторых, стабильность данных. В 2017 году Авиаметтелеком на целый месяц прекратил передачу в международный обмен метеосводок с более чем пятидесяти аэродромов России. В-третьих, есть города, в которых мне просто не удалось найти работающую станцию. Например, в Ростове-на-Дону нет данных ни по станции 34730 (URRR), ни по станции 34731.

    В подобных ситуациях для сбора фактической погоды я использую информацию от частной сети станций The Weather Company (ныне принадлежит IBM).

    Наука рулит


    В итоге получился сайт Meteotrust.com
    На данный момент данные собираются для 10 городов России от 7 провайдеров. В ближайшее время планирую добавить больше городов, больше провайдеров и больше периодов (долгосрочные прогнозы от hydrometcenter и accuweather, прогнозы на 10 дней). Кроме того, готовится сбор статистики по осадкам. Оценивать точность прогнозов по осадкам немного сложнее, чем по температуре. Об этом будет отдельный пост.

    Какие выводы?


    Openweathermap — дно.
    Accuweather, yr.no, darksky — крепкие середнячки.
    У Яндекса и Wunderground — превосходные прогнозы.
    Гидрометцентр часто борется с Яндексом за первое место по качеству краткосрочных прогнозов. Однако есть предположение, что с увеличением количества городов, особенно зарубежных, общая успешность прогнозов Гидрометцентра будет падать.
    Поделиться публикацией
    Комментарии 51
      +4
      А как оценивать прогноз по крупным городам? Относительно недавно с утра ехал на электричке через всю Москву с юга на север. Выехал из +4 и солнце, приехал в -2 и метель. (температура по табло в вагоне, но она вполне соответствовала ощущениям)
      Но вообще давно такого сервиса не хватало.

      PS: У яндекса странные прогнозы. Может вечером на подробном прогнозе за день показывать, что весь день будет дождь, хотя реально он был только вечером. Т.е., похоже, утренний прогноз не корректировался за день совсем. Впрочем у гисметео похожая фигня.
        0
        Выехал из +4 и солнце, приехал в -2 и метель

        Выехал в 12 часов дня, приехал в 21 час вечера? :)
          0
          Не всё так плохо в мск с электричками. Выехал в 6.50 приехал в 8.00.
          Собственно я бы не назвал точные числа, если бы не обратил внимание, как меняются показания термометра по ходу движения. И да, Москва большая…
          0
          Для крупных городов главное собирать факт и прогноз для одного и того же района города. По сбору факта выбора нет — собираем данные со станции наблюдения. По прогнозам — почти все провайдеры дают возможность запрашивать данные по гео-координатам.
          Координаты этой точки я указал в заголовке на странице с прогнозами.
            0
            Почему rp5 нет в списке? Достаточно качественные прогнозы ИМХО.
              0
              Согласен, сам пользуюсь именно rp5. Они, кстати, дают информацию по всем погодным станциям в Москве. Я, например, обычно смотрю Балчуг, чтобы не сильно расстраиваться холодами в Шереметьево. К тому же, проезжаю мимо неё каждый рабочий день :)
          0
          Я глубоко не копал тему, но меня периодически раздражает, что прогнозы каждый день на глаза попадаются, а их анализ на совпадение никогда нигде не фигурирует (хотя это же проще простого сравнить факты и предсказания).
          И это не только погода. Политических аналитиков так же вывести бы на чистую воду.
            +2

            Было бы интересно увидеть ещё и оценку сайта RP5.

              0
              RP5 берет прогнозы у британского Метофиса.
                0
                в течение пары месяцев, пока выбирал погодный информер на телефон яндекс победил rp5
                +4
                Подписался. Жду осадков.
                  +1
                  Яндексовый Метеум — а точнее даже не его самого, а статьи о нём — критикивали справедливо. Потому что, во-первых, все они звучали примерно так: «бла-бла-бла прогноз погоды бла-бла машинное обучение бла-бла-бла машинное обучение бла-бла-бла». А во-вторых, прогноз с точностью до дома или до минут — это фантастика в современных условиях. Ну да бог с ними.

                  А вот вашу методику следовало бы описать подробнее. Сейчас она непонятна.
                    +3
                    В прогнозе осадков по данным метеорадаров нет ничего фантастического. Даже без помощи «нейросетей» можно посчитать во сколько пойдет дождь, зная скорость передвижения зоны осадков и расстояние до нее.
                      0
                      С точностью до дома и до минут? Нет, нельзя.
                        +1

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

                          0
                          не помню чтобы они такое говорили
                          Раз, два (см. заголовки)
                          на пару километров, и десятки минут вполне себе прогнозы по дождю сбывались
                          Да, это уже гораздо ближе к истине. И то при условии, что нас интересует краткосрочный прогноз на ближайшие часы, максимум сутки — чем и занимаются метеослужбы аэропортов. А если говорить о прогнозе на 2-3-5 дней вперед — всё становится резко сложнее.
                          +1
                          Ну я используя данные метеорадаров и логику без всяких машинных обучений могу предположить через сколько начнется или закончится дождь в моем районе
                            +1
                            Таким макаром работают только сверхкраткосрочные прогнозы на считанные часы вперед — ну, чтобы движущиеся тучи не успели существенно сменить ни направление, ни скорость.
                            А если посмотреть чуть дальше, то выясняется, что облака движутся в 3 измерениях, причем неоднородно, и по дороге внутри них происходит масса процессов.
                      +5
                      Почему в качестве сравниваемого показателя выбрали именно температуру воздуха? По-моему, намного важнее осадки.
                        –3
                        Вероятно потому что по прогнозам осадков яндекс далеко не на первом месте.
                          +2
                          Статью не читай, комментарий пиши? С прогнозами по осадкам есть проблема — кто-то передает вероятностный прогноз (завтра будет легкий дождь с вероятностью 80%), кто-то передает количественный (завтра 10 мм осадков). Эти данные нужно нормализовать, плюс сама оценка прогноза осадков не такая тривиальная задача — нужно оценивать ложную тревогу, ложные срабатывания или ложноположительные срабатывания. Я сейчас работаю над этим, до лета надеюсь выпустить.
                        0

                        А что Гисметео? Не проверяли его?

                          0
                          На сегодняшний день есть договоренность с foreca.com и ведутся переговоры с gismeteo.ru, intellicast.com и английским metoffice. Если у вас есть знакомые в этих проектах, готовые помочь с API, — пишите!
                          0
                          У гидрометцентра как то уж слишком идеальный прогноз. Это точно именно прогноз, а не фактическая температура, испарвленная постфактум?
                            +1
                            Да, это точно прогноз. Прогноз «на завтра» собирается каждый день в 14:00, поэтому постфактум исправления я игнорирую.
                            На самом деле краткосрочные прогнозы не такая уж сложная тема. Если прогнозировать, что завтра будет такая же погода как сегодня, то успешность будет 60%. Если прогнозировать, что завтра будет такая же погода как климатическая норма для этого дня (усредненное за последние 10 лет), то успешность будет 80%.
                              0
                              О, я как раз предложил, что неплохо бы эти наивные модели тоже в рейтинг добавить! Особенно учитывая, что судя по вашей таблице, 4 из семи прогнозов хуже 80% (наивного среднего за 10 лет).
                            0

                            Зимой яндекс порода показывала на 13 градусов меньше чем у меня было на градуснике) было весело

                              +1

                              Градусник прям за окном — очень ненадёжная штука )

                                0
                                Почему?) Он висит в тени.
                                  0
                                  Тепло от окна вносит коррективу. Но вряд ли на 13 градусов
                                    0
                                    Градусник в тени, зато обдувается потоком теплого воздуха где-нибуть из-за угла
                                –1
                                Не хватает гисметео, rp5, foreca
                                  +1
                                  По «погодному подполью» сильно впечатляет тот факт, что уже в своём городе есть десятки метеостанций. Вдогонку добавляет то, что WU не швыряет в ливень без зонта никогда. Так что горожанам WU — самое то. Так же симпатичное свойство WU — это метеограммы, которые показывают в каком часу ожидаются осадки (и прочие явления — температура, восход-закат, влажность...).
                                  Но с WU сложность в том, что это всё требует определённой настойчивости потратить время и мозги на настройку этого барахла.

                                  С другой стороны, готовая к использованию метеограмма извлекается у _норвежцев_ — yr.no.
                                  Точность, как ни странно, аналогичная к WU, разве что они друг с другом по температуре имеют мелкие разногласия.

                                  Из чего я делаю вывод, что бесплатная погода от гос-органов годится разве что в сельском хозяйстве показать суммарное количество осадков за сезон. Может быть гос-органы даже точнее окажутся и полезнее для аграриев, чем для горожан.
                                    0
                                    У меня от WU остались обратные впечатления. Для Москвы, по крайней мере, для района, где я живу, в температуру он стабильно не попадал. С осадками тоже были неувязки. Думаю, у них проблема как раз в использовании данных от домашних метеостанций, установленных непонятно где и как. Я регулярно наблюдал по утрам, что в моем районе по данным ближайшей метеостанции температура градусов на 15-20 выше реальной. Видимо, у кого-то датчик стоял на солнечной стороне, да еще и за стеклом.
                                    0

                                    Из наших прогнозов — стоит смотреть RP5, из их — IntelliCast.


                                    Статья без них неполная.

                                      0
                                      RP5 есть смысл смотреть только в контексте сравнения с metoffice, т.к. у них одна погодная модель.
                                      У Intellicast нет публичного API, а опускаться до парсинга HTML пока не хочется. Надеюсь договориться с ними.
                                      +1
                                      Хотелось бы фидбек для пожеланий по добавлению городов, и поддержу, хотелось бы видеть по возможности rp5
                                        0
                                        наши даже пальцем попасть не могут. а другие могут проводит аналитику со своих спутников и наших же метеостанций. и погрешность минимальна. лишний раз зонт не используешь
                                        www.bbc.com/weather/0/524901
                                        www.foreca.com/Russia/Moskva

                                          0
                                          Когда добавите хотя бы все центры регионов? Их ведь немного. В чем сложность их добавить все сразу за один вечер?
                                            0
                                            Ростов-на-Дону теперь URRP код ICAO имеет.
                                              +2
                                              Не совсем так. Аэропорт г. Ростов-на-Дону URRR (ROV) закрылся, вместо него работает Международный аэропорт Платов URRP (ROV).

                                              По теме топика, погода с аэропорта Платова теперь мало должна интересовать топикстартера — этот аэропорт на ~40 км удалён от города и находится в степи.
                                              0
                                              Как бы это смешно не показалось, но лучше прогноза чем на windguru я для себя найти не смог.
                                                +1
                                                неплохо бы для сравнения наивные модели типа «завтра(через неделю) будет такая же погода как сегодня» и «завтра будет такая же погода как в среднем/медиане) в этот день года».
                                                  0

                                                  Добавьте прогнозы с www.foreca.com!

                                                    0
                                                    Foreca будет в ближайшее время, доступ к API они мне предоставили.
                                                    0

                                                    А можете посмотреть The Weather Channel? Как у него с точностью?

                                                      0
                                                      У The Weather Channel нет публичного API. Они предлагают пользоваться данными Weather Underground API, т.к. входят в одну группу компаний (The Weather Company). Однако, визуально кажется, что прогнозы у них разные и поэтому оценивать их нужно отдельно. Надо подумать.
                                                      0

                                                      Не понял только как вы получали прогноз, он же меняется все время?
                                                      И какие идеи по развитию? Более глубокое дробление по времени, например ночь и день по 4 часа планируется?

                                                        +1
                                                        Я сохраняю прогноз каждый день в 14:00 по местному времени города, для которого выпущен прогноз.
                                                        В планах в первую очередь оценивать точность прогнозов осадков.
                                                          0

                                                          Замечательно, очень нужно развитие

                                                        0
                                                        Странно что не кто не упомянул www.meteoblue.com
                                                        У них и сравнение по моделям и анализ точности прогноза.

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

                                                        Самое читаемое