Analyse og prognose af tidsserier

Indholdsfortegnelse:

Analyse og prognose af tidsserier
Analyse og prognose af tidsserier
Anonim

I mange år har folk forudsagt vejrforhold, økonomiske og politiske begivenheder og sportsresultater. For nylig er denne omfattende liste blevet fyldt op med kryptovalutaer. For at forudsige alsidige begivenheder er der mange måder at udvikle prognoser på. For eksempel er intuition, ekspertudtalelser, brug af tidligere resultater til at sammenligne med traditionelle statistikker og tidsserieprognoser blot én af dem, mens den mest moderne og nøjagtige type prognoser med en bred vifte af applikationer.

Tidsseriemetode

Tidsrækkemetode
Tidsrækkemetode

En tidsseriemetode (TS) er et datasæt, der indsamler information over en periode. Der er specielle metoder til at udtrække denne type:

  • lineær og ikke-lineær;
  • parametrisk og ikke-parametrisk;
  • endimensional og multidimensional.

Prognosetidserien bringer et unikt sæt af muligheder med sig til at imødekomme nutidens udfordringer. Modellering er afhængig af at lære at etablere drivkraften bag dataændringer. Processen kommer fra langsigtede tendenser, sæsonmæssige effekter eller uregelmæssige udsving, der er karakteristiske for TS og ikke ses i andre typer analyser.

Machine learning er en gren af datalogi, hvor algoritmer kompileres ud fra data og omfatter kunstige neurale netværk, deep learning, associationsregler, beslutningstræer, forstærkende læring og Bayesianske netværk. En række forskellige algoritmer giver muligheder for at løse problemer, og hver har sine egne krav og afvejninger med hensyn til datainput, hastighed og nøjagtighed af resultater. Disse vil sammen med nøjagtigheden af de endelige forudsigelser blive vægtet, når brugeren beslutter sig for, hvilken algoritme der vil fungere bedst i den situation, der undersøges.

Tidsserieprognoser låner fra statistikområdet, men giver nye tilgange til problemmodellering. Hovedproblemet for maskinlæring og tidsserier er det samme - at forudsige nye resultater baseret på tidligere kendte data.

Målet for den forudsigende model

Formål med den prædiktive model
Formål med den prædiktive model

TS er et sæt datapunkter, der indsamles med regelmæssige intervaller. De analyseres for at bestemme en langsigtet tendens, for at forudsige fremtiden eller for at udføre en anden type analyse. Der er 2 ting, der adskiller TS fra et norm alt regressionsproblem:

  1. De afhænger af tid. Såden grundlæggende antagelse af en lineær regressionsmodel om, at observationerne er uafhængige, holder ikke i dette tilfælde.
  2. Sammen med en stigende eller faldende tendens har de fleste TS'er en eller anden form for sæsonbestemt, dvs. ændringer, der er specifikke for en bestemt tidsperiode.

Målet med en tidsserieprognosemodel er at give en nøjagtig prognose efter behov. Tidsserien har tid (t) som den uafhængige variabel og den målafhængige variabel. I de fleste tilfælde er prognosen et specifikt resultat, for eksempel salgsprisen på et hus, sportsresultatet af konkurrencen, resultaterne af handel på børsen. Forudsigelsen repræsenterer medianen og middelværdien og inkluderer et konfidensinterval, der udtrykker et konfidensniveau i området 80-95 %. Når de optages med jævne mellemrum, kaldes processerne tidsserier og udtrykkes på to måder:

  • endimensional med et tidsindeks, der skaber en implicit rækkefølge;
  • et sæt med to dimensioner: tid med en uafhængig variabel og en anden afhængig variabel.

Oprettelse af funktioner er en af de vigtigste og mest tidskrævende opgaver inden for anvendt maskinlæring. Men tidsserieprognoser skaber ikke funktioner, i hvert fald ikke i traditionel forstand. Dette gælder især, når du vil forudsige resultatet flere trin frem, og ikke kun den næste værdi.

Dette betyder ikke, at funktioner er fuldstændig deaktiveret. De skal bare bruges med forsigtighed af følgende årsager:

  1. Uklart hvilken fremtid der virkelig erværdier vil være for disse funktioner.
  2. Hvis objekterne er forudsigelige og har nogle mønstre, kan du bygge en forudsigelsesmodel for hver af dem.

Vær dog opmærksom på, at brug af forudsigelige værdier som funktioner vil sprede fejl ind i målvariablen og føre til fejl eller skæve forudsigelser.

Tidsseriekomponenter

Tidsseriekomponenter
Tidsseriekomponenter

Trend eksisterer, når serien stiger, falder eller forbliver på et konstant niveau over tid, så det tages som en funktion. Sæsonbestemthed refererer til en egenskab for en tidsserie, der viser periodiske mønstre, der gentages med en konstant frekvens (m), f.eks. betyder m=12, at mønsteret gentages hver 12. måned.

Dummy-variabler, der ligner sæsonbestemte, kan tilføjes som en binær funktion. Du kan fx tage højde for helligdage, særlige begivenheder, markedsføringskampagner, uanset om værdien er udenlandsk eller ej. Du skal dog huske, at disse variabler skal have bestemte mønstre. Dog kan antallet af dage let beregnes selv for fremtidige perioder og påvirke tidsserieprognoser, især på det finansielle område.

Cykler er årstider, der ikke sker til en fast sats. For eksempel afspejler de årlige reproduktionsattributter for den canadiske los sæsonbestemte og cykliske mønstre. De gentages ikke med regelmæssige intervaller og kan forekomme, selvom frekvensen er 1 (m=1).

Forsinkede værdier -lagging værdier af en variabel kan inkluderes som forudsigere. Nogle modeller, såsom ARIMA, Vector Autoregression (VAR) eller Autoregressive Neural Networks (NNAR), fungerer på denne måde.

Komponenterne i variablen af interesse er meget vigtige for tidsserieanalyse og prognoser, for at forstå deres adfærd, mønstre og for at kunne vælge den passende model.

Datasætattributter

Datasæt-attributter
Datasæt-attributter

Du er måske vant til at indtaste tusinder, millioner og milliarder af datapunkter i maskinlæringsmodeller, men dette er ikke påkrævet for tidsserier. Faktisk er det muligt at arbejde med små og mellemstore TS, alt efter frekvens og type af variabel, og det er ikke en ulempe ved metoden. Desuden er der faktisk en række fordele ved denne tilgang:

  1. Sådanne sæt oplysninger vil svare til en hjemmecomputers muligheder.
  2. Udfør i nogle tilfælde tidsserieanalyse og prognoser ved hjælp af hele datasættet, ikke kun en prøve.
  3. TS længde er nyttig til at skabe grafer, der kan analyseres. Dette er et meget vigtigt punkt, fordi programmører er afhængige af grafik i analysefasen. Det betyder ikke, at de ikke fungerer med store tidsserier, men i første omgang burde de kunne klare mindre TS.
  4. Ethvert datasæt, der indeholder et tidsrelateret felt, kan drage fordel af tidsserieanalyse og prognoser. Men hvis programmøren har et større sæt data, vil DB (TSDB)kan være mere passende.

Nogle af disse sæt kommer fra hændelser, der er registreret med tidsstempel, systemlogfiler og økonomiske data. Da TSDB arbejder indbygget med tidsserier, er dette en fantastisk mulighed for at anvende denne teknik på datasæt i stor skala.

Maskinlæring

Machine learning (ML) kan udkonkurrere traditionelle tidsserieprognosemetoder. Der er et væld af undersøgelser derude, der sammenligner maskinlæringsmetoder med mere klassiske statistiske metoder på TS-data. Neurale netværk er en af de teknologier, der er blevet bredt forsket i og anvender TS-tilgange. Maskinlæringsmetoder fører ranglisten for dataindsamling baseret på tidsserier. Disse sæt har vist sig at være effektive og overgår rene TS-sæt i forhold til M3 eller Kaggle.

MO har sine egne specifikke problemer. Udvikling af funktioner eller generering af nye forudsigelser fra et datasæt er et vigtigt skridt for det og kan have en enorm indflydelse på ydeevnen og være en nødvendig måde at løse trend- og sæsonbestemte problemer for TS-data. Nogle modeller har også problemer med, hvor godt de passer til dataene, og hvis de ikke gør det, kan de gå glip af hovedtendensen.

Tidsserier og maskinlæringstilgange bør ikke eksistere isoleret fra hinanden. De kan kombineres for at give fordelene ved hver tilgang. Prognosemetoder og tidsserieanalyse er gode til at dekomponere data i trend- og sæsondata.elementer. Denne analyse kan derefter bruges som input til en ML-model, der har trend- og sæsonbestemt information i sin algoritme, hvilket giver det bedste fra begge verdener.

Forstå problemformuleringen

For et eksempel, overvej TS relateret til forudsigelse af antallet af passagerer på en ny højhastighedstogtjeneste. For eksempel har du 2 års data (august 2016 - september 2018), og med disse data skal du forudsige antallet af passagerer for de næste 7 måneder, have 2 års data (2016-2018) på timeniveau med antal passagerer, der rejser, og det er nødvendigt at estimere antallet af dem i fremtiden.

Undersæt af datasæt til prognose med tidsserier:

  1. Oprettelse af et tog og testfil til simulering.
  2. De første 14 måneder (aug 2016 - okt 2017) bruges som træningsdata, og de næste 2 måneder (nov. 2017 - dec. 2017) er testdata.
  3. Saml datasættet på daglig basis.
Samling af datasæt
Samling af datasæt

Udfør datavisualisering for at se, hvordan det ændrer sig over en periode.

Datavisualisering
Datavisualisering

Naiv metode til konstruktion

Biblioteket, der bruges i dette tilfælde til TS-forudsigelse, er statsmodeller. Det skal installeres, før nogen af disse metoder kan anvendes. Måske er statsmodels allerede installeret i Python-miljøet, men det understøtter ikke metoderforudsigelse, så du bliver nødt til at klone det fra depotet og installere det fra kilden.

Sekvensering
Sekvensering

For dette eksempel betyder det, at møntrejsepriserne er stabile lige fra begyndelsen og gennem hele perioden. Denne metode antager, at det næste forventede punkt er lig med det sidst observerede punkt og kaldes Naive Approach.

Naiv metode
Naiv metode

Beregn nu standardafvigelsen for at teste nøjagtigheden af modellen på testdatasættet. Ud fra RMSE-værdien og ovenstående graf kan vi konkludere, at Naive ikke er velegnet til optioner med høj volatilitet, men bruges til stabile.

Simpel medium stil

For at demonstrere metoden tegnes et diagram, idet det antages, at Y-aksen repræsenterer prisen, og X-aksen repræsenterer tid (dage).

Enkel mellemstil
Enkel mellemstil

Deraf kan vi konkludere, at prisen stiger og falder tilfældigt med en lille margin, så den gennemsnitlige værdi forbliver konstant. I dette tilfælde kan du forudsige prisen for den næste periode, svarende til gennemsnittet for alle de seneste dage.

Denne metode til prognose med det forventede gennemsnit af tidligere observerede punkter kaldes den simple gennemsnitsmetode.

I dette tilfælde tages tidligere kendte værdier, gennemsnittet beregnes og tages som den næste værdi. Dette vil selvfølgelig ikke være nøjagtigt, men det er ret tæt på, og der er situationer, hvor denne metode fungerer bedst.

Simpelt mediummetode
Simpelt mediummetode

Baseret på resultaterne vist på grafen fungerer denne metode bedst, når gennemsnitsværdien for hver tidsperiode forbliver konstant. Selvom den naive metode er bedre end gennemsnittet, men ikke for alle datasæt. Det anbefales at prøve hver model trin for trin og se, om det forbedrer resultatet eller ej.

Moving Average Model

Glidende gennemsnitsmodel
Glidende gennemsnitsmodel

Baseret på dette diagram kan vi konkludere, at priserne er steget adskillige gange tidligere med en bred margin, men nu er stabile. For at bruge den tidligere gennemsnitsmetode skal du tage gennemsnittet af alle tidligere data. Priserne for den indledende periode vil i høj grad påvirke prognosen for den næste periode. Som en forbedring i forhold til det simple gennemsnit skal du derfor kun tage gennemsnittet af priserne for de sidste par perioder.

Denne prognoseteknik kaldes den glidende gennemsnitsteknik, nogle gange omt alt som et "bevægende vindue" i størrelsen "n". Ved hjælp af en simpel model forudsiges den næste værdi i TS for at kontrollere nøjagtigheden af metoden. Klart naivt klarer sig bedre end både gennemsnit og glidende gennemsnit for dette datasæt.

Der er en variant af prognosen ved hjælp af metoden med simpel eksponentiel udjævning. I metoden med glidende gennemsnit vægtes de tidligere "n"-observationer lige meget. I dette tilfælde kan du støde på situationer, hvor hver af de tidligere 'n' påvirker prognosen på sin egen måde. Denne variation, som vægter tidligere observationer forskelligt, kaldes metodenvægtet glidende gennemsnit.

Ekstrapolering af mønstre

En af de vigtigste egenskaber, der er nødvendige for at overveje algoritmer til tidsserieprognoser, er evnen til at ekstrapolere mønstre uden for træningsdatadomænet. Mange ML-algoritmer har ikke denne evne, da de har tendens til at være begrænset til et område, der er defineret af træningsdataene. Derfor er de ikke egnede til TS, hvis formål er at projicere resultatet ind i fremtiden.

En anden vigtig egenskab ved TS-algoritmen er muligheden for at opnå konfidensintervaller. Selvom dette er standardegenskaben for TS-modeller, har de fleste ML-modeller ikke denne funktion, da de ikke alle er baseret på statistiske fordelinger.

Tro ikke, at der kun bruges simple statistiske metoder til at forudsige TS. Sådan er det slet ikke. Der er mange komplekse tilgange, som kan være meget nyttige i særlige tilfælde. Generaliseret autoregressiv betinget heteroskedasticitet (GARCH), Bayesian og VAR er blot nogle af dem.

Der er også neurale netværksmodeller, der kan anvendes på tidsserier, der bruger lagging-prædiktorer og kan håndtere funktioner såsom neural netværksautoregression (NNAR). Der er endda tidsseriemodeller lånt fra kompleks læring, især i den tilbagevendende neurale netværksfamilie, såsom LSTM- og GRU-netværk.

Estimerings-metrics and Residual Diagnostics

De mest almindelige forudsigelsesmålinger errms betyder, som mange mennesker bruger, når de løser regressionsproblemer:

  • MAPE, fordi den er skalauafhængig og repræsenterer forholdet mellem fejl og faktiske værdier i procent;
  • MASE, som viser, hvor godt forudsigelsen klarer sig sammenlignet med den naive gennemsnitlige forudsigelse.

Når en prognosemetode er blevet tilpasset, er det vigtigt at vurdere, hvor godt den er i stand til at fange modellerne. Selvom evalueringsmetrikken hjælper med at bestemme, hvor tæt værdierne er på de faktiske værdier, evaluerer de ikke, om modellen passer til TS. Rester er en god måde at vurdere dette på. Da programmøren forsøger at anvende TS-mønstre, kan han forvente, at fejl opfører sig som "hvid støj", da de repræsenterer noget, der ikke kan fanges af modellen.

"Hvid støj" skal have følgende egenskaber:

  1. Rester ukorrelerede (Acf=0)
  2. Rester følger en normalfordeling med nulmiddelværdi (uvildig) og konstant varians.
  3. Hvis en af de to egenskaber mangler, er der plads til forbedringer i modellen.
  4. egenskaben nulmiddel kan nemt testes ved hjælp af T-testen.
  5. Egenskaberne for normalitet og konstant varians styres visuelt ved hjælp af et histogram af residualer eller en passende univariat normalitetstest.

ARIMA Model

ARIMA - AutoRegressive Integrated Moving-Average model, er en af de mest populære metoder, der bruges i TS-prognoser, hovedsageligtgennem dataautokorrelation for at skabe modeller af høj kvalitet.

Når man evaluerer ARIMA-koefficienter, er hovedantagelsen, at dataene er stationære. Det betyder, at trend og sæsonbestemte ikke kan påvirke variansen. Kvaliteten af modellen kan vurderes ved at sammenligne tidsplottet for de faktiske værdier med de forudsagte værdier. Hvis begge kurver er tætte, så kan det antages, at modellen passer til det analyserede tilfælde. Den bør afsløre alle tendenser og sæsonbestemte, hvis nogen.

Analyse af residualerne skulle så vise, om modellen passer: tilfældige residualer betyder, at den er nøjagtig. Tilpasning af ARIMA med parametre (0, 1, 1) vil give de samme resultater som eksponentiel udjævning, og brug af parametre (0, 2, 2) vil give dobbelte eksponentielle udjævningsresultater.

Tidsseriealgoritmer i SQL Server
Tidsseriealgoritmer i SQL Server

Du kan få adgang til ARIMA-indstillinger i Excel:

  1. Start Excel.
  2. Find XL MINER på værktøjslinjen.
  3. På båndet skal du vælge ARIMA fra rullemenuen.

Oversigt over ARIMA-modellens muligheder:

  1. ARIMA - Autoregressivt integreret glidende gennemsnit.
  2. Prognosemodel brugt i tidsserieanalyse.
  3. ARIMA parametersyntaks: ARIMA (p, d, q) hvor p=antal autoregressive termer, d=antal sæsonbestemte forskelle og q=antal glidende gennemsnitstermer.

Algorithms in SQL Server

Udførelse af krydsforudsigelse er en af de vigtigetræk ved tidsserier i forecasting af økonomiske opgaver. Hvis der bruges to relaterede serier, kan den resulterende model bruges til at forudsige resultaterne af en serie baseret på de andres adfærd.

SQL Server 2008 har kraftfulde nye tidsseriefunktioner at lære og bruge. Værktøjet har let tilgængelige TS-data, en brugervenlig grænseflade til simulering og gengivelse af algoritmefunktioner og et forklaringsvindue med et link til serverside DMX-forespørgsler, så du kan forstå, hvad der foregår indeni.

Markedstidsserier er et bredt område, hvor deep learning-modeller og algoritmer kan anvendes. Banker, mæglere og fonde eksperimenterer nu med deres implementering af analyser og prognoser for indekser, valutakurser, futures, kryptovalutapriser, statsaktier og mere.

I tidsserieprognoser finder det neurale netværk forudsigelige mønstre ved at studere strukturer og tendenser på markederne og giver råd til handlende. Disse netværk kan også hjælpe med at opdage anomalier såsom uventede toppe, fald, trendændringer og niveauskift. Mange kunstig intelligens-modeller bruges til økonomiske prognoser.

Anbefalede: