Yandex използва невронна мрежа и се научи да прогнозира валежите с точност до минути

Днес бих искал отново да говоря с вас за времето. Отново - защото преди почти година вече говорихме за това: говорих за нашата технология за прогнозиране на Meteum, базирана на моделиране на времето и машинно обучение. Сега искам да говоря не за времето, което ще се случи утре, следващата седмица или в навечерието на Нова година - а за това, което вече се е установило извън прозореца, и за това, което ще дойде през следващите няколко часа.

yandex

Под съкращенията ще говоря за това какво е прогнозиране на момента и как работихме върху него. Текущото време влияе върху огромен брой от ежедневните ни решения. Ако зад прозореца има обилен сняг, мислим как да отидем на работа - с кола или с обществен транспорт. Гледайки през прозореца, решаваме дали да вземем чадър с нас и дали имаме нужда от водоустойчиво яке. Дори да стоим на изхода на метрото под проливен дъжд, се чудим кога ще свърши. Ако след пет минути, тогава можете да изчакате и да дойдете на срещата в сух костюм, а ако след половин час, ще трябва или да се намокрите, или да закъснеете. За всички тези малки, но важни решения се нуждаем от възможно най-точна информация за това какво е времето сега и как ще се промени в краткосрочен план. Вероятно сте попадали на ситуация, при която слънцето грее в една част на града, а проливен дъжд с гръмотевична буря се излива в друга.

Как се правеше преди

Тъй като текущото време е важно за нашите потребители, именно този параметър на услугата е този, за който хората най-често пишат в рецензии, включително отрицателни. Изглежда, че просто трябва да погледнете през прозореца и да покажете правилното време на услугата. Но да се опише ситуацията извън прозореца където и да е в страната или света не е лесна задача.

Първо, метеорологичните станции са разположени далеч една от друга и измерват параметрите на строго определени интервали от време.Казан например е огромен град и там има само две метеорологични станции: в центъра и на летището. Температурата и други показатели в тези точки и в съседните райони могат да варират драстично.

Второ, поради грешки в първоначалните условия, прогнозните модели също не могат да служат като надежден източник на информация за действителната ситуация на улицата.

невронна

А изискванията за моментна прогноза са много по-високи: винаги можете да погледнете през вратата и да проверите дали метеоролозите са прави.

Нека ви напомня още веднъж, че Yandex.Weather използва технологията Meteum, която се основава на метеорологични модели и машинно обучение. Изградена на базата на Matrixnet и обучена върху големи масиви от данни, нашата формула комбинира оптимално входните фактори. В резултат на това прогнозата е много по-точна.

Но дори комбинираният подход на модели и данни, слепени с помощта на Matrixnet, не осигурява желаната точност. Това важи особено за валежите, един от най-важните параметри за потребителя. Основната причина за това несъвършенство е липсата на данни. Метеорологичните станции, както вече споменахме, са разположени далеч една от друга. Използвайки данните, взети от станциите, не можете да кажете на потребителя, че трябва да изчака 10 минути в подлеза и проливният дъжд на улицата ще бъде заменен от частично облачно. Къде мога да получа повече данни за състоянието на атмосферата?

Имате нужда от повече данни

Най-новото постижение на науката и технологиите в областта на мониторинга на валежите е метеорологичният радар. Приблизително веднъж на всеки 10 минути той изгражда триизмерен образ на атмосферата в радиус от 200 километра от местоположението си по хоризонтала и до 10 километра по вертикала. Според принципа на действие радарът е много подобен на авиациятарадар, само че изображението показва не самолети, а области от атмосферата, където има водни капки по-големи от 50 микрометра. Ако такива капки наистина съществуват, тогава най-вероятно валежите падат от облака, в който се намират. Ето как изглежда самият радар и резултатите от работата му:

невронна

използва

България вече разполага с мрежа от метеорологични радари с достатъчно високо качество. Те са инсталирани в най-населените и метеорологично интересни региони. Зоната на покритие на радара е показана на картата:

използва

Между другото, над 40 на сто от населението на България живее в незасенчената зона. Радарните данни имат пространствена разделителна способност 2 на 2 километра на пиксел, което позволява да се опише текущото време с точност до малък микрорайон.

Тази година Яндекс получи официален достъп до измерванията, извършени в радарната мрежа на Росхидромет. Оттогава работим интензивно, за да добавим тези данни към нашите продукти.

Днес сме готови да въведем технологията за прогнозиране на времето - краткосрочна хиперлокална прогноза за валежи. Nowcasting е дума, която дойде при нас от английския език, съставена от две думи: сега и прогнозиране, тоест буквално „прогноза за сега“. Но всъщност чрез продуктите на Yandex вече можете да разберете за разпределението на валежите във времевия интервал от преди два часа до два часа напред.

Нашият нов продукт е базиран на конволюционни невронни мрежи. От гледна точка на математиката проблемът се формулира по следния начин: необходимо е да се предвидят бъдещи карти на валежите с времева разделителна способност от 10 минути за 2 часа напред, като се използва последователност от радарни изображения и съответната метеорологична информация.

За да разрешим този проблем, избрахме конволюционна мрежа с определена архитектура. ВсекиКонволюционният слой на мрежата е последователен набор от филтри, които автоматично извличат характеристики от входния набор от данни. Комбинацията от такива слоеве дава възможност да се идентифицират голям брой характеристики, по които може да се прецени какво ще се случи с валежите в избраната област. Дали ще започнат или, обратно, ще свършат? Или просто ще увеличат интензивността си? Всичко това може да се определи.

За да настроим филтрите на конволюционната мрежа и теглата между тях, ние формираме обучителна извадка с достатъчно голям размер - сега тя се състои от повече от 800 000 предварително обработени кадъра от всеки радар. Невронната мрежа се обучава на клъстер от графични процесори.

Ето как изглежда тази мрежа:

използва

Мрежова архитектура

Най-общо движението на валежите може да се раздели на два компонента: преместване на района с валеж по посока на вятъра и промяна във формата на района. За всеки от компонентите са отговорни отделни клонове на невронната мрежа, което ви позволява гъвкаво да избирате параметри за оптимизация.

Радарните и текущите данни, които се изпращат към метеорологичния бекенд, първо се интерполират от азимутна проекция, центрирана върху радара, към обикновена проекция на ширина/дължина. След това върху получената решетка се изграждат контури, които описват зони на валежи в зависимост от интензивността и вида. Контурите се съхраняват като полигони в PostgreSQL. Част от данните, например с описание на облачността, се съхраняват в растерна форма в същия PostgreSQL: това ви позволява бързо да отговорите за стойностите на определени променливи в конкретна координата, като същевременно поддържате последователност с векторизирано представяне под формата на многоъгълници.

Ние оценяваме точността на продукта и настройваме прогнозата за времето от нашата невронна мрежа въз основа на няколко вида показатели.

Първо, това е важно за насколко правилно сме предвидили всеки следващ кадър от прогнозата ни. Използваме показателя f-score кадър по кадър, който може да се дефинира като „точност на прогнозиране на текущото изображение“.

Второ, интересуваме се от показатели за тези точки в пространството, където състоянието на времето ще се промени в близко бъдеще. С тяхна помощ откриваме най-важното: колко точно се определя времето на началото или края на дъжда и съответно колко добре работи сценарият, когато потребителят чака края на дъжда. Намираме правилните точки и коригираме съответствията и несъответствията между прогнозата и реалността във всеки един момент.

Ето как изглежда f-мярката за първия показател в зависимост от хоризонта:

yandex

Трябва да кажа, че ако изчислим същите строги показатели за редовната прогноза на всеки доставчик, стойностите ще бъдат не повече от 0,1 и по-често много близки до нула. Това се дължи както на разликите в самата методология на прогнозиране, така и на липсата на голям и важен източник на данни.

Избрахме типовете показатели въз основа на това как новите данни ще бъдат представени в продукта. Главната страница на Yandex.Weather вече има съобщение за валежи през следващите два часа. От този блок можете да разберете, че валежите ще свършат всяка минута или ще започнат в рамките на половин час. Щраквайки върху съобщението, ще видите как са разпределени валежните площи във вашия район. На същата карта са отбелязани всички останали зони в зоните на радарно покритие.

използва

Вместо послеслов

Нека кажа още няколко думи за това, което казах в самото начало. Технологията, която представихме днес, е специално проектирана да направи живота на нашите потребители малко по-комфортен. Хиперлокалната краткосрочна прогноза за валежи ще помогне на хората да взематрешения, базирани на информация от принципно нов източник - мрежа от метеорологични радари. Данните за обилен сняг, подробно описани до районите на вашия град, ще ви помогнат да разберете количеството сняг по пътищата, а предупреждението за обилен дъжд ще ви помогне да избегнете настинка през пролетта.

Сега може да изглежда невероятно, но лятото ще дойде скоро и всички ще караме велосипеди, ролкови кънки, ще се разхождаме в парковете и ще релаксираме сред природата. И от днес можете да правите планове за близкото бъдеще, като гледате не към ниския или висок полет на лястовиците, а към страницата и приложенията Yandex.Weather. Един герой, който всички познавате, вече прави точно това.

yandex

Можете да помогнете и да прехвърлите средства за развитието на сайта