4.6.Discuții
Această secțiune are scopul de a analiza metodologia aplicată în studiul efectuat și de a compara rezultatele obținute cu cele descrise în alte lucrări similare.
4.6.1.Analiză
Având în vedere toate experimentele efectuate pentru acest studiu, nu putem deduce care ar fi setul optim de parametri care ar trebui folosit ca date de intrare pentru un model care să prezică temperatura atmosferică pentru perioada imediat următoare. Chiar dacă s-au calculat coeficienții de corelație între variabile, s-a observat ca dacă se includ și parametri care nu par corelați cu variabila de ieșire, rezultatele nu sunt mai rele, ci în anumite cazuri s-au obținut rezultate mai bune. O explicatie ar fi faptul ca coeficientii de corelatie calculați sunt de tip Spearman și doar exprimă daca există o relatie de monotonie între variabile. În cazul nostru, ar putea exista o relatie mai complicată între doua variabile care nu este surprinsa de coeficientul de corelatie calculat.
S-ar parea că cele mai bune rezultate sunt date de modelele bazate pe programare genetică. Însă, problema cu programarea genetică este ca expresiile simple care au o valoare de fitness destul de bună iau locul expresiilor mai complicate în populație. Si din cauza aceasta e greu pentru algoritm să formeze o expresie mai complexă, în care să apară mai multe date de intrare și care să dea rezultate mai bune decat expresiile simple.
Modelele bazate pe SVM obțin rezultate bune în toate experimentele și se antrenează repede. Dacă sunt alese valori mai potrivite pentru parametrii algoritmului, s-ar putea obține erori și mai mici decat cele obținute la experimentele efectuate.
În cazul rețelelor neuronale, acestea se antrenează greu și probabil din cauza aceasta nu au ajuns la erori mici în cazul primelor două tipuri de experimente. Este surprinzător faptul ca au dat erori mai mici în experimentele din al treilea grup. În cazul rețelelor neuronale, alegerea valorilor potrivite pentru parametri, cum ar fi numărul de neuroni pe stratul ascuns și rata de învățare, este foarte importantă. Si probabil pentru primele două grupuri de experimente există un set de valori mai optim pentru parametri, care să dea rezultate similare celor obținute în al treilea grup de experimente.
4.6.2.Comparații cu lucrări anterioare
Comparând rezultatele obținute în experimentele efectuate în acest studiu cu rezultatele din [11], putem observa că erorile în cazul nostru sunt puțin mai mari decât erorile descrise în lucrarea respectivă. Acest lucru poate fi explicat de faptul cî teritoriul analizat în cazul nostru, orașul Cluj-Napoca, este mult mai mare decât teritoriul Universității Cambridge, studiat în [11]. O altă differență importantă este că noi studiem previziunea temperaturii medii, pe când [11] studiază previziunea temperaturii maxime pentru următoarea zi.
În lucrarea [21], valorile MAE obținute pentru LR, LMS, M5P și MLP sunt între 10 și 20 Fahrenheit. Aceste valori sunt mai bune decat o eroare MSE între 16 și 20, obținute în experimentele noastre. Dar diferenta este că în [21] este previzionată temperatura pentru următoarea oră pentru teritorii mici, pe când în cazul nostru este studiată temperatura medie pentru următoarea zi pentru un oraș întreg.
Erorile medii absolute (MAE) ale tuturor modelelor folosite în experimentele din lucrarea [22] au fost între 1.50C and 20C. Aceste valori sunt comparabile cu o valoare MSE de 16-20 pentru Fahrenheit, dar sunt puțin mai bune, pentru că experimentele din [22] au fost efectuate pentru valori medii ale temperaturii la intervale de o oră.
4.7.Concluzii
În acest studiu am investigat folosirea a trei tehnici de învățare automată: rețele neuronale artificiale, programare genetica și mașini cu suport vectorial, pentru problema previzionarii temperaturii atmosferice. Au fos oferite evaluari experimentale, precum și o analiza comparativă a rezultatelor.
O modalitate prin care se poate îmbunătăți studiul prezicerii temperaturii folosind tehnici de învățare automată este să fie considerat un teritoriu mai mic, pentru ca relațiile dintre variabile vor fi mult mai ușor de identificat pentru algoritmi.
Un alt mod de a obține rezultate mai bune este de a studia seturi de date cu instanțe care să conțină valori pentru intervale mai mici de timp. De exemplu, se pot studia intervale de o oră, în locul intervalelor de o zi, și se poate încerca previziunea temperaturii pentru următoarea oră. Astfel, am putea obține o eroare mai mică.
O direcție de continuare a studiului ar fi folosirea acelorați tehnici de învățare automată pentru prezicerea altor indicatori atmosferici, cum ar fi: viteza vântului, nivelul de precipitații, temperatura apei și presiunea atmosferică.
O altă direcție pentru cercetare ar fi studierea altor tehnici de învățare și aplicarea lor pentru aceeași problemă. Alte tehnici care ar putea fi folosite sunt: locally-weighted regression, rețele RBF s.a.
Capitolul 5. Aplicație practică: Analiza seriilor de timp prin tehnici de învățare automată
În acest capitol, se va descrie o aplicație realizată cu scopul de a studia aplicabilitatea tehnicilor de învățare automată în problema analizei seriilor de timp. Se vor descrie toate etapele de realizare a aplicației, caracteristice dezvoltării oricărui proiect software.
5.1.Enunțul și specificarea problemei
Se dorește realizarea unei aplicații care să ofere instrumentele necesare pentru a experimenta tehnici de învățare automată asupra previzionării seriilor de timp. Aplicația trebuie să includă următoarele funcționalități:
-
Încărcarea unui set de date ce reprezintă o serie de timp dintr-un fișier ales de utilizator. Setul de date este compus dintr-o mulțime de exemple de date care conțin valori pentru un set fixat de variabile. Setul de date și variabilele sunt descrise în fișier. Pentru fiecare variabilă trebuie să fie indicate: numele variabilei, valoarea minimă, valoarea maximă.
-
Generarea tabelului cu coeficienții de corelație Spearman între variabilele din setul de date încărcat.
-
Setarea variabilelor de intrare și a variabilei de ieșire pentru modelul predcitv dorit din mulțimea de variabile descrise în setul de date. De asemenea, trebuie permisă și setarea numărului de instanțe precendente care vor fi folosite ca date de intrare.
-
Implementarea următoarelor tehnici de învățare automată pentru antrenament și testare pe setul de date încărcat: rețele neuronale artificiale de tip feed-forward with backpropagation, programare genetică și mașini cu suport vectorial de tip ε-SVR.
-
Setarea tehnicii dorite pentru model și setarea parametrilor de bază pentru algoritmii de învățare. Mai exact:
-
Rețele neuronale:
-
Numărul de neuroni pe stratul ascuns
-
Rata de învățare
-
Numărul de epoci pentru antrenament
-
Programare genetică
-
Mărimea populației
-
Rata de încrucișare
-
Rata de mutație
-
Numărul de generații
-
Mașini cu suport vectorial
-
Setarea numărului de subseturi în care se va împărți setul de date de antrenament pentru k-fold cross-validation.
-
Antrenarea modelului cu tehnica selectată și întoarcerea mediei și deviației standard pentru erorile obținute.
-
Testarea modelului cu datele de test și generarea unui grafic care să prezinte valorile reale și valorile estimate de model.
-
Salvarea erorilor obținute la antrenament și a valorilor obținute la testare într-un fișier ales de utilizator.
Dostları ilə paylaş: |