Сравняване на техники за намиране и интерпретиране на циклични тенденции в последователни данни с HMM.

TL;DR

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

Разбиране на сезоните

Сезоните зима, пролет, лято и есен са механизъм, който използваме както за класифициране на метеорологичните условия, така и за описание на времето от годината. Хората отдавна са наясно с ритъма на сезоните и имат разумно последователен начин да ги интерпретират от гледна точка на местните метеорологични модели; знаем, че има четири от тях, знаем, че се случват всяка година по предвидим, последователен начин и знаем някои общи характеристики на времето за всеки от сезоните.

В североизточните Съединени щати лятото обикновено е топло, докато зимата обикновено е студена; дърветата са склонни да пъпчат през пролетта и да покафеняват през есента.

Това, което не е очевидно, е дали дефиницията на сезоните е нещо присъщо на самото време или нещо, което изисква някакво предполагаемо знание за цикличния характер на сезоните.

Ако не знаехме, че сезоните са циклични, щяхме ли все пак да открием сезоните по времето?

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

Намиране на сезоните в данните

Използвайки данни за времето от DarkSky, събрани на всеки 12 часа от 1 януари 2019 г. до 31 декември 2019 г. за Кеймбридж, Масачузетс, както и данни от масив от девет 300-ватови слънчеви панела, разположени в Кеймбридж, ще разгледаме различни видове модели, които имат потенциала да учат и идентифицират сезоните. Ще разгледаме и модели, които могат да решат малко по-сложния проблем с правилното идентифициране на сезона в сезонно нехарактерни дни.

От графиките по-горе можем да видим, че необработените данни за времето показват ясна сезонност. Ако трябваше да групираме датите заедно по някаква мярка за сходство, би било разумно да очакваме, например, топлите, слънчеви дни с висок UV индекс през юни, юли и август да принадлежат към един и същи клъстер.

Техники за пространствено клъстериране

Един прост метод за клъстериране е „K-средно клъстериране“, който разделя данните на групи чрез присвояване на всяко наблюдение на клъстер с най-близката средна стойност. Ние наричаме такъв алгоритъм като техника за пространствено клъстериране, тъй като наблюдаваните стойности се считат за точки в някакво многомерно пространство — 6 измерения, в този случай — и клъстерите са свързани с тяхната позиция в това пространство. В диаграмата по-долу извършваме клъстериране на K-означава върху данните и определяме четири групи, за да отразим четирите сезона, които се надяваме да открием.

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

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

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

Скрито моделиране на Марков

Веригата на Марков е поредица от събития (наричани също състояния), в които вероятността за следващото събитие зависи само от текущото състояние. Ако смело категоризираме всички възможни метеорологични сценарии в четири различни типа, можем да разглеждаме сериите от метеорологични типове за всеки 12-часов период за една година като верига на Марков.

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

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

В нашия пример се преструваме, че не знаем сезоните за всеки ден, а по-скоро се надяваме да ги изведем единствено от наблюдаваните измервания на данни. Следователно в този пример веригата на Марков е последователност от скрити състояния. Най-общо, система, при която поредица от скрити състояния, удовлетворяващи правилото на Марков, имат съответна поредица от наблюдения, се нарича „скрит модел на Марков“ (HMM). В най-общото си изобразяване HMM може да се визуализира, както е показано на диаграмата по-долу, където във всеки момент t сме наблюдавали данни,X(t) и скрито състояние , Z(t).

HMM има три важни параметъра, свързани с него:

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

Използвайки известния алгоритъм за максимизиране на очакванията на Baum-Welch (EM), можем да използваме наблюдаваните сурови метеорологични данни, за да обучим HMM да научи оптимално първоначално състояние, емисии и параметри на прехода. EM алгоритъмът е итеративен процес на оптимизиране на параметрите на модела чрез постепенно оптимизиране на вероятността от наблюдаваните данни. По донякъде технически причини, алгоритъмът е гарантирано да приключи, но ще прекрати само при локално оптимални параметри на модела.

На практика това означава, че резултатът от EM зависи от избора на инициализиращи параметри на модела. Важно е да „засявате внимателно алгоритъма“ както за съображения за резултат, така и за време на изпълнение. Скоро ще видим как този избор на първоначални параметри на модела може да повлияе на производителността на HMM.

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

Както виждаме по-долу, дори след обучение за локално оптимален набор от параметри, този модел се представя доста слабо при задачата за откриване на сезони.

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

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

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

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

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

Заключение

Клъстерирането е много ефективно за подобряване на интерпретируемостта на данните, но силата на скритото моделиране на Марков е в способността му да контекстуализира последователни необработени данни. Следователно, този тип моделиране може да се използва с голям ефект в процесите на вземане на решения и тази рамка има широка приложимост в индустриални условия, включително:

  • Откриване и анализ на режима на работа.
  • Прогнозиране от време до събитие за индустриални активи и машини.
  • Вменяване на липсващи данни за попълване на иначе влошени или непълни данни.
  • Генеративно моделиране за обучение на стабилни модели дори когато е налично само много ограничено количество данни за първоначално обучение.

Очаквайте още публикации по тези теми и повече за Когато машините се учат.

¹ Може да забележите, че доминиращите скрити състояния за графиката на цикличния HMM изглеждат циклично 0, 1, 3, 2, 0. Всъщност, ако се вгледате внимателно, виждате малки цветни ленти между доминиращите цикли, така че цикличният характер на HMM все още се запазва, но по неочакван начин.