Kaip matematikai prognozuoja ateitį? (0)
Prognozavimas, tikras, matematinės sistemotyros uždavinys, kuomet duomenys yra realūs reikalauja priimti daug sąlygų ir tvirtinti tam tikrus dalykus, kurie ne visuomet yra tokie, kokie tvirtinami.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Kaip ir kokiu būdu galima gauti pradinius duomenis - išsamiai aiškinome pirmojoje straipsnio dalyje.
Būtent tokie tvirtinimai leidžia nuspėti ateitį, kuri šiaip nenuspėjama, bet su tam tikra tikimybe, kad spėjimas bus netikslus/neteisingas. Sakykime, tokį uždavinį kuriame yra 10000 kintamųjų išsprendus būtų galima gauti beveik tikslią kažkurios ateities nanosekundės prognozę, o gal savaitės, jei tai labai inertiškas objektas, bet vėlgi – daug kintamųjų, daug sąvokų, kas yra trumpas laiko tarpas (toliau epsilon - ε) ir kas yra nesvarbūs kintamieji.
Nesvarbūs kintamieji apibudinami kaip funkcijos su keliais argumentais, esantys pertekliniai argumentai. Tarkime: f(x,k,z,š)=y - jei tai funkcijos f(x,k,z) reikšmė, kur vietoje argumento „š“ rašomas 0, 1 arba µ(„miu“) priklausomai nuo to, kas mažiausiai keičia funkcijos reikšmę ties visomis įmanomomis kitų argumentų reikšmėmis. Sakykime, turime ieškoti tokio dalyko:
Ir su ta ε verte toliau mažiname kintamųjų kiekį. Kai kintamųjų lieka mažai galima lengviau nuspėti ateitį.Bet ar pastebėjote? Praleidau vieną punktą – kaip gi sudaroma tokia funkcija? O toks ir yra straipsnio tikslas, papasakoti apie dabar vieną geriausių prognozavimo metodikų.
Metodika gana aiškiai apsibrėžiama: pirmiausia reikia turėti praeities duomenų (tarkime trijų mėnesių 7:36 autobuso pavėlavimo laikai), po to reikia susidaryti imtį, paimant kas skirtingą skaičių dienų autobuso vėlavimą, nes jei imsime visus duomenis, tai bus nebe prognozavimas, o atkartojimas bei su didesnės apimties duomenimis tai būtų ir nebeaprėpiama; pasirinkta metodika(mūsų atveju evoliucinių algoritmų metodu) atrenkami koeficientai prie pasirinkto tipo funkcijos argumentų ir galiausiai įsistatomas laiko momentas t+1, kur t-paskutinio turimo duomens laiko momentas.
Sakykime autobusas keletą dienų vėluoja, keletą atvažiuoja per anksti. Kokia mums žinoma funkcija pasižymi savybe tai diedėti, tai mažėti? sinα arba cosβ būtų patys paprasčiausi atvejai. Įsistatome laiką į šią funkciją:
Akivaizdu, kad kas tam tikrą laiko momentą, kuris priklauso nuo to, kokį parinksime koeficientą prieš t(θ-Theta) tai arba dažniau kartosis toks pats vėlavimas arba rečiau ir priklausomai nuo koeficiento prieš patį sinusą tai vėlavimas didės arba mažės. Tai yra pats elementariausias (trivialiausias) atvejis, koks tik gali būti neskaitant, kai išvis nėra kitimo. Tokius dėsnius pastebėti nereikia daug matematikos, užtenka žvilgtelėti į laikrodį lipant į autobusą. Bet dauguma sistemų, net ir tas pats vėlavimas, yra daug sudėtingesni, jei norisi žinoti tiksliai. Tad ieškoma gana daug sprendinių, neretai 5-10 koeficientų eiliniams bandymams ir kur kas daugiau dirbant su „koviniais“ duomenimis, kai jau pasitelkiamos brangios pramoninės skaičiavimo sistemos.
Evoliucinis algoritmas: sudaroma (atsitiktinė) imtis iš pradinių duomenų, tada žiūrima ar iš šios imties pagal tam tikrą metodiką išskaičiuotais koeficientais grindžiama funkcija yra gera ar ne. Tai tikrinama pagal vadinamą „kriterijaus funkciją“, t.y. kuomet suskaičiuojama vertė su vienu konstantų rinkiniu, su kitu ir žiūrima su kuriuo yra gaunami geriausi rezultatai, tuomet visa imtis perrenkama ir iš naujo modifikuojama pagal geriausią rezultatą, siekiant imtį padaryti geresnę – išgauti tikslesnius prognozavimo koeficientus. Taip po daugybės kartų (čia kaip ir natūralioje evoliucijoje) išlieka tik geriausi taškai ir su jais prognozės būna tiksliausios. Tik skirtingai nuo įprasto uždavinio evoliuciniams algoritmams reikia pasiekti, ne visų taškų pavirtimą vienu, o išsiskirstymą optimaliais, skirtingais atstumais.
Kriterijaus funkcija sudaroma pilno perrinkimo metodika, tai ilgas ir varginantis darbas žmogui, nes reikia daug laukti kol kompiuteris suskaičiuos kriterijaus reikšmę visoms galimoms koeficientų reikšmėms. Bet gaunami rezultatai atperka laukimą. Šiuo metu tai yra bene geriausias universalus algoritmas. Algoritmai nebūna visiškai universalūs, tad kaip ir kiekvieną, reikia šlifuoti ir pritaikyti skirtingiems duomenims, sakykime, krizėms numatyti. Tam reikia naujų idėjų ir skirtingų požiūrio taškų.
Apibendrinant prognozavimą galima padaryti tokią išvadą, kad: reikia atsakingai sudaryti pradinius duomenis, į kuriuos įeina svarbių ir nesvarbių kintamųjų atrinkimas, įvertinus kiekvieno iš jų indėlį į galutinį rezultatą; reikia atsakingai iš pradinių duomenų susidaryti apmokomuosius duomenis; iš apmokomųjų duomenų sudaryti prognozės funkciją, kuri, tikrinant iš pirmos pusės apmokymo duomenų gerai nuspėjo antrąją turimų duomenų pusę. Ir štai, jau turima prognozavimo funkciją, kuri tinka prognozuoti šiam įvykiui. Tik belieka nepamiršti „dėdės“ Lorenco „drugelio efekto“ - net ir dramblio sutraiškytas drugelis Afrikoje, gali sukelti žemės drebėjimą Ispanijoje po 3 metų, tad, kad ir kaip stengtumėmės prognozuoti, reikia nepamiršti net ir menkiausio pradinių duomenų netikslumo įtaką galutiniams rezultatams.
Neatmetus „Drugelio efekto“ prognozavimas būtų atliekamas remiantis tokiu „Akivaizdžiu“ dėsningumu, kuris „yra“ įžvelgiamas pirmajame paveikslėlyje.
Karolis Valickas,
Kauno technologijos universiteto Matematikos ir gamtos mokslų fakulteto (buvusio Fundamentaliųjų mokslų fakulteto),
Taikomosios matematikos studijų programos ketvirto kurso studentas.