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

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



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

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

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

Модель WRF поддерживается и развивается учеными по всему миру, однако и у нее есть официальная версия — её развитием и поддержкой занимается американский научный институт NCAR, находящийся в Болдере, Колорадо. Изначально WRF развивалась как две параллельные ветки — ARW и NMM, ныне упраздненная. Модели GFS и WRF имеют несколько разный вектор развития (GFS распространяет глобальные и ориентированные на США продукты). WRF в первую очередь локальная модель, которую можно настроить под определенную местность.

Часть 1. Про классическую метеорологию


По своей сути WRF – это open source программа, написанная на Фортране (см. врезку) и отражающая текущее понимание учеными законов физики и динамики атмосферы и, соответственно, погоды. Как всякий уважающий себя представитель open source software, WRF не работает «из коробки». То есть, вероятно, большинству линуксоидов удастся ее запустить, но только после изрядного количества времени, потраченного на чтение мануалов и компиляцию. При этом качество предсказаний погоды с помощью сырой версии может неприятно удивить. WRF создана, чтобы описывать сложную динамическую систему – атмосферу Земли, и потому нуждается в аккуратной настройке.

Лирическое отступление про Фортран
Понятно, что Фортран, наверное, не самый лучший выбор для создания больших систем с открытым исходным кодом. Но существуют две серьезные причины не переписывать WRF на другие языки. Первая – код, что называется, проверен временем: не одно поколение ученых внесло свой вклад в формирование физической модели. Кроме того, данный код широко поддерживается научными группами по всему миру. Вторая причина заключается в том, что для описания такой сложной системы, как окружающая нас среда, требуются изрядные вычислительные ресурсы. Современные же компиляторы, типа Intel Fortran, позволяют собрать исполняемые файлы таким образом, чтобы те выполнялись с максимальной производительностью.

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

image

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

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

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

Вероятно, эта задача была бы совсем уж неподъемной, если бы не наблюдения. За те годы, в течение которых человечество интересовалось будущими метеоусловиями (а это большой срок), накопился некоторый опыт проведения атмосферных измерений. Были придуманы такие вещи, как метеостанции, спутниковые спектрометры, самолетные приборы, радары, лидары — да мало ли чего еще. Тот объем данных, который является минимально необходимым для составления прогноза на уровне точности, соответствующем современным стандартам, необходимо использовать все доступные источники информации: более 10000 метеостанций по всему миру, более 80 спутников на околоземной орбите, около 1500 станций радиологического зондирования.



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


Некоторые из доступных человечеству способов наблюдения за атмосферой

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

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

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

Прогноз погоды рассчитывается каждый раз, когда пользователь обращается к сервису. Это продиктовано не только желанием отдавать самый точный актуальный прогноз погоды специально для координат пользователя, но еще и суровой необходимостью. Дело в том, что объем данных о погоде с высоким разрешением настолько велик, что предрасчет такого прогноза над территорией всей нашей родины займет несколько часов, и ни одна рантаймовая база не сможет отвечать на запросы за приемлемое время. Это также верно не только для результатов Метеума, но и для некоторых моделей, которые входят в его состав. Например, модели GFS и WRF передают такое количество информации, что для их передачи в API был организован микросервис, который, в отличие от многих баз данных хранить, обновлять и отдавать данные непосредственно из памяти входящих в микросервис машин.



Так на одном из ранних этапов работы выглядело расположение расчетных областей в центральном регионе РФ. Красный – внешний домен с сеткой 6 на 6 км, синие – вложенные области с более высоким разрешением (2 на 2 км)

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

Часть 2. Про машинное обучение


WRF является стандартом индустрии метеопрогнозирования, однако есть и другие модели: прогнозы, сделанные с помощью них мы получаем от наших партнеров. Несмотря на все знания человечества об атмосферных процессах, спутники и суперкомпьютеры, все эти модели, как вы знаете, ошибаются. Интересным является то, что в их прогнозах есть систематически воспроизводимые закономерности.

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



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

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

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

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



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



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



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

Часть 3. Behind blue eyes


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

В режиме реального времени прогнозы моделей, необходимые для работы Метеума, собираются из нескольких разных источников. Находящиеся в микросервисе прогнозы WRF и GFS весят более 60 Гб и обновляются каждую минуту. Причем они делают это атомарно, большими кусками. Такие требования сделали невозможным использование традиционных рантайм-баз. Прогнозы компании Foreca хранятся в PostgreSQL, так как их объемы и частота обновления значительно ниже. После обработки и показа пользователю, результаты формулы вместе с составными частями (прогнозы поставщиков и другие факторы, передаваемые в Матрикснет), отправляются в кластер MapReduce. Эти данные впоследствии используются для верификации и дополнительной настройки работы Метеума.

Часть 4. Тотальный рантайм


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



Часть 5. Что получилось


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

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

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


  1. 26.11.2015 13:04

    Анонсируете… она уже работает? так и не понятно… :)


    1. anton
      26.11.2015 13:08
      +6

      Анонсирует запуск. Уже два часа, как работает для всех :-)


      1. BloodJohn
        26.11.2015 13:14
        +3

        Немедленно поставил на свой старенький андроид! :)


      1. dyadyaSerezha
        26.11.2015 20:30

        Интересно было бы узнать конкретные цифры про точность предсказаний. Например, на 24 часа предсказывается на 90% в пределах одного градуса, на 48 часов на 90% в пределах 5 градусов, на неделю…


    1. tundrawolf_kiba
      26.11.2015 15:53
      +2

      Я так понял — для 36 городов пока что. РнД вот не повезло.


      1. Suntechnic
        26.11.2015 18:53

        А почему у меня показывает карту? Или это не то?


        1. tundrawolf_kiba
          26.11.2015 18:55

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


          1. Suntechnic
            26.11.2015 19:10

            Я так понял что если на карте есть температура по районам, то это уже метиум. Или нет?


            1. tundrawolf_kiba
              26.11.2015 19:13

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


  1. alexkuku
    26.11.2015 13:09
    +6

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


    1. 26.11.2015 13:18
      +6

      Наши переговоры с Росгидрометом пока не завершились.


  1. rauch
    26.11.2015 13:09
    +2

    С одной стороны — круто!

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


    1. anton
      26.11.2015 13:14
      +1

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


      1. egor
        26.11.2015 15:00
        +2

        а при чём тут возможность залогиниться?


        1. reji
          26.11.2015 17:47

          По моему скромному мнению, без возможности залогиниться, Яндекс не может связать геолокацию с пользователем. А без пользователя эти данные не имеют никакого смысла. Примерно как «На улице Ленина, 12 был телефон с андроидом версии 5.3, предположительно телефон YouPhone 5S». И кому из работодателей эта информация интересна?)

          P.S. Я не имею никакого отношения ни к рекламодателям, ни к продающим им данные, ни к Яндекс.Погоде.


          1. egor
            26.11.2015 18:02
            +6

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

            на уровне:
            пользователь А, с advertising ID таким-то, находится в мелкой деревне в глубинах Сибири, передвигается пешком, бывает дома и в ближайшем лесу, владелец дешёвого телефона на Android взятого в рассрочку у оператора

            пользователь Б, с IDFA таким-то, живёт в Москве, посещает дорогие рестораны и ювелирные магазины, передвигается на автомобиле, частый гость в официальном автосервисе Порше, в руках у него iPhone 6s на 128 GB

            без локации пользователя разница между этими 2я только в модели телефона, а с iPhone 6s может и студентка ходить, которой на него денег пока не очень хватает.


            1. reji
              27.11.2015 01:59
              +1

              Но как они свяжут advertising ID из Погоды c пользователем в системе РСЯ? Как они узнают, что пользователь, зашелдший через приложение Google Chrome имеет именно такой рекламный ID?


              1. egor
                27.11.2015 15:08

                а что этот пользователь в принципе забыл в Google Chrome? O_o

                как и было сказано — я не знаю как устроено у Яндекса.
                но любое другое приложение и любая мобильная рекламная сеть — по умолчанию знают advertising ID / IDFA.


              1. areht
                05.12.2015 13:44

                Если хром(яндекс.музыка etc) тоже передаёт местоположение, то после совпадения порядка точек пяти можно связывать.


    1. Ohar
      26.11.2015 13:31
      +12

      Это плохо? Они так зарабатывают, предоставляя пользователям сервис, а рекламодателям — аудиторию.
      По мне, так довольно честная сделка.
      Если кому-то что-то не нравится, он может просто не пользоваться их услугами.


  1. michaelkl
    26.11.2015 13:22
    +1

    А с narodmon не берёте данные? Они там покачественнее, чем из телефонного чипа, и географическая привязка уже есть и никто не обвинит в слежке.


  1. mopsicus
    26.11.2015 13:34
    -12

    По мне, так Яндекс.Погоде вообще нельзя верить, максимум прогноз на завтра. А тут еще и до дома хотят… :(


  1. encyclopedist
    26.11.2015 13:37
    +1

    Картинка с расположением расчётных областей вызывает недопонимание: 6*6 км — это глобальная модель (на всем шарике) или региональная (только прямоугольник как на картинке)? И сколько у вас уровней по высоте?


    1. encyclopedist
      26.11.2015 13:43
      +1

      И ещё: сотрудничали ли вы с какими-то институтами или известными учеными в этой работе? (дисклеймер: у меня диплом был по очень близкой теме, кафедра ИВМ РАН).


      1. 26.11.2015 14:15
        +3

        Сетка 6x6 км относится к самому большому прямоугольнику. Во вложенных областях мы рассчитываем параметры атмосферы с разрешением 2x2 км. Уровней по высоте больше 40. Что касается сотрудничества, то мы, разумеется, общаемся с коллегами из NCAR и других атмосферно-ориентированных организаций.


        1. encyclopedist
          26.11.2015 16:35

          А с российскими? Свои модели есть как минимум в ИВМ и Росгидромете, я уверен что и ещё где-то есть. Они были сильно хуже или не стали по каким-то причинам сотрудничать?

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


          1. 26.11.2015 18:41
            +2

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

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


  1. seregagl
    26.11.2015 14:06
    +4

    Так все-таки стоит ждать?
    image


    1. 26.11.2015 14:29
      +3

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


      1. rPman
        26.11.2015 18:14
        +1

        Лет пять назад слышал что для такого точного предсказания нужны просто вычислительные мощности а данных более чем достаточно… это не так?


        1. 26.11.2015 18:44
          +1

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


          1. encyclopedist
            26.11.2015 18:48

            А не планируете использовать что-то вроде Blitzortung.org (краудсорсные молнии по всему миру в реальном времени)?


        1. eugenius_nsk
          26.11.2015 19:51

          Вопрос в плотности покрытия метеостанциями. Вычислительные мощности, разумеется, нужны, но при отсутствии исходных данных с достаточной детализацией остаётся только апроксимировать.


    1. Zalina
      26.11.2015 14:30

      Да!


  1. VioletGiraffe
    26.11.2015 14:16
    -5

    Т. е. никто (weather.com и все-все-все) не может на послезавтра погоду спрогнозировать, а Яндекс вдруг сможет? Ну-ну.


    1. powerman
      26.11.2015 14:42
      +9

      Яндекс не сможет на 35% лучше. :)


    1. eugenius_nsk
      26.11.2015 19:53

      Ладно на завтра — сейчас точность краткосрочных прогнозов вполне удовлетворительна. А вот с долгосрочными — проблема.


  1. realcomp
    26.11.2015 14:55
    -4

    Способ узнать о том, что именно возле твоего дома будет -3 на 35% точнее найден. Вопрос только зачем?
    Точная погода важна аэропортам и судам, теоретически — дорожным службам (но им, скорее всего, пофигу — они по разнарядке сыпят, а не по погоде). И потому у аэропортов есть, насколько я знаю, собственные метеослужбы, а гражданам, которых много, это, опять же, на мой взгляд, это не настолько интересует.
    И вот эти 35% точности — они как определяются? Например, вероятность дождя — 40%, а Яндекс говорит «нет, не 40, а 55%» Так? Ну т.е. дождь все равно то ли пойдет, то ли не пойдет.
    В целом, это, наверное, интересно как прикладная и теоретическая задача, но мне напомнило изобретение велосипеда.


    1. anton
      26.11.2015 15:03
      +2

      Конкретно эти 35% — это количество ошибок более чем на 3 градуса в 24-часовом прогнозе у нас и у конкурента. Очевидно, на самом деле метрик больше, и вопрос о том, пойдёт ли в таком-то месте завтра дождь, и будет ли солнечно, — имеют вполне понятное практическое значение.


    1. Zenitchik
      26.11.2015 15:09
      +2

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


    1. orcy
      28.11.2015 11:13
      +2

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

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


      1. realcomp
        28.11.2015 20:20
        +2

        Вот именно это я и имел в виду.
        А заминусовали потому, что я поднял свой хвост на священную корову Рунета: о)


  1. rushter
    26.11.2015 15:25
    +2

    Спасибо за пост, очень актульно, как раз сейчас на kaggle проходит конкурс по машинному обучению, где нужно спрогнозировать осадки по замерам с датчиков.
    Я в нём участвую, возможно после прочтения у меня появятся новые идеи как улучшить мой результат :).


  1. ajvol
    26.11.2015 15:29

    Похоже, вы забыли обновить приложение в своём собственном Яндекс.Store


    1. mtp
      26.11.2015 17:31
      +2

      Кому он нужен вообще :-)


      1. ajvol
        27.11.2015 10:14

        Очевидно, тем несчастным, которые когда-то поверили Яндексу, купили телефоны/планшеты с его прошивкой, и так привязались к яндексовской инфраструктуре, что не решаются перепрошить телефон на ванильный андроид.


  1. DunkanVS
    26.11.2015 16:00
    +1

    Windows Phone опять прокатываете. Печаль!


  1. burzzo
    26.11.2015 16:12
    -13

    Мы тут с другом чуток перетёрли статью:

    Kostya: Не так давно в США предугадали прогноз погоды, что будет ураган на основе моделей описывающих потоки воздуха и т.д.
    Anton: слушай, ну никто не говорит про 90-100% предсказывание
    Kostya: Ну если тебя устроит «ломанная линия» для предсказания то сработает.

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

    Anton: а я считаю
    Anton: что если для некого процесса(в том числе непрерывного)
    Anton: определить конечный набор факторов
    Anton: на него влияющих
    Anton: и научиться их систематизировать и анализировать
    Anton: то можно предсказывать поведение исследуемого процесса с высокой точностью

    Anton: а уж как это называться будет. Экспертная система ли, машинное обучение ли, анализ статистики ли — мне всё равно
    Kostya: или численные методы
    Anton: если честно:) ага


    Kostya: Просто это по сути
    Kostya: такая игра
    Kostya: взяли мабльберт (мысленный)
    Anton: там закрашенные точки есть 10 штук. Мы закрасили кисточкой промежутки.
    Kostya: И говорим, что мы теперь поняли как
    Kostya: Великий художник рисует
    Kostya: Но это лишь как бы…
    Kostya: Предсказать что будет,
    Kostya: ураган
    Kostya: И эвакуировать целый штат (регион)
    Kostya: Как сделали в США
    Kostya: И не 10 человек, а несколько миллионов,
    Kostya: я уж не уверен, что для этого подходит машинное обучение…


  1. burzzo
    26.11.2015 16:46
    -5

    Я новичок на хабре. А почему минусуют комментарии? Если он не по делу?


    1. vlivyur
      26.11.2015 16:53
      +10

      Тут люди занятые и любят прочитать суть и по теме, а цитирование чата в принципе мало где нравится.


      1. burzzo
        26.11.2015 17:20
        -9

        Это мой чат, который я с другом вёл, обрезанный. Это самодостаточный «отрезок» в котором затрагивается фундаментальный вопрос про решение задачи численными методами. И представить в виде диалога решил я сам. Я не изобретатель этого метода! Так делают люди (например я видел, что в своих видео так делал Ричард Фейнман). По мне если это весело — то допустимо, я нахожу этот диалог весёлым. Если это нахожу только я, то комментарий мой плохой.


        1. reji
          26.11.2015 17:54
          +9

          Минус не ставил, но и не читал.
          Выражаю мнение:
          1. Многабукаф, большинство не по теме
          2. Нет ни резюме, ни зачем вообще этот текст представлен в комментарии. Пояснение вида «с другом чуток перетёрли статью» ни разу не пояснение
          3. Никому нет дела до вашей личной жизни с вашим личным другом

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

          P.S. «И представить в виде диалога решил я сам» — а у друга вы спросили? ;)


          1. burzzo
            26.11.2015 17:59
            -2

            Всё нормльно с чатом, у друга спросил.


        1. eugenius_nsk
          26.11.2015 20:04

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


          1. burzzo
            26.11.2015 20:52
            -1

            Спасибо. Тут не одна мысль, а мысли.

            1. «Не так давно в США предугадали прогноз погоды, что будет ураган на основе моделей описывающих потоки воздуха и т.д.» — речь о том, что прогнозирование работает. (http://blogs.nvidia.com/blog/2015/09/15/gpus-weather/) и никто не говорит про машинное обучение, а речь про науку…

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

            3… И всё заканчивается сравнением интерпляцией краской полотна с тем, что происходит в методах машинного обучения.

            4. А. не согласен с этим… и считает просто нужно подобрать правильное пространство…


          1. burzzo
            26.11.2015 21:01
            -2

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

            Я вообще не знал, что есть какие-то ограничения на комментарии.


            1. burzzo
              06.12.2015 16:29

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


    1. gre
      26.11.2015 17:54

      Кому интерестен ваш чат?
      Есть мнение — сфомирируй его из своего чата и выскажи.
      Нахрена мне твой чат с кем-то?
      Хочешь упомянуть коллегу по чату? символ @ тебе в помощь.


      1. burzzo
        26.11.2015 18:05

        Постараюсь ответить, на волнующие вопросы:
        a1: Тем кто пытается понять корни происходящего с ситуацией с интерполяцией.
        a2: Это не весело. Я так не сделал.
        a3: На хрена — на «кой хрен». Хрен я как понимаю это нецензурное слово, т.е. мат.
        Это способ донесения информации до вас.
        a4: Его псевдоним упоминается. Что делает символ @?

        На хабре можно материться? (Я просто новичок поэтому не знаю)


        1. eugenius_nsk
          26.11.2015 20:06

          На хабре можно материться?
          Нет. (Хабрахабр — для спокойных людей.)


        1. Zenitchik
          26.11.2015 20:37
          +2

          Хрен — это растение.


          1. dom1n1k
            27.11.2015 01:54
            +2

            Которое отбрасывает хренотень.


          1. burzzo
            27.11.2015 03:14
            -2

            Семантика теряется, если пользовать этот вариант перевода. В словаре Ожёгова увидел только растение. Но здесь указано, что это вульгарное «зачем» https://ru.wiktionary.org/wiki/%D0%BD%D0%B0_%D1%85%D1%80%D0%B5%D0%BD%D0%B0 Т.е. воспользовались вульгарным словом. Я новичок, я надеялся обсудить численные методы.


      1. burzzo
        26.11.2015 18:12
        -4

        Этот чат может понять как кандидат наук, так и мальчик с улицы. Тот кто использует слово «хрен» в повседневной лексике, так и человек считающий Навье Стокса на сетке — и в этом сила этого комментария-чатика.


        1. burzzo
          06.12.2015 16:07

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


  1. mblp
    26.11.2015 16:51
    +3

    как по мне, так лучшие прогнозы на rp5, сравним, посмотрим


  1. ploop
    26.11.2015 17:06

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


    1. anton
      26.11.2015 17:09

      Да.


  1. webhamster
    26.11.2015 17:21
    +4

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

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


    1. encyclopedist
      26.11.2015 17:44
      +1

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


  1. burzzo
    26.11.2015 17:45
    +1

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


  1. LSiazsaHrd
    26.11.2015 18:43
    +1

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


  1. gaploid
    26.11.2015 19:00

    Вот это класс!!! Кстати NOAA выкладывает snapshot`ы работы, кажется как раз WRF моделей уже расчитанных — называется проект NCEP/NCAR Reanalysis — сейчас версии 2 www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis2.html зачем вам вычислять это еще раз? Можно чуть- чуть упростить схему и воспользоваться частью готовых данных.


    1. encyclopedist
      26.11.2015 21:09

      Там только исторические данные (до июля 2015), потому и называется REanalysis. Для обучения моделей использовать можно, а для прогноза — нет.


      1. gaploid
        27.11.2015 01:11

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

        Кстати я в течении некоторого времени копаюсь с этими данными и мне для эксперемента нужны средние статистические значения по климату (скорость ветра, температура, давление и тд). Сейчас я смог собрать в разрешении 0,75 градуса, а хотелось бы в бОльшем разрешении. Может быть у вас там промежуточно делаются агрегации средних значение за несколько лет, которыми вы можете поделиться? Это бы очень сильно помогломоему проекту.


        1. encyclopedist
          27.11.2015 01:13

          На всякий случай: я к Яндексу не имею никакого отношения.


    1. 27.11.2015 09:56
      +1

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


  1. ivanych
    26.11.2015 19:30

    А расскажите отдельной статьей, откуда берутся исходные данные. Кто их измеряет? Где? Как? Есть ли свободный доступ к этим данным? И всё такое прочее.


    1. 27.11.2015 09:57
      +1

      Расскажем обязательно, когда дойдут руки.


  1. madkite
    26.11.2015 19:52

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

    В результате таких сопоставлений получается формула корректировки прогноза, которая… составляет оптимальную комбинацию прогнозов из данных моделей, предоставленных нашими поставщиками.
    А есть ли большой смысл в таких корректировках? Эти т.н. «модели» ж тоже допиливают независимо от вас. И возможно теми же методами — смотрят на ошибки по историческим данным и вносят корректировки. Т.о. вы можете «скорректировать» по второму разу и тем самым внести ошибку. Может лучше кооперироваться с разработчиками этих «моделей»?


    1. eugenius_nsk
      26.11.2015 20:14
      +1

      Если ошибка систематическая (а это видно по сравнению предсказаний с фактическими измерениями) — то почему бы не скорректировать?


      1. madkite
        26.11.2015 21:41

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


    1. egor
      26.11.2015 22:06

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


    1. 27.11.2015 10:01
      +1

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


    1. dom1n1k
      27.11.2015 18:30

      Смысл в корректировках есть, если они осторожны и осмысленны. Потому что глобальные модели действительно грубоваты, дают общую картину и не учитывают специфику конкретного места. То есть местные поправки как бы могут быть на пользу.
      Но тут огромный вопрос — как корректировать и на основании чего? Это сложно. Большая опасность незаметно уйти от местной специфики к чистой отсебятине.
      Например, вот прогнозы rp5 — это британская глобальная модель UKMO/UKMET + их собственные поправки. Как они их делают — я не знаю. Но приходилось общаться с одним человеком из белорусского гидромета (который тоже работает с UKMO) — так вот он отзывался об этих поправках скептически и называл их «доморощенными».


  1. dom1n1k
    26.11.2015 21:03

    Модели, кластеры, машинное обучение — это всё очень хорошо, конечно.
    Но я не понимаю, о каком прогнозе «с точностью до дома» может идти речь при отсутствии столь же частых данных о фактической погоде? Метеостанции в России даже в населенных районах расположены на расстояниях порядка нескольких десятков километров друг от друга. Как правило, за городом. Можно строить какие угодно сетки и считать какие угодно дифуры, но если нет густой сетки фактических данных… не понимаю. Всё это будет похоже просто на экстраполяции с элементами отсебятины.
    В России проблема качества прогноза упирается в первую учередь именно в сеть метеостанций, а не в алгоритмы и машинное обучение.
    Данные с телефонов — это несерьезно.


    1. gaploid
      27.11.2015 01:12

      Примерно вот так earth.nullschool.net :)


      1. dom1n1k
        27.11.2015 01:47

        Там картина полюс-минус 100 километров.


        1. gaploid
          27.11.2015 12:20

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


          1. dom1n1k
            27.11.2015 18:24
            +1

            С точностью до дома (и даже до квартала) — нельзя заполнить.

            Лично я вижу тут только 2 варианта:
            1. Использование большого количества частных микростанций — но с ними куча проблем. Такие проекты есть, однако достоверность и полнота тамошних данных под огромным вопросом.
            2. Заявление про «точность до дома» — не более, чем безответственный ляп яндексовских рекламщиков. А технари теперь вынуждены изворачиваться общими фразами, чтобы и свое лицо сохранить, и компанию не подставить.


            1. egor
              30.11.2015 11:16

              а может можете перечислить известные вам проекты с микростанциями?


              1. dom1n1k
                30.11.2015 13:32

                Навскидку в голову приходит только narodmon.ru… Но он точно не единственный, еще что-то было.


                1. dom1n1k
                  30.11.2015 13:37

                  Еще вспомнил realmeteo.ru
                  В отличие от первого, где большая часть «станций» это по сути примитивные датчики за несколько баксов, это относительно серьезный проект, где используют только приличные станции (естественно, ценой меньшего покрытия).

                  Но опять-таки, это тоже не всё — ещё что-то было.


                  1. encyclopedist
                    30.11.2015 19:09

                    1. dom1n1k
                      30.11.2015 19:22

                      Вот это, кстати, показательный проект. Они начинали с частных станций и были похожи на narodmon.ru поначалу.
                      Но уже давно сбежали в сторону более традиционных источников, а частные станции в их системе остались как третьестепенный атавизм.



    1. Moskus
      27.11.2015 02:47

      Полностью поддерживаю вопрос.
      Что же за данные используются для задания начальных условий для моделирования прямо сейчас?
      В статье так много сказано про умные алгоритмы обработки, и даже про важность исходных данных, но вот о том, какие данные все же используются — старательно обходится стороной. А это — самое важное.


      1. dom1n1k
        27.11.2015 02:51
        +1

        И не только начальные, но и контрольные данные для верификации (как-то же посчитали 35% преимущества?)


    1. 27.11.2015 10:22

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

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


      1. dom1n1k
        27.11.2015 11:12

        Так и как же связаны спутники и прогноз до дома? Спутники дают лишь общую картину.


        1. 28.11.2015 12:22
          +1

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

          Теперь про пресловутое «с точностью до дома». Координаты пользователя — это факторы в алгоритме машинного обучения. Именно для них мы и делаем прогноз. А то, что прогноз для двух соседних домов не отличается, так это скорее хорошо, чем плохо, потому что с большой вероятностью погода там будет одинаковая.


          1. dom1n1k
            28.11.2015 17:07

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


            1. 29.11.2015 15:04

              Это — не то, что я написал выше. Однако, это, видимо, предмет более детального обсуждения.


      1. Moskus
        27.11.2015 21:17

        Вот меня и интересует, что именно использует Яндекс. Чьи наблюдения, какие спутники.
        Потому что в статье эта тема обходится сверхтщательно.


  1. garvarg
    28.11.2015 01:49

    Мне было бы полезно иметь более подробные данные об облачности (низкая/средняя/высокая), как пишут на rp5 или Windguru, но это наверное не слишком частый запрос. Их вряд ли получится получать?


    1. 28.11.2015 12:26

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


      1. garvarg
        28.11.2015 16:35

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

        Но вот приложение на Андроид мне почему-то даже регион неверно определяет, при включенном GPS. Опции отправки фидбека там не обнаружил.


        1. 29.11.2015 14:59

          Спасибо за информацию.

          Но вот приложение на Андроид мне почему-то даже регион неверно определяет, при включенном GPS. Опции отправки фидбека там не обнаружил.


          Мы знаем, что при определении региона бывают проблемы, боремся с этим. На форму фидбека можно попасть двумя способами — через меню, кнопка над настройками и через окно по свайпу вправо, там где данные о текущей температуре, скорости ветра и давлении. И там и там кнопка называется «Сообщить о погоде».


    1. dom1n1k
      28.11.2015 17:08

      На yr.no есть (в подробном режиме).


      1. garvarg
        28.11.2015 19:40

        Глубоко спрятано, спасибо за наводку — сам бы не нашёл.


  1. elite7
    29.11.2015 16:34
    +2

    > Например, температурный прогноз на 24 часа у нас ошибается на 35% меньше ближайшего конкурента.

    Как всегда, самое интересное и важное уместилось всего в одном предложении в конце :-).

    Можно было бы Яндексу расписать достижения более подробнее:
    1) а кто ближайшие конкуренты, если не секрет?

    2) а если взять baseline — через 24 часа будет такая же температура как сейчас, насколько процентов будет хуже?

    3) а какие еще бывают метрики качества прогноза погоды? Кажется, что более важно предсказывать выбросы в 5-10 градусов, а медленные изменения на 2-4 градуса никому не интересны.

    4) а где можно скачать архив прогнозов (ваших и конкурентов), чтобы самим поиграться, и не с помощью matrix net, а с помощью каких-нибудь open source deep learning инструментов.


  1. IRainman
    29.11.2015 22:21

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


    1. encyclopedist
      30.11.2015 04:41

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


  1. SSar
    01.12.2015 12:17

    Походу Яндекс решил проблему обновления прогнозов раз в 3 часа стандартную для Росгидромета.
    Теперь понятно зачем им потребовался наш опыт еще год назад…
    Если следующим этапом будут внедрены метеостанции Яндекса (акромя Росгидромета), то и впрямь все идет по плану.


    1. beliashou
      01.12.2015 14:15
      +1

      У вас же прогноза нет, только мониторинг? Классный проект, жалко плюс в карму поставить не могу :-)
      А метеостанции готовые какие есть? Я бы поставил себе.


      1. SSar
        01.12.2015 14:28

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

        Если кому-то хочется заняться прогнозированием или строить «тепловые карты» — пож-та, для этих целей есть API. Каталог решений имеется благодаря как энтузиастам, так и профессиональным фирмам-разработчикам электроники, но подобные вопросы лучше в личку/email дабы не сошло за рекламу.


  1. madkite
    05.12.2015 16:27

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