Programinės įrangos, skirtos nestacionarių laiko eilučių tyrimui, projektavimas ir programavimas
Domarkas, Audrius |
Darbo gynimo komisijos pirmininkas / Thesis Defence Board Chairman | |
Darbo gynimo komisijos narys / Thesis Defence Board Member | |
Darbo gynimo komisijos narys / Thesis Defence Board Member | |
Darbo gynimo komisijos narys / Thesis Defence Board Member | |
Darbo gynimo komisijos narys / Thesis Defence Board Member |
Apdorojant nestacionarius laiko eilučių duomenis statistiniais metodais jie privalo būti stacionarizuojami. Tačiau taip ne tik prarandamos svarbios duomenų ypatybės, bet ir nuvertinama prognozės neužtikrintumo tikimybė. Rekurentiniais neuroniniais tinklais galima analizuoti nestacionarizuotus duomenis, tačiau nėra aišku, kuris iš trijų dažniausiai naudojamų tinklų – SRNN, LSTM ar GRU, – geriausiai tinka kiekvienu konkrečiu nestacionarių laiko eilučių duomenų atveju. Šiame magistro darbe aprašomas programinės įrangos, skirtos nestacionarių laiko eilučių tyrimui panaudojant trijų tipų rekurentinius neuroninius tinklus, projektavimas ir programavimas, pateikiamas programinis produktas, kuriuo atliktas 50 nestacionarių laiko eilučių duomenų aibių tyrimas bei pristatomi šio tyrimo rezultatai. Darbo hipotezė: SRNN, LSTM ir GRU rekurentiniais neuroniniais tinklais galima prognozuoti nestacionarių laiko eilučių duomenis jų nestacionarizavus. Darbo problema: kaip atlikti nestacionarių laiko eilučių duomenų tyrimą jų nestacionarizuojant ir panaudojant trijų tipų rekurentinius neuroninius tinklus. Darbo objektas: programinės įrangos, skirtos nestacionarių laiko eilučių tyrimui, projektavimas ir programavimas. Darbo tikslas: suprojektuoti ir suprogramuoti įrangą nestacionarių laiko eilučių prognozės tikslumui vertinti, kai taikomi trijų tipų neuroniniai tinklai. Darbo uždaviniai: suformuluoti reikalavimus programinei įrangai, skirtai nestacionarių laiko eilučių tyrimui, ir apibrėžti jos architektūrą; parašyti programinės įrangos, skirtos nestacionarių laiko eilučių tyrimui, kodą; atlikti kompiuterinį eksperimentą su atrinktų duomenų aibių duomenimis panaudojant pasirinktas programinės įrangos nuostatas. Rezultatai: Taikant numatytuosius neuroninių tinklų hiperparametrus analizuotus finansinius duomenis tiksliausiai prognozuoja LSTM neuroninis tinklas, o prasčiausiai SRNN. Vidutinės sMAPE reikšmės taikant numatytuosius hiperparametrus yra LSTM: 0,53 (53 %), GRU: 0,77 (77 %), SRNN: 1,43 (143 %). Individualiai kiekvienai duomenų aibei paderinus neuroninio rinklo hiperparametrus prognozės tikslumą galima pagerinti 70 % – 90 %. Vidutinės sMAPE reikšmės taikant individualiai nustatytus hiperparametrus yra LSTM: 0,16 (16 %), GRU: 0,06 (6 %), SRNN: 0,28 (28 %). Geriausi visų trijų neuroninių tinklų rezultatai buvo pasiekiami keičiant šiuos hiperparametrus: optimizavimo funkciją „adagrad“ naudojant kartu su duomenų sumaišymu (shuffle = true), epochų skaičiaus padidinimu iki 100 ar 200 (Epochs = 200) bei paketo dydžio sumažinimu iki 10-20 (Batch size = 20). Paketo dydžio pakeitimas į kartotinį skaičiui 5 pagerino analizuotų finansinių duomenų prognozavimą todėl, kad neuroninio tinklo svorių matrica yra atnaujinama pateikus neuroniniam tinklui duomenų imčių skaičių, aprašomą hiperparametru „batch size“, o visi analizei naudoti duomenys buvo surinkti darbo dienomis.
When processing non-stationary time series data by statistical methods, they must be stationarized. However, hereby not only important data features are lost, but also the likelihood of forecast uncertainty is underestimated. Recurrent neural networks can analyze non-stationary data, but it is not clear which of the three most commonly used networks — SRNN, LSTM, or GRU — is best suited for each specific case of non-stationary time series data. This master’s thesis describes the design and development of software for nonstationary time series analysis using three types of recurrent neural networks, presents the software and the results of the study of 50 non-stationary time series data sets. Hypothesis: SRNN, LSTM and GRU recurrent neural networks predict nonstationary time series data without their stationaryization.The problem of the work: how to forecast non-stationary time series data without stationarization using three types of recurrent neural networks. Object of the work: design and development of software for non-stationary time series analysis. Aim of the work: to design and to program software for estimating the accuracy of non-stationary time series prediction when using three types of neural networks. Tasks of the work: to formulate requirements for software for non-stationary time series analysis and to define its architecture; to write a code for software for non-stationary time series analysis; perform a computer experiment with the data of the selected data sets using the selected software settings. Results: Using the default neural network hyperparameters, the financial data analyzed are most accurately predicted by the LSTM neural network and worst by the SRNN. Mean sMAPE values using the default hyperparameters are LSTM: 0.53 (53%), GRU: 0.77 (77%), SRNN: 1.43 (143%). By adjusting the neural set hyperparameters individually for each data set, the prediction accuracy can be improved by 70% - 90%. Mean sMAPE values using individually determined hyperparameters are LSTM: 0.16 (16%), GRU: 0.06 (6%), SRNN: 0.28 (28%). The best results for all three neural networks were obtained by changing the following hyperparameters: using the adagrad optimization function in combination with shuffle = true, increasing the number of epochs to 100 or 200 (Epochs = 200), and reducing the packet size to 10-20 (Batch size = 20). Changing the packet size to a multiple of 5 improved the prediction of the analyzed financial data because the neural network weight matrix is updated by providing the neural network with the number of data samples described by the batch size hyperparameter and all data used for analysis were collected on weekdays.