Vir baie jare het mense weerstoestande, ekonomiese en politieke gebeure en sportuitslae voorspel, onlangs is hierdie uitgebreide lys met kripto-geldeenhede aangevul. Om veelsydige gebeure te voorspel, is daar baie maniere om voorspellings te ontwikkel. Byvoorbeeld, intuïsie, deskundige menings, die gebruik van vorige resultate om met tradisionele statistieke te vergelyk, en tydreeksvoorspelling is net een daarvan, terwyl die mees moderne en akkurate tipe voorspellings met 'n wye reeks toepassings.
Tydreeksmetode
'n Tydreeks (TS) metode is 'n datastel wat inligting oor 'n tydperk insamel. Daar is spesiale metodes om hierdie tipe te onttrek:
- lineêr en nie-lineêr;
- parametries en nie-parametries;
- eendimensioneel en multidimensioneel.
Voorspellingstydreeks bring 'n unieke stel vermoëns mee om vandag se uitdagings die hoof te bied. Modellering maak staat op leer om die dryfkrag agter dataverandering vas te stel. Die proses kom van langtermynneigings, seisoenale effekte of onreëlmatige fluktuasies wat kenmerkend van TS is en nie in ander tipes ontleding gesien word nie.
Masjineleer is 'n tak van rekenaarwetenskap waar algoritmes uit data saamgestel word en kunsmatige neurale netwerke, diep leer, assosiasiereëls, besluitnemingsbome, versterkingsleer en Bayesiese netwerke insluit. 'n Verskeidenheid algoritmes bied opsies om probleme op te los, en elkeen het sy eie vereistes en afwegings in terme van data-invoer, spoed en akkuraatheid van resultate. Dit, saam met die akkuraatheid van die finale voorspellings, sal geweeg word wanneer die gebruiker besluit watter algoritme die beste sal werk vir die situasie wat bestudeer word.
Tydreeksvoorspelling leen uit die veld van statistiek, maar gee nuwe benaderings tot probleemmodellering. Die hoofprobleem vir masjienleer en tydreekse is dieselfde - om nuwe uitkomste te voorspel gebaseer op voorheen bekende data.
Die teiken van die voorspellende model
TS is 'n stel datapunte wat met gereelde tussenposes ingesamel word. Hulle word ontleed om 'n langtermyn-tendens te bepaal, om die toekoms te voorspel, of om 'n ander tipe analise uit te voer. Daar is 2 dinge wat TS verskil van 'n normale regressieprobleem:
- Hulle is afhanklik van tyd. Dusdie basiese aanname van 'n lineêre regressiemodel dat die waarnemings onafhanklik is, geld nie in hierdie geval nie.
- Saam met 'n stygende of dalende neiging, het die meeste TS'e een of ander vorm van seisoenaliteit, dit wil sê veranderinge wat spesifiek vir 'n sekere tydperk is.
Die doel van 'n tydreeksvoorspellingsmodel is om 'n akkurate voorspelling op aanvraag te gee. Die tydreeks het tyd (t) as die onafhanklike veranderlike en die teiken afhanklike veranderlike. In die meeste gevalle is die voorspelling 'n spesifieke resultaat, byvoorbeeld die verkoopprys van 'n huis, die sportuitslag van die kompetisie, die resultate van verhandeling op die aandelebeurs. Die voorspelling verteenwoordig die mediaan en gemiddelde en sluit 'n vertrouensinterval in wat 'n vlak van vertroue in die reeks van 80-95% uitdruk. Wanneer hulle met gereelde tussenposes aangeteken word, word die prosesse tydreekse genoem en word dit op twee maniere uitgedruk:
- eendimensioneel met 'n tydindeks wat 'n implisiete volgorde skep;
- 'n stel met twee dimensies: tyd met 'n onafhanklike veranderlike en nog 'n afhanklike veranderlike.
Die skep van kenmerke is een van die belangrikste en tydrowendste take in toegepaste masjienleer. Tydreeksvoorspelling skep egter nie kenmerke nie, ten minste nie in die tradisionele sin nie. Dit is veral waar wanneer jy die resultaat verskeie stappe vorentoe wil voorspel, en nie net die volgende waarde nie.
Dit beteken nie dat kenmerke heeltemal gedeaktiveer is nie. Hulle moet net met omsigtigheid gebruik word om die volgende redes:
- Onduidelik watter toekoms werklik iswaardes sal vir hierdie kenmerke wees.
- As die voorwerpe voorspelbaar is en 'n paar patrone het, kan jy 'n voorspellende model vir elkeen van hulle bou.
Wees egter bewus daarvan dat die gebruik van voorspellende waardes as kenmerke foute in die teikenveranderlike sal versprei en tot foute of bevooroordeelde voorspellings sal lei.
Tydreekskomponente
Tendens bestaan wanneer die reeks toeneem, afneem of op 'n konstante vlak oor tyd bly, dus word dit as 'n funksie geneem. Seisoenaliteit verwys na 'n eienskap van 'n tydreeks wat periodieke patrone vertoon wat teen 'n konstante frekwensie (m) herhaal, byvoorbeeld, m=12 beteken die patroon herhaal elke twaalf maande.
Dummy-veranderlikes soortgelyk aan seisoenaliteit kan as 'n binêre funksie bygevoeg word. Jy kan byvoorbeeld vakansies, spesiale geleenthede, bemarkingsveldtogte in ag neem, ongeag of die waarde buitelands is of nie. Jy moet egter onthou dat hierdie veranderlikes sekere patrone moet hê. Die aantal dae kan egter maklik bereken word, selfs vir toekomstige tydperke en beïnvloed tydreeksvoorspelling, veral in die finansiële gebied.
Siklusse is seisoene wat nie teen 'n vaste koers plaasvind nie. Byvoorbeeld, die jaarlikse voortplanting-eienskappe van die Kanada-lynx weerspieël seisoenale en sikliese patrone. Hulle herhaal nie met gereelde tussenposes nie en kan voorkom selfs al is die frekwensie 1 (m=1).
Vertraagde waardes -agterstallige waardes van 'n veranderlike kan as voorspellers ingesluit word. Sommige modelle, soos ARIMA, Vector Outoregression (VAR), of Outoregressive Neural Networks (NNAR), werk op hierdie manier.
Die komponente van die veranderlike van belang is baie belangrik vir tydreeksanalise en voorspelling, om hul gedrag, patrone te verstaan, en om die toepaslike model te kan kies.
Datastelkenmerke
Jy is dalk gewoond daaraan om duisende, miljoene en biljoene datapunte in masjienleermodelle in te voer, maar dit word nie vir tydreekse vereis nie. Trouens, dit is moontlik om met klein en medium TS te werk, afhangende van die frekwensie en tipe veranderlike, en dit is nie 'n nadeel van die metode nie. Boonop is daar eintlik 'n aantal voordele aan hierdie benadering:
- Sulke stelle inligting sal ooreenstem met die vermoëns van 'n tuisrekenaar.
- Voer in sommige gevalle tydreeksontleding en voorspelling uit deur die hele datastel te gebruik, nie net 'n steekproef nie.
- TS-lengte is nuttig vir die skep van grafieke wat ontleed kan word. Dit is 'n baie belangrike punt, want programmeerders maak staat op grafika in die ontledingsfase. Dit beteken nie dat hulle nie met groot tydreekse werk nie, maar aanvanklik behoort hulle kleiner TS te kan hanteer.
- Enige datastel wat 'n tydverwante veld bevat, kan baat vind by tydreeksontleding en vooruitskatting. As die programmeerder egter 'n groter stel data het, sal die DB (TSDB)kan meer gepas wees.
Sommige van hierdie stelle kom van gebeurtenisse wat met tydstempel, stelselloglêers en finansiële data aangeteken is. Aangesien TSDB inheems met tydreekse werk, is dit 'n wonderlike geleentheid om hierdie tegniek op grootskaalse datastelle toe te pas.
Masjineleer
Masjineleer (ML) kan beter as tradisionele tydreeksvoorspellingsmetodes presteer. Daar is 'n klomp studies wat masjienleermetodes vergelyk met meer klassieke statistiese metodes op TS-data. Neurale netwerke is een van die tegnologieë wat wyd nagevors is en pas TS-benaderings toe. Masjienleermetodes lei die ranglys vir data-insameling gebaseer op tydreekse. Hierdie stelle het bewys dat dit doeltreffend is, en presteer beter as suiwer TS-stelle teenoor M3 of Kaggle.
MO het sy eie spesifieke probleme. Die ontwikkeling van kenmerke of die generering van nuwe voorspellers vanaf 'n datastel is 'n belangrike stap daarvoor en kan 'n groot impak op prestasie hê en 'n noodsaaklike manier wees om tendens- en seisoenaliteitkwessies van TS-data aan te spreek. Sommige modelle het ook probleme met hoe goed hulle by die data pas, en as hulle dit nie doen nie, kan hulle die hoofneiging mis.
Tydreeks- en masjienleerbenaderings behoort nie in isolasie van mekaar te bestaan nie. Hulle kan saam gekombineer word om die voordele van elke benadering te gee. Voorspellingsmetodes en tydreeksanalise is goed om data in tendens- en seisoenale data te ontbind.elemente. Hierdie ontleding kan dan gebruik word as insette vir 'n ML-model wat tendens- en seisoensinligting in sy algoritme het, wat die beste van albei wêrelde gee.
Verstaan die probleemstelling
Vir 'n voorbeeld, oorweeg TS wat verband hou met die voorspelling van die aantal passasiers op 'n nuwe hoëspoed-spoordiens. Byvoorbeeld, jy het 2 jaar se data (Augustus 2016 - September 2018) en met hierdie data moet jy die aantal passasiers vir die volgende 7 maande voorspel, met 2 jaar se data (2016-2018) op die uurlikse vlak met die aantal passasiers wat reis, en dit is nodig om die aantal van hulle in die toekoms te skat.
Subset van datastel vir voorspelling met tydreekse:
- Skep 'n trein en toetslêer vir simulasie.
- Die eerste 14 maande (Aug 2016 - Okt 2017) word as opleidingsdata gebruik, en die volgende 2 maande (Nov 2017 - Des. 2017) is toetsdata.
- Aggregeer die datastel op 'n daaglikse basis.
Voer datavisualisering uit om te sien hoe dit oor 'n tydperk verander.
Naïewe benadering-konstruksiemetode
Die biblioteek wat in hierdie geval vir TS-voorspelling gebruik word, is statistiekmodelle. Dit moet geïnstalleer word voordat enige van hierdie benaderings toegepas kan word. Miskien is statsmodelle reeds in die Python-omgewing geïnstalleer, maar dit ondersteun nie metodes nievoorspelling, so jy sal dit vanaf die bewaarplek moet kloon en dit vanaf die bron installeer.
Vir hierdie voorbeeld beteken dit dat die muntreispryse van die begin af stabiel is en deur die hele tydperk. Hierdie metode neem aan dat die volgende verwagte punt gelyk is aan die laaste waargenome punt en word Naïewe Benadering genoem.
Bereken nou die standaardafwyking om die akkuraatheid van die model op die toetsdatastel te toets. Uit die RMSE-waarde en die bostaande grafiek kan ons aflei dat Naïef nie geskik is vir hoë wisselvalligheidsopsies nie, maar vir stabieles gebruik word.
Eenvoudige mediumstyl
Om die metode te demonstreer, word 'n grafiek geteken, met die veronderstelling dat die Y-as die prys verteenwoordig en die X-as tyd (dae) verteenwoordig.
Daaruit kan ons aflei dat die prys lukraak styg en daal met 'n klein marge, sodat die gemiddelde waarde konstant bly. In hierdie geval kan jy die prys van die volgende tydperk voorspel, soortgelyk aan die gemiddelde vir al die afgelope dae.
Hierdie metode van voorspelling met die verwagte gemiddelde van voorheen waargenome punte word die eenvoudige gemiddelde metode genoem.
In hierdie geval word voorheen bekende waardes geneem, die gemiddelde word bereken en as die volgende waarde geneem. Dit sal natuurlik nie presies wees nie, maar dit is redelik naby, en daar is situasies waar hierdie metode die beste werk.
Gegrond op die resultate wat op die grafiek vertoon word, werk hierdie metode die beste wanneer die gemiddelde waarde oor elke tydperk konstant bly. Alhoewel die naïewe metode beter is as die gemiddelde, maar nie vir alle datastelle nie. Dit word aanbeveel om elke model stap vir stap te probeer en te kyk of dit die resultaat verbeter of nie.
Moving Average Model
Gegrond op hierdie grafiek, kan ons aflei dat pryse in die verlede verskeie kere met 'n wye marge gestyg het, maar nou stabiel is. Om die vorige gemiddelde metode te gebruik, moet jy die gemiddelde van alle vorige data neem. Die pryse van die aanvanklike tydperk sal die voorspelling van die volgende tydperk sterk beïnvloed. Daarom, as 'n verbetering oor die eenvoudige gemiddelde, neem die gemiddelde van pryse slegs vir die laaste paar tydperke.
Hierdie voorspellingstegniek word die bewegende gemiddelde tegniek genoem, soms na verwys as 'n "n" grootte "bewegende venster". Deur 'n eenvoudige model te gebruik, word die volgende waarde in TS voorspel om die akkuraatheid van die metode na te gaan. Naïef presteer duidelik beter as beide gemiddelde en bewegende gemiddelde vir hierdie datastel.
Daar is 'n variant van die voorspelling deur die metode van eenvoudige eksponensiële gladstryking. In die bewegende gemiddelde metode word die vorige "n" waarnemings ewe geweeg. In hierdie geval kan jy situasies teëkom waar elkeen van die vorige 'n' die voorspelling op sy eie manier beïnvloed. Hierdie variasie, wat vorige waarnemings verskillend weeg, word die metode genoemgeweegde bewegende gemiddelde.
Ekstrapolasie van patrone
Een van die belangrikste eienskappe wat nodig is om tydreeksvoorspellingsalgoritmes te oorweeg, is die vermoë om patrone buite die opleidingsdatadomein te ekstrapoleer. Baie ML-algoritmes het nie hierdie vermoë nie, aangesien hulle geneig is om beperk te word tot 'n streek wat deur die opleidingsdata gedefinieer word. Daarom is hulle nie geskik vir TS nie, waarvan die doel is om die resultaat in die toekoms te projekteer.
Nog 'n belangrike eienskap van die TS-algoritme is die moontlikheid om vertrouensintervalle te verkry. Alhoewel dit die verstek-eienskap vir TS-modelle is, het die meeste ML-modelle nie hierdie vermoë nie, aangesien hulle nie almal op statistiese verspreidings gebaseer is nie.
Moenie dink dat slegs eenvoudige statistiese metodes gebruik word om TS te voorspel nie. Dit is glad nie so nie. Daar is baie komplekse benaderings wat in spesiale gevalle baie nuttig kan wees. Veralgemeende outoregressiewe voorwaardelike heteroskedastisiteit (GARCH), Bayes en VAR is net 'n paar daarvan.
Daar is ook neurale netwerkmodelle wat toegepas kan word op tydreekse wat sloerende voorspellers gebruik en kenmerke soos neurale netwerk outoregressie (NNAR) kan hanteer. Daar is selfs tydreeksmodelle wat uit komplekse leer geleen is, veral in die herhalende neurale netwerkfamilie, soos LSTM- en GRU-netwerke.
Beramingsmetrieke en oorblywende diagnostiek
Die mees algemene voorspellingsmaatstawwe isrms beteken, wat baie mense gebruik wanneer hulle regressieprobleme oplos:
- MAPE want dit is skaalonafhanklik en verteenwoordig die verhouding van fout tot werklike waardes as 'n persentasie;
- MASE, wat wys hoe goed die voorspelling vaar in vergelyking met die naïewe gemiddelde voorspelling.
Sodra 'n voorspellingsmetode aangepas is, is dit belangrik om te evalueer hoe goed dit die modelle kan vaslê. Alhoewel die evalueringsstatistieke help om te bepaal hoe naby die waardes aan die werklike waardes is, evalueer hulle nie of die model by die TS pas nie. Oorskiet is 'n goeie manier om dit te evalueer. Aangesien die programmeerder TS-patrone probeer toepas, kan hy verwag dat foute soos "wit geraas" sal optree, aangesien dit iets verteenwoordig wat nie deur die model vasgevang kan word nie.
"Wit geraas" moet die volgende eienskappe hê:
- Residue ongekorreleerd (Acf=0)
- Residue volg 'n normaalverspreiding met nul gemiddelde (onbevooroordeelde) en konstante variansie.
- As een van die twee eienskappe ontbreek, is daar ruimte vir verbetering in die model.
- Die nul-gemiddelde-eienskap kan maklik getoets word deur die T-toets te gebruik.
- Die eienskappe van normaliteit en konstante variansie word visueel beheer deur 'n histogram van residue of 'n toepaslike eenveranderlike normaliteitstoets te gebruik.
ARIMA-model
ARIMA - AutoRegressive Integrated Moving-Average-model, is een van die gewildste metodes wat in TS-voorspelling gebruik word, hoofsaaklikdeur data-outokorrelasie om modelle van hoë geh alte te skep.
Wanneer ARIMA-koëffisiënte evalueer word, is die hoofaanname dat die data stilstaande is. Dit beteken dat neiging en seisoenaliteit nie die afwyking kan beïnvloed nie. Die kwaliteit van die model kan beoordeel word deur die tydgrafiek van die werklike waardes met die voorspelde waardes te vergelyk. As beide krommes naby is, kan aanvaar word dat die model by die geanaliseerde geval pas. Dit moet enige neigings en seisoenaliteit openbaar maak, indien enige.
Analise van die residue moet dan wys of die model pas: ewekansige residue beteken dit is akkuraat. As ARIMA met parameters (0, 1, 1) pas, sal dieselfde resultate as eksponensiële gladstryking gee, en die gebruik van parameters (0, 2, 2) sal dubbele eksponensiële gladstrykingsresultate gee.
Jy het toegang tot ARIMA-instellings in Excel:
- Begin Excel.
- Vind XL MINER op die nutsbalk.
- Op die lint, kies ARIMA uit die aftrekkieslys.
Opsomming van ARIMA-modelvermoëns:
- ARIMA - Outoregressiewe Geïntegreerde Bewegende Gemiddelde.
- Voorspellingsmodel wat in tydreeksontleding gebruik word.
- ARIMA parametersintaksis: ARIMA (p, d, q) waar p=aantal outoregressiewe terme, d=aantal seisoenale verskille, en q=aantal bewegende gemiddelde terme.
Algorithmes in SQL Server
Die uitvoering van kruisvoorspelling is een van die belangrikstekenmerke van tydreekse in die vooruitskatting van finansiële take. As twee verwante reekse gebruik word, kan die resulterende model gebruik word om die resultate van een reeks te voorspel gebaseer op die gedrag van die ander.
SQL Server 2008 het kragtige nuwe tydreekskenmerke om te leer en te gebruik. Die instrument het maklik toeganklike TS-data, 'n maklik-om-te-gebruik koppelvlak vir die simulering en reproduksie van algoritme-funksies, en 'n verduidelikingsvenster met 'n skakel na bediener-kant DMX-navrae sodat jy kan verstaan wat binne aangaan.
Marktydreekse is 'n breë gebied waarop diepleermodelle en algoritmes toegepas kan word. Banke, makelaars en fondse eksperimenteer nou met hul ontplooiing van ontleding en vooruitskatting vir indekse, wisselkoerse, termynkontrakte, kriptogeldeenheidpryse, staatsaandele en meer.
In tydreeksvoorspelling vind die neurale netwerk voorspelbare patrone deur die strukture en tendense van die markte te bestudeer en advies aan handelaars te gee. Hierdie netwerke kan ook help om anomalieë soos onverwagte pieke, dalings, tendensveranderinge en vlakverskuiwings op te spoor. Baie kunsmatige intelligensie-modelle word vir finansiële voorspellings gebruik.