Jokien pinnan korkeuden muutoksen ennustaminen
Hukari, Iida (2022)
Hukari, Iida
2022
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2022012610355
https://urn.fi/URN:NBN:fi-fe2022012610355
Tiivistelmä
Tässä diplomityössä käsitellään jokien veden korkeuden muutosten ennustamista käyttäen MLP-neuroverkkoa ennustamisen välineenä. Tutkimus rajattiin vain yhden joen ja tärkeimpien ympäristössä ilmeentyvien muuttujien vaikutuksen tarkasteluun. Joen pinnan muutoksiin vaikuttavat tekijät, jotka ovat ihmiseen sidonnaisia, kuten patovesien juoksuttaminen, ei otettu huomioon. Tavoitteena oli luoda toimiva, muutaman kerroksen neuroverkko, joka kykenisi ennustamaan annetuista muuttujista joen veden pinnan muutokset annetun virhemarginaalin rajoissa.
Työn suorittaminen alkoi tutustumalla esitetyn aiheen toimintaan eli joen virtaaman syntyyn ja vaikutuksiin. Tämä oli tärkeää, jotta kyetään ymmärtämään käsillä olevan ongelman rakennetta, ja jotta ongelma voidaan esittää muuttujien avulla neuroverkolle. Neuroverkkojen rakenteeseen ja taustalla olevaan matematiikan tutustumisen jälkeen voitiin siirtyä itse annetun ongelman: kuinka voidaan neuroverkolla ennustaa joen veden pinnan muutoksia, ratkaisemiseen. Ongelman ratkaisuksi soveltuvaa neuroverkkoa kuvattiin Python- ohjelmointikielellä. Neroverkon luomisen jälkeen sitä testattiin Yhdysvaltain Suurien Järvien alueelta kerätyllä datalla. Data käsiteltiin, jotta se olisi mahdollisimman tarkoituksen mukaista ja sisältäisi mahdollisimman vähän ei-toivottuja piirteitä. Datan käsittelyssä valituista muuttu-jista luotiin datakehys, joka jaettiin kahteen osaan: opettamis- ja testausjoukkoihin. Neuro-verkkoon syötettiin ensimmäisenä opetusjoukko, jonka avulla verkon oppimista ohjaavia painoja säädettiin. Opetusjoukon jälkeen syötettiin testijoukko. Testijoukon on tarkoitus paljastaa onko luotu neuroverkko kyennyt oppimaan ennustamaan joen muutoksia.
Työn tulokset olivat odotusten suuntaisia. Opetusvaiheessa verkko osoitti kykyä yleistää ilmiö kohtalaisesti, ja kykeni ennustamaan testijoukkoa oikein. Vaikka tulokset olivatkin kohtalaisen hyviä annetulla datalla, tulisi neuroverkolle syöttää alkuperäisen aineiston lisäksi myös muilta alueilta kerättyä dataa. Myös neuroverkon rakennetta ja koodausta tulisi tarkastella paremmin. Kuitenkin voidaan todetta, että MLP neuroverkkoja voidaan käyttää jokien pinnan korkeuden ja virtaaman ennustamiseen. Ennustamisen kannalta on tärkeää valita aineisto ja muuttujat huolella sekä kiinnittää huomiota käytettävien funktioiden valintaan.
Työn suorittaminen alkoi tutustumalla esitetyn aiheen toimintaan eli joen virtaaman syntyyn ja vaikutuksiin. Tämä oli tärkeää, jotta kyetään ymmärtämään käsillä olevan ongelman rakennetta, ja jotta ongelma voidaan esittää muuttujien avulla neuroverkolle. Neuroverkkojen rakenteeseen ja taustalla olevaan matematiikan tutustumisen jälkeen voitiin siirtyä itse annetun ongelman: kuinka voidaan neuroverkolla ennustaa joen veden pinnan muutoksia, ratkaisemiseen. Ongelman ratkaisuksi soveltuvaa neuroverkkoa kuvattiin Python- ohjelmointikielellä. Neroverkon luomisen jälkeen sitä testattiin Yhdysvaltain Suurien Järvien alueelta kerätyllä datalla. Data käsiteltiin, jotta se olisi mahdollisimman tarkoituksen mukaista ja sisältäisi mahdollisimman vähän ei-toivottuja piirteitä. Datan käsittelyssä valituista muuttu-jista luotiin datakehys, joka jaettiin kahteen osaan: opettamis- ja testausjoukkoihin. Neuro-verkkoon syötettiin ensimmäisenä opetusjoukko, jonka avulla verkon oppimista ohjaavia painoja säädettiin. Opetusjoukon jälkeen syötettiin testijoukko. Testijoukon on tarkoitus paljastaa onko luotu neuroverkko kyennyt oppimaan ennustamaan joen muutoksia.
Työn tulokset olivat odotusten suuntaisia. Opetusvaiheessa verkko osoitti kykyä yleistää ilmiö kohtalaisesti, ja kykeni ennustamaan testijoukkoa oikein. Vaikka tulokset olivatkin kohtalaisen hyviä annetulla datalla, tulisi neuroverkolle syöttää alkuperäisen aineiston lisäksi myös muilta alueilta kerättyä dataa. Myös neuroverkon rakennetta ja koodausta tulisi tarkastella paremmin. Kuitenkin voidaan todetta, että MLP neuroverkkoja voidaan käyttää jokien pinnan korkeuden ja virtaaman ennustamiseen. Ennustamisen kannalta on tärkeää valita aineisto ja muuttujat huolella sekä kiinnittää huomiota käytettävien funktioiden valintaan.