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

Съдържание:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Компоненти на времеви серии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Последователност
Последователност

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

Наивен метод
Наивен метод

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

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

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

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

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

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

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

Прост Среденметод
Прост Среденметод

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

Модел с движеща се средна

Модел с подвижна средна
Модел с подвижна средна

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модел ARIMA

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

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

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

Алгоритми за времеви редове в SQL Server
Алгоритми за времеви редове в 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 заявки от страна на сървъра, така че можете да разберете какво се случва вътре.

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

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

Препоръчано: