Анализ и прогнозиране на времеви редове

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

Метод на времевите редове

Метод на времевите редове

Методът на времевите редове (TS) е набор от данни, които събират информация за определен период от време. Съществуват специфични методи за подчертаване на от този тип:

  • линейни и нелинейни;
  • параметрични и непараметрични;
  • едномерни и многомерни.

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

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

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

Цел на прогнозния модел

Целта на прогнозния модел

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

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

Целта на модела за прогнозиране на времеви редове е да даде точна прогноза за. Времевият ред има време (t) като независима променлива и целева зависима променлива. В повечето случаи прогнозата е конкретен резултат, напр. стойността на къщата за продажби, спортния резултат от състезание, резултатите от търговията на фондовата борса. Прогнозата представлява медиана и средна стойност и включва доверителен интервал, изразяващ ниво на доверие в диапазона 80-95%. Когато са заснети на равни интервали, процесите се наричат времеви редове и се изразяват по два начина:

  • едноизмерни с времеви индекс, който създава подразбиращ се ред;
  • набор с две измерения: време с независима променлива и друга зависима променлива.

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

Това не означава, че функциите са напълно забранени. Те просто трябва да се използват с повишено внимание поради следните причини:

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

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

Компоненти на динамичните редове

Компоненти на динамичните редове

Тенденция съществува, когато дадена серия се увеличава, намалява или остава постоянна с течение на времето, така че тя се приема като функция на. Сезонността се отнася до свойство на динамичните редове, което показва периодични модели, които се повтарят с постоянна честота (m), например m = 12 означава, че моделът се повтаря на всеки дванадесет месеца.

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

Циклите са сезони, които не се случват с фиксирана честота. Например, годишните репродуктивни характеристики на канадския рис отразяват сезонни и циклични модели. Те не се повтарят на равни интервали и могат да се появят дори ако честотата е 1 (m = 1).

Закъснели стойности - закъснелите стойности на дадена променлива могат да бъдат включени като предиктори. Някои модели, като ARIMA, векторна авторегресия (VAR) или авторегресивни невронни мрежи (NNAR), работят по този начин.

Компонентите на променливата на интереса са много важни при анализа на времеви редове и прогнозирането, за да се разбере тяхното поведение, модели и да се избере подходящ модел.

Атрибути на набора от данни

Атрибути на набора от данни

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

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

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

Машинно обучение

Машинното обучение (ML) може да надмине традиционните методи за прогнозиране на времеви редове. Има цял куп проучвания, които сравняват техниките за машинно обучение с по-класическите статистически техники за данни за ТС. Невронните мрежи са една от технологиите, които са широко изследвани и прилагат подходи на TS. Методите за машинно обучение са водещи при събирането на данни за времеви редове. Тези подходи доказано превъзхождат чисто TS подходите в конкуренция с M3 или Kaggle.

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

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

Разбиране на формулировката на проблема

За пример, разгледайте ТС, свързан с прогнозирането на броя на пътниците в новата високоскоростна железопътна услуга. Например, налични са данни за 2 години (август 2016 г. - септември 2018 г.) и като използваме тези данни, трябва да прогнозираме броя на пътниците за следващите 7 месеца, като разполагаме с данни за 2 години (2016-2018 г.) на почасово ниво с броя на пътуващите пътници и трябва да оценим броя на пътниците в бъдеще.

Подмножество на набора от данни за прогнозиране на времеви редове:

  1. Създаване на тренировъчен и тестови файл за моделиране.
  2. Първите 14 месеца (август 2016 г.). - октомври 2017 г.) се използват като данни за обучение, а следващите два месеца (ноември 2017 г. - декември 2017 г.) - тестови данни.
  3. Ежедневно обобщаване на набор от данни.
Обобщаване на набора от данни

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

Визуализация на данни

Метод на конструиране по наивен подход

Библиотеката, използвана за прогнозиране на TS в този случай - statsmodels. Преди да се приложи някой от тези подходи, трябва да се установи. Statsmodels може вече да е инсталиран в средата на Python, но той не поддържа прогнозни методи, така че ще трябва да го клонирате от хранилището и да го инсталирате, като използвате изходния код.

Последователност на операциите

За този пример приемаме, че цената на монетата е стабилна от самото начало и с течение на времето. Този метод предполага, че следващата очаквана точка е равна на последната наблюдавана точка и се нарича наивен подход.

Наивен метод

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

Прост среден стил

За да се демонстрира методът, се начертава графика, като се приема, че оста Y представлява цената, а оста X - времето (дни).

Обикновен среден стил

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

Такъв метод за прогнозиране с очаквана средна стойност на предишни наблюдавани точки се нарича прост среден метод.

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

Метод на простата средна стойност

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

Модел на пълзяща средна стойност

Модел на пълзящата средна

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

Тази техника за прогнозиране се нарича техника на плъзгаща се средна стойност, понякога наричана "подвижен прозорец" с размер "n". Като използвате прост модел, прогнозирайте следващата стойност в TS, за да проверите точността на метода. За този набор от данни "Naive" ясно превъзхожда "Average" и "Moving Average".

Съществува вариант на прогнозиране, при който се използва методът на простото експоненциално изглаждане. При метода на плъзгащата се средна стойност, равнопретеглените минали наблюдения "n". В този случай можем да срещнем ситуации, в които всеки от миналите "n" влияе на прогнозата по различен начин. Този вариант, при който миналите наблюдения се претеглят по различен начин, се нарича метод на претеглената плъзгаща се средна стойност.

Екстраполация на модела

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

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

Не си мислете, че за прогнозиране на ТС се използват само прости статистически методи. Това изобщо не е вярно. Има много сложни подходи, които могат да бъдат много полезни в специални случаи. Обобщена авторегресия с условна хетероскедастичност (GARCH), Байесов метод и VAR са само някои от тях.

Съществуват и модели на невронни мрежи, които могат да се прилагат към времеви редове, които използват прогнозни стойности със закъснение и могат да работят с функции като авторегресия на невронната мрежа (NNAR). Съществуват дори модели на времеви редове, заимствани от сложното обучение, особено от семейството на рекурентните невронни мрежи, като например LSTM и GRU мрежи.

Показатели за оценка и остатъчна диагностика

Най-често срещаните показатели за оценка при прогнозиране са стойностите на RMS, които много хора използват при решаване на регресионни задачи:

  • MAPE, тъй като не зависи от мащаба и представлява съотношението на грешката към действителните стойности в проценти;
  • MASE, която показва колко добре се представя предсказването в сравнение с наивното средно предсказване.

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

"Бял шум" трябва да има следните свойства:

  1. Остатъчните стойности са некорелирани (Acf = 0)
  2. Остатъците следват нормално разпределение с нулева средна стойност (безпристрастно) и постоянна дисперсия.
  3. Ако някое от двете свойства липсва, това означава, че моделът има място за подобрения.
  4. Свойството за нулева средна стойност може лесно да се провери с Т-критерий.
  5. Свойствата на нормалност и постоянна дисперсия се контролират визуално чрез хистограма на остатъците или подходящ едномерния тест за нормалност.

Модел ARIMA

Моделът ARIMA - AutoRegressive Integrated Moving-Average, е един от най-популярните методи, използвани в прогнозирането на ТС, главно поради автокорелацията на данните, за да се създадат висококачествени модели.

При оценяването на коефициентите на ARIMA основното допускане е, че данните са стационарни. Това означава, че тенденцията и сезонността не могат да повлияят на дисперсията. Качеството на модела може да бъде оценено чрез сравняване на графиката на действителните стойности с прогнозираните стойности във времето. Ако двете криви са близки, можем да приемем, че моделът отговаря на анализирания случай. Тя трябва да разкрие всички тенденции и сезонност, ако има такива.

След това анализът на остатъчните стойности трябва да покаже дали моделът е подходящ: случайните остатъчни стойности означават, че той е точен. При напасване на ARIMA с параметри (0,1,1) ще се получат същите резултати като при експоненциално изглаждане, а при използване на параметри (0,2,2) ще се получат резултати с двойно експоненциално изглаждане.

Алгоритми за времеви серии в SQL Server

Можете да получите достъп до настройките на ARIMA в Excel:

  1. Стартирайте Excel.
  2. В лентата с инструменти намерете XL MINER.
  3. В лентата изберете ARIMA от падащото меню.

Обобщение на характеристиките на модела ARIMA:

  1. ARIMA е авторегресивна интегрирана плъзгаща се средна.
  2. Модел за прогнозиране, използван при анализа на времеви редове.
  3. Синтаксис на параметрите на ARIMA : ARIMA (p, d, q), където p = брой авторегресивни членове, d = брой сезонни разлики и q = брой членове на пълзяща средна стойност.

Алгоритми в SQL Server

Кръстосаното прогнозиране е една от важните характеристики на времевите редове при финансовото прогнозиране. Ако се използват две свързани серии, полученият модел може да се използва за прогнозиране на резултата от едната серия въз основа на поведението на другата.

SQL Server 2008 разполага с нови мощни функции за времеви редове, които можете да научите и използвате. Инструментът разполага с леснодостъпни данни за TS, лесен за използване интерфейс за моделиране и възпроизвеждане на функциите на алгоритъма и обяснителен прозорец с връзка към DMX заявки от страна на сървъра, за да можете да да разберете какво се случва вътрешно.

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

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

Статии по темата