Praca

Transkrypt

Praca
Wydział Podstawowych Problemów Techniki
kierunek studiów: Matematyka
specjalność: Matematyka finansowa i ubezpieczeniowa
Praca dyplomowa - magisterska
SZTUCZNA INTELIGENCJA
KONTRA
MODELE STATYSTYCZNE
CZY SIECI NEURONOWE POTRAFIĄ
LEPIEJ PROGNOZOWAĆ CENY ENERGII?
Andrzej Motyka
Promotor:
dr inŜ. Rafał Weron
.......................
imię i nazwisko
Wrocław 2008
ocena
.......................
podpis
Sztuczna inteligencja kontra modele statystyczne
2
Spis treści
Wstęp .......................................................................................................................................... 3
Rozdział 1. Sztuczne sieci neuronowe ....................................................................................... 5
1.1. Biologiczne sieci neuronowe .......................................................................................... 5
1.2. Budowa sztucznego neuronu ........................................................................................... 5
1.3. Funkcje aktywacji ........................................................................................................... 6
1.4. Architektury sieci neuronowych ..................................................................................... 7
1.5. Metody uczenia sieci neuronowych ................................................................................ 8
1.6. Algorytm propagacji wstecznej ....................................................................................... 9
Rozdział 2. Dane ...................................................................................................................... 12
2.1. Zbiór Kalifornia 1999-2000 .......................................................................................... 12
2.2. Zbiór Nord Pool 1998-1999 .......................................................................................... 14
2.3. Zbiór Nord Pool 2003-2004 .......................................................................................... 15
Rozdział 3. Modele .................................................................................................................. 16
3.1. Modele sieci neuronowych ............................................................................................ 16
3.2. Modele statystyczne ...................................................................................................... 18
3.3. Miary wykorzystane do porównania modeli ................................................................. 19
Rozdział 4. Optymalizacja modeli sieci neuronowych ............................................................ 20
4.1. Zbiór Kalifornia 1999-2000 .......................................................................................... 21
4.2. Zbiór Nord Pool 1998-1999 .......................................................................................... 24
4.3. Zbiór Nord Pool 2003-2004 .......................................................................................... 26
Rozdział 5. Porównanie sieci neuronowych i modeli statystycznych ...................................... 28
5.1. Zbiór Kalifornia 1999-2000 .......................................................................................... 28
5.1.1. Porównanie modeli bez prognozy zapotrzebowania ........................................ 28
5.1.2. Porównanie modeli uwzględniających prognozę zapotrzebowania ................ 30
5.1.3. Porównanie wszystkich modeli ........................................................................... 31
5.2. Zbiór Nord Pool 1998-1999 .......................................................................................... 34
5.3. Zbiór Nord Pool 2003-2004 .......................................................................................... 35
Rozdział 6. Podsumowanie ...................................................................................................... 37
Dodatek A. Aplikacja Electricity Price Predictor ................................................................... 39
A.1. Wymagania systemowe aplikacji ................................................................................ 39
A.2. Opis aplikacji ................................................................................................................ 39
A.3. Przygotowanie plików z danymi .................................................................................. 44
Bibliografia............................................................................................................................... 46
Sztuczna inteligencja kontra modele statystyczne
3
Wstęp
W ostatnich dekadach w wielu krajach miał miejsce proces restrukturyzacji rynku energii
elektrycznej. Polegał on na zastępowaniu tradycyjnych procedur sterowania rynkiem energii
przez zasady wolnego rynku. Głównym celem tej transformacji było zmniejszenie cen energii
poprzez wprowadzenie konkurencji [3]. Zmiany te postawiły nowe wyzwania dla uczestników rynku energii. Ceny energii charakteryzują się duŜą zmiennością, co sprawia, Ŝe uczestnicy rynku muszą zabezpieczać się przed ryzykiem związanym z duŜymi ich ruchami.
W związku z tym prognozowanie cen energii stało się dla uczestników rynku energii kluczową czynnością w podejmowaniu decyzji oraz w planowaniu.
Ze względu na horyzont czasowy wyróŜnia się trzy rodzaje prognozowania[16]:
- krótkoterminowe (ang. short-term price forecasting - STPF);
- średnioterminowe (ang. medium-term price forecasting - MTPF);
- długoterminowe (ang. long-term price forecasting - LTPF).
Prognozowanie długoterminowe (LTPF) jest stosowane przede wszystkim w planowaniu
i analizie opłacalności inwestycji. Prognozy tego typu mogą być przydatne np. do określenia
nowych lokalizacji elektrowni lub źródeł surowców wykorzystywanych do produkcji energii.
Horyzont czasowy tych prognoz obejmuje z reguły kilka lat. Prognozowanie średnioterminowe (MTPF) jest wykorzystywane m.in. do zarządzania ryzykiem związanym ze zmiennością
cen energii oraz do wyceny instrumentów pochodnych. Horyzont czasowy prognoz średnioterminowych mierzony jest najczęściej w miesiącach. WaŜną rolę na rynku energii odgrywają
równieŜ prognozy krótkoterminowe (STPF). Ich horyzont czasowy obejmuje okresy od kilku
godzin do kilku dni. Prognozy te są wykorzystywane przez elektrownie do planowania produkcji. Z kolei dla konsumentów na rynku energii przydają się one do określenia strategii
kupna energii[18].
Rozwinięto wiele metod słuŜących do prognozowania cen energii elektrycznej. RóŜne
podejścia moŜna podzielić na następujące grupy[18]: modele oparte na kosztach[12], metody
równowagowe (zwane teŜ metodami opartymi na teorii gier) [5][10][20][21], metody fundamentalne (zwane teŜ strukturalnymi) [2][17], metody ilościowe (zwane teŜ stochastycznymi
lub ekonometrycznymi) [4][8], metody statystyczne [6][7][19] oraz metody sztucznej inteligencji [1][11][15][16][22].
W niniejszej pracy skupiono się na krótkoterminowym prognozowaniu cen energii za
pomocą sieci neuronowych – najpopularniejszej metody sztucznej inteligencji. Celem pracy
jest porównanie dokładności prognoz uzyskanych za pomocą sztucznych sieci neuronowych
z prognozami otrzymanymi przy uŜyciu modeli statystycznych. Zakres pracy objął empiryczną analizę rynków energii, implementację róŜnych modeli sieci neuronowych, ich kalibrację
na historycznych danych dotyczących cen energii oraz krótkoterminowe prognozowanie cen.
Finalnym punktem pracy jest porównanie otrzymanych prognoz z prognozami uzyskanymi za
pomocą modeli statystycznych. W przypadku modeli statystycznych wykorzystano wyniki
opublikowane w literaturze. W ramach pracy została napisana aplikacja Electricity Price Predictor, za pomocą której badano modele sieci neuronowych. Aplikacja pozwala na kalibrację
sieci neuronowych, prognozowanie cen energii oraz obliczanie błędów predykcji. Dokładny
opis aplikacji został zamieszczony w Dodatku A.
Praca składa się z dwóch zasadniczych części: teoretycznej i praktycznej. Część teoretyczna obejmuje rozdział 1., natomiast część praktyczna – rozdziały 2. – 5. W rozdziale 1.
przedstawiono podstawy teoretyczne sieci neuronowych. Rozdział drugi zawiera opis danych,
które wykorzystano w eksperymentach. W trzecim rozdziale przedstawiono specyfikacje modeli sieci neuronowych i modeli statystycznych, które wykorzystano w pracy. Rozdział ten
prezentuje równieŜ miary, które zastosowano do porównania prognoz otrzymanych za pomocą róŜnych modeli. W rozdziale 4. zaprezentowano wyniki optymalizacji modeli sieci neuro-
Sztuczna inteligencja kontra modele statystyczne
4
nowych ze względu na liczbę i rodzaj wejść oraz ze względu na liczbę neuronów w warstwie
ukrytej sieci neuronowych. Rozdział 5. zawiera natomiast porównanie prognoz otrzymanych
za pomocą zoptymalizowanych modeli sieci neuronowych oraz modeli statystycznych. Ostatnim rozdziałem tej pracy jest rozdział 6., w którym zawarte zostały ogólne podsumowania
i wnioski wynikające z przeprowadzonych badań.
Sztuczna inteligencja kontra modele statystyczne
5
Rozdział 1. Sztuczne sieci neuronowe
Rozdział ten jest poświęcony sieciom neuronowym – popularnym narzędziom sztucznej inteligencji, które wykorzystano w niniejszej pracy. Przedstawiono w nim matematyczne podstawy sieci neuronowych, ich architektury oraz metody ich trenowania.
1.1. Biologiczne sieci neuronowe
Sztuczne sieci neuronowe są wzorowane na biologicznych strukturach nerwowych. Biologiczna sieć neuronowa jest zbudowana z wielu połączonych komórek nerwowych zwanych
neuronami (Rys. 1.1.). Neurony komunikują się między sobą przesyłając sygnały elektryczne.
Podstawowe elementy składowe neuronu to:
• dendryty (ang. dendrites) – odbierają sygnały od innych neuronów lub receptorów (receptory przekształcają bodźce pochodzenia zewnętrznego na sygnały elektryczne);
• ciało komórki (ang. cell body) – agreguje sygnały wejściowe i wytwarza odpowiedni
sygnał wyjściowy;
• akson (ang. axon)– przekazuje sygnał wyjściowy do innych komórek nerwowych.
Połączenie między aksonem jednej komórki a dendrytem innej nosi nazwę synapsy. Siła sygnału elektrycznego przechodzącego przez synapsę ulega zmianie zaleŜnie od właściwości
tego połączenia.
Rys. 1.1. Budowa biologicznego neuronu
(źródło: www.kensbiorefs.com/humphy.html)
1.2. Budowa sztucznego neuronu
Rysunek 1.2. przedstawia schemat budowy sztucznego neuronu. Wagi są liczbami rzeczywistymi z zakresu [-1;1] odpowiadającymi połączeniom synaptycznym. Blok sumujący oraz
blok aktywacji pełnią natomiast rolę ciała komórki nerwowej. Działanie sztucznego neuronu
moŜna opisać w następujących punktach.
1) Do neuronu docierają sygnały wejściowe pochodzące z zewnątrz lub z wyjść innych neuronów
2) Sygnały są przemnaŜane przez odpowiednie wartości wag, co odpowiada przejściu sygnału elektrycznego przez synapsę w biologicznym neuronie.
Sztuczna inteligencja kontra modele statystyczne
6
3) WaŜone wartości sygnałów wejściowych są sumowane w bloku sumującym.
Od otrzymanej sumy odejmowana jest wartość progowa charakterystyczna dla danego
neuronu. Wartość ta odpowiada minimalnemu pobudzeniu, jakiemu musi zostać poddany
neuron, aby został on uaktywniony. Po odjęciu wartości progowej otrzymuje się tzw. wartość pobudzenia neuronu.
4) W bloku aktywacji obliczana jest wartość funkcji aktywacji od wartości pobudzenia neuronu. Otrzymana w ten sposób liczba stanowi wartość wyjściową neuronu.
Rys. 1.2. Budowa sztucznego neuronu
Matematycznie działanie sztucznego neuronu moŜna opisać następującym wzorem:
 N

y = f  ∑ w j x j − θ  ,
 j =1

(1.1)
gdzie:
N – liczba wejść do neuronu,
xj – wartość j-tego sygnału wejściowego (j = 1, 2, ..., N),
wj – j-ta waga neuronu (j = 1, 2, ..., N),
θ – wartość progowa pobudzenia neuronu,
f(x) – funkcja aktywacji neuronu,
y – wartość wyjściowa.
Sieć neuronowa jest zbiorem połączonych neuronów. Zadaniem większości sieci neuronowych jest aproksymacja pewnego odwzorowania danych wejściowych na wyjściowe.
Aby sieć realizowała właściwe odwzorowanie, naleŜy dobrać odpowiednie wartości jej wag.
Proces ustalania wartości wag nosi nazwę uczenia (trenowania) sieci.
1.3. Funkcje aktywacji
Funkcja aktywacji neuronu moŜe przyjmować róŜne formy w zaleŜności od zadania, jakie ma
on wykonywać. Najpopularniejszymi funkcjami są funkcje skokowe oraz sigmoidalne. Funkcja skokowa moŜe być typu unipolarnego lub bipolarnego. Funkcja unipolarna przyjmuje
wartości 0 i 1, natomiast bipolarna – wartości -1 i 1. Stosuje się je w sieciach, w których na
wyjściach neuronów sygnały mają przyjmować dwie wartości dyskretne.
Skokowe funkcje aktywacji utrudniają jednak uczenie sieci ze względu na to, Ŝe nie są
one róŜniczkowalne w punktach skoku. RóŜniczkowalność funkcji aktywacji jest wymagana
np. w algorytmach gradientowych, które są obecnie najefektywniejszą metodą uczenia sieci
neuronowych. Do algorytmów gradientowych zalicza się m.in. propagację wsteczną, która
zostanie omówiona w dalszej części tego podrozdziału. Problem braku róŜniczkowalności
Sztuczna inteligencja kontra modele statystyczne
7
rozwiązuje się poprzez aproksymację funkcji skokowych tzw. funkcjami sigmoidalnymi,
które są róŜniczkowane na całym zbiorze liczb rzeczywistych. Funkcja sigmoidalna unipolarna przyjmuje dowolne wartości z przedziału (0,1), natomiast bipolarna przyjmuje dowolne
wartości z przedziału (-1,1). Funkcję sigmoidalną unipolarną definiuje się najczęściej następująco:
1
f u ( x) =
,
(1.2)
1 + exp(− βx)
a bipolarną tak:
f b ( x ) = tgh ( β x) ,
(1.3)
lub tak:
f b ( x ) = 2 f u ( x) − 1 .
Wzory te zaczerpnięto z publikacji [13].
(1.4)
1.4. Architektury sieci neuronowych
Architektura sieci neuronowej określa sposób połączenia neuronów wchodzących w jej skład
oraz sposób przekazywania sygnałów pomiędzy neuronami. Architektura sieci jest ściśle powiązana ze sposobem jej uczenia. PoniŜej przedstawiono podstawowe architektury sieci neuronowych: jednokierunkową sieć jednowarstwową oraz jednokierunkową sieć wielowarstwową.
Sieć jednokierunkowa jednowarstwowa
Jednowarstwowa jednokierunkowa sieć zbudowana jest z jednej warstwy neuronów zwanej
warstwą wyjściową oraz poprzedzającej ją warstwy wejściowej składającej się z wejść do tej
sieci (Rys. 1.3.). Pomiędzy warstwą wejściową a wyjściową występuje najczęściej pełne połączenie, tzn. kaŜdy węzeł wejściowy jest połączony z kaŜdym neuronem wyjściowym. Przepływ sygnałów następuje w jednym kierunku. Sygnały wejściowe podawane są z warstwy
wejściowej do neuronów warstwy wyjściowej. Neurony warstwy wyjściowej wytwarzają następnie sygnały wyjściowe [13].
Rys. 1.3. Sieć neuronowa jednokierunkowa
jednowarstwowa
(źródło: [23])
Sztuczna inteligencja kontra modele statystyczne
8
Sieć jednokierunkowa wielowarstwowa
Sieć jednokierunkowa wielowarstwowa złoŜona jest z wielu warstw. Pierwsza z nich
to warstwa wejściowa składająca się z wejść do sieci, a ostatnia to warstwa wyjściowa zbudowana z neuronów. Pomiędzy nimi występuje co najmniej jedna warstwa neuronów pośrednicząca w przekazywaniu sygnałów wejściowych między węzłami wejściowymi a warstwą
wyjściową. Warstwę tą nazywa się warstwą ukrytą. Rysunek 1.4. przedstawia przykładową
sieć dwuwarstwową (z jedną warstwą ukrytą). Połączenia pomiędzy kolejnymi warstwami
mogą być pełne (kaŜde wyjście warstwy poprzedzającej jest połączone ze wszystkimi neuronami warstwy kolejnej) lub częściowe (brak niektórych połączeń występujących w połączeniu
pełnym). Przepływ sygnałów następuje w jednym kierunku: od warstwy wejściowej, poprzez
kolejne warstwy ukryte neuronów i warstwę wyjściową [13].
Przy stosowaniu tego typu sieci neuronowych pojawia się problem wyboru właściwej
liczby warstw ukrytych oraz liczb neuronów w poszczególnych warstwach. Z twierdzenia
Kołmogorowa dotyczącego ogólnej teorii aproksymacji wynika, Ŝe dowolną funkcję ciągłą
przekształcającą N-wymiarowy wektor wejściowy w M-wymiarowy wektor wyjściowy moŜna aproksymować siecią dwuwarstwową przy uŜyciu co najwyŜej (2N+1) neuronów
w warstwie ukrytej [13]. Twierdzenie to ma swoje odzwierciedlenie w praktyce, poniewaŜ
okazuje się, Ŝe do większości problemów sieci o jednej warstwie ukrytej dają najlepsze rezultaty.
Rys. 1.4. Sieć neuronowa jednokierunkowa dwuwarstwowa
(źródło: [23])
1.5. Metody uczenia sieci neuronowych
Uczenie sieci neuronowej ma na celu takie ustalenie wartości wag poszczególnych jej neuronów, aby przekształcała ona odpowiednio dane wejściowe w wyjściowe. Uczenie polega na
wielokrotnym powtarzaniu cyklu, w którym wagi sieci są modyfikowane. Kolejne modyfikacje wag mają przyczyniać się do lepszego dostosowania sieci do zadania, które ma ona wykonywać. WyróŜnia się trzy podstawowe podejścia do uczenia sieci neuronowych: uczenie nadzorowane (ang. supervised learning), uczenie z krytykiem lub wzmocnieniem (ang. reinforcement learning) oraz uczenie nienadzorowane (ang. unsupervised learning)[14].
W przypadku uczenia nadzorowanego dane uczące są parami składającymi się
z wektorów wejściowych oraz odpowiadających im wektorów wyjściowych. Uczenie polega
na takim modyfikowaniu wartości wag sieci, aby potrafiła ona odwzorowywać wektory wej-
Sztuczna inteligencja kontra modele statystyczne
9
ściowe w wyjściowe z zadaną dokładnością. Najczęściej modyfikację wag przeprowadza się
w taki sposób, aby minimalizować określoną funkcję oceny.
W uczeniu z krytykiem w kaŜdym cyklu uczenia odpowiedź sieci na dany wektor wejściowy ocenia się jako pozytywną lub negatywną. JeŜeli sieć odpowiada pozytywnie,
to modyfikuje się wagi w ten sposób, aby wzmocnić działanie sieci w tym kierunku. JeŜeli
natomiast sieć daje odpowiedź negatywną, to modyfikacja wag ma na celu zmniejszenie działania sieci w danym kierunku.
Uczenie nienadzorowane charakteryzuje się natomiast tym, Ŝe dla podawanych wektorów wejściowych nie Ŝąda się odpowiednich wartości zwracanych przez sieć, ani nie ocenia
się, czy odpowiedzi sieci są pozytywne, czy negatywne. Podaje się jedynie wartości wejściowe, a sieć sama, zaleŜnie od specyfiki metody uczenia, znajduje pewne zaleŜności
w otrzymywanych danych.
1.6. Algorytm propagacji wstecznej
Najpopularniejszym algorytmem uczenia sieci neuronowych jest algorytm propagacji wstecznej. Zalicza się go do algorytmów uczenia nadzorowanego. Jest on przeznaczony
do trenowania sieci jednokierunkowych wielowarstwowych zwanych teŜ perceptronami wielowarstwowymi.
Propagacja wsteczna polega na iteracyjnym przetwarzaniu poszczególnych wzorców
pochodzących ze zbioru uczącego z jednoczesnym porównywaniem odpowiedzi sieci
na kolejne dane wejściowe z Ŝądanymi wartościami wyjściowymi. Dla kaŜdego wzorca uczącego wagi sieci są modyfikowane tak, aby minimalizować błąd pomiędzy odpowiedziami
sieci a wartościami Ŝądanymi. Ze względu na konieczność obliczania pochodnych funkcji
aktywacji w algorytmie tym przyjmuje się, Ŝe funkcje te są typu sigmoidalnego (patrz wzory:
(1.2), (1.3) i (1.4)).
Błąd między wartościami Ŝądanymi a otrzymywanymi na wyjściu sieci dla wszystkich
wzorców uczących mierzy się za pomocą tzw. funkcji celu. Niech {(xp,yp)}p=1,2,...,P będzie
zbiorem wzorców uczących, gdzie xp jest p-tym wektorem wejściowym, a yp – odpowiadającym mu wektorem wyjściowym. Niech xp=[xp1, xp2,..., xpN] oraz yp=[yp1, yp2,..., ypM]. Ponadto
o
o
o
o
niech o p = [o p1 ,o p 2 ,...,opM ] będzie odpowiedzią sieci na p-ty wzorzec wejściowy. Funkcję
celu definiuje się najczęściej w postaci:
1 P M
E = ∑∑ ( y pk − o opk ) 2 .
(1.5)
2 p =1 k =1
PoniŜej przedstawiony został algorytm propagacji wstecznej dla dwuwarstwowego
perceptronu. Algorytm opracowano na podstawie pozycji [9]. W opisie algorytmu wykorzystuje się następujące oznaczenia:
N - liczba wejść sieci,
L - liczba neuronów warstwy ukrytej,
M - liczba neuronów warstwy wyjściowej,
P - liczba wzorców uczących,
x p - p-ty wektor wejściowy, xp =[xp1, xp2,..., xpN],
whji - i-ta waga j-tego neuronu warstwy ukrytej,
θ hj - wartość progowa pobudzenia j-tego neuronu warstwy ukrytej,
f jh - funkcja aktywacji j-tego neuronu warstwy ukrytej,
10
Sztuczna inteligencja kontra modele statystyczne
f jh' - pochodna funkcji aktywacji j-tego neuronu warstwy ukrytej,
wkjo - j-ta waga k-tego neuronu warstwy wyjściowej,
θ ko - wartość progowa pobudzenia k-tego neuronu warstwy wyjściowej,
f ko - funkcja aktywacji k-tego neuronu warstwy wyjściowej,
f ko ' - pochodna funkcji aktywacji k-tego neuronu warstwy wyjściowej,
η - współczynnik uczenia (liczba rzeczywista z przedziału (-1;1)).
Inne oznaczenia zostały wyjaśnione w opisie algorytmu.
Algorytm
1) Zainicjować wagi i wartości progowe dla wszystkich neuronów sieci oraz ustalić ε - dopuszczalny błąd na wyjściu sieci (ustalenie początkowych wartości wag i wartości progowych
polega najczęściej na wylosowaniu ich wartości).
2) Podać na wejście sieci kolejny p-ty wektor wejściowy xp.
3) Dla kaŜdego neuronu w warstwie ukrytej obliczyć wartość pobudzenia:
N
i hj = ∑ w hji x pi + θ jh .
(1.6)
4) Dla kaŜdego neuronu w warstwie ukrytej obliczyć wartość sygnału wyjściowego:
o hj = f jh (i hj ) .
5) Dla kaŜdego neuronu w warstwie wyjściowej obliczyć wartość pobudzenia:
(1.7)
i =1
L
iko = ∑ wkjo o hj + θ ko .
(1.8)
j =1
6) Dla kaŜdego neuronu w warstwie wyjściowej obliczyć wartość sygnału wyjściowego:
o ko = f ko (i ko ) .
(1.9)
7) Dla kaŜdego neuronu w warstwie wyjściowej obliczyć błąd wartości pobudzenia:
δ ko = ( y k − o ko ) f ko ' (i ko ) .
(1.10)
8) Dla kaŜdego neuronu w warstwie ukrytej obliczyć błąd wartości pobudzenia:
M

δ hj =  ∑ δ ko wkjo  f jh ' (i hj ) .
(1.11)
 k =1

9) Uaktualnić wagi w warstwie wyjściowej:
wkjo (t + 1) = wkjo (t ) + ηδ ko o hj .
(1.12)
10) Uaktualnić wagi w warstwie ukrytej:
whji (t + 1) = whji (t ) + ηδ jh x pi .
(1.13)
11) Obliczyć błąd odpowiedzi sieci dla p-tego wzorca:
1 M
E p = ∑ ( y pk − oko ) 2 .
(1.14)
2 k =1
12) JeŜeli wyczerpał się zbiór wzorców uczących, przejść do kroku 13. W przeciwnym wypadku przejść do kroku 2.
13) Obliczyć sumaryczny błąd odpowiedzi sieci dla wszystkich wzorców uczących:
P
E = ∑ Ep .
p
(1.15)
Sztuczna inteligencja kontra modele statystyczne
11
14) JeŜeli E ≤ ε , to zakończyć uczenie. W przeciwnym wypadku powtórzyć cały cykl pomijając punkt 1. algorytmu.
W kaŜdym kolejnym cyklu wzorce uczące podaje się w innej kolejności. Zapobiega to uwraŜliwieniu sieci neuronowej na kolejność wzorców. Właściwą wartość współczynnika uczenia
η dobiera się eksperymentalnie. Zbyt duŜe jego wartości powodują, Ŝe sieć nie jest w stanie
dokładnie aproksymować odwzorowania. Natomiast wartości zbyt małe znacznie wydłuŜają
proces trenowania sieci. Eksperymentalnie ustala się równieŜ dopuszczalny błąd na wyjściu
sieci ε . Zbyt duŜa jego wartość sprawia bowiem, Ŝe sieć niedokładnie aproksymuje odwzorowanie. Wartość zbyt mała moŜe spowodować zbytnie dopasowanie sieci do danych treningowych lub moŜe sprawić, Ŝe warunek stopu (patrz punkt 14. algorytmu) nigdy nie zostanie
spełniony.
Sztuczna inteligencja kontra modele statystyczne
12
Rozdział 2. Dane
Do eksperymentów wykorzystano dane pochodzące z dwóch rynków energii: rynku kalifornijskiego oraz rynku Nord Pool. Identycznych danych uŜyto w artykule [19], w którym opublikowano wyniki prognoz dla modeli statystycznych. Do eksperymentów wybrano te same
zbiory danych, aby móc porównać sieci neuronowe i wykorzystane w publikacji [19] modele
statystyczne w kontekście prognozowania cen energii.
Dane dotyczące rynku kalifornijskiego obejmują ceny energii oraz wielkości zapotrzebowania na energię z lat 1999 – 2000. Ceny na tym rynku są zróŜnicowane: występują zarówno ustabilizowane okresy cen, jak i okresy, w których pojawiają się ekstremalne piki. Dane z rynku Nord Pool cechuje natomiast zdecydowanie mniejsza zmienność. Energia na tym
rynku pochodzi głównie z elektrowni wodnych, co sprawia, Ŝe ceny są zaleŜne nie tylko od
zapotrzebowania na energię, ale równieŜ od wielkości rezerw wody. W przypadku rynku
Nord Pool wykorzystano dane z dwóch okresów: pierwszy obejmuje lata 1998 – 1999, a drugi
- lata 2003 – 2004. W okresie pierwszym występowały duŜe rezerwy wody, natomiast w drugim – małe[19].
2.1. Zbiór Kalifornia 1999-2000
Zbiór ten zawiera godzinne ceny MCP (ang. Market Clearing Prices) z giełdy energii California Power Exchange, godzinne wartości zapotrzebowania na energię na rynku kalifornijskim oraz prognozy zapotrzebowania wybiegające jeden dzień w przyszłość. Wartości tych
prognoz są publikowane przez instytucję California Independent System Operator (CAISO).
Ceny energii moŜna pobrać ze strony internetowej instytutu UCEI (www.ucei.berkeley.edu),
natomiast prognozy zapotrzebowania - ze strony internetowej CAISO (oasis.caiso.com.pl).
Rysunek 2.1. przedstawia wykresy cen energii oraz zapotrzebowania. Wykres prognozy zapotrzebowania nie został przedstawiony, poniewaŜ przy tej rozdzielczości rysunku nie
byłoby widać róŜnicy między nim a wykresem rzeczywistego zapotrzebowania. Dane zostały
podzielone na dwa zakresy: I i II. Zakres I obejmuje dni 5.07.1999 r. – 2.04.2000 r., natomiast
zakres II – dni 3.04.2000 r. – 11.06.2000 r. Dane z zakresu I wykorzystano wyłącznie do kalibracji sieci neuronowych. Dane z zakresu II zastosowano zarówno do kalibracji, jak i do testowania modeli. Dla kaŜdego dnia z drugiego okresu prognozowano godzinne ceny energii
dla dnia następnego. Prognozowanie wykonywano w następujący sposób: jeŜeli prognozowano ceny dla dnia T + 1 (gdzie T + 1 jest pewnym dniem z okresu drugiego), to do kalibracji
modeli wykorzystano dane od początku okresu pierwszego aŜ do dnia T. Jeśli więc T + 1 nie
był pierwszym dniem okresu drugiego, to do kalibracji uŜyto równieŜ dane z okresu drugiego.
Sztuczna inteligencja kontra modele statystyczne
Rys. 2.1. Wykresy cen energii oraz zapotrzebowania dla zbioru Kalifornia 1999-2000
(zbiór obejmuje ceny z dni 5.07.1999 r. – 11.06.2000 r.; źródło: [19])
13
14
Sztuczna inteligencja kontra modele statystyczne
2.2. Zbiór Nord Pool 1998-1999
Zbiór ten zawiera godzinne ceny MCP z nordyckiej giełdy energii Nord Pool. Dane dotyczące
zapotrzebowania na energię nie były dostępne. Rysunek 2.2. przedstawia wykres cen wykorzystanych w badaniach. Wykorzystano ceny z okresu 6.04.1998 r. – 5.12.1999 r. W okresie
tym wybrano cztery okresy testowe przeznaczone do oceny prognoz uzyskiwanych za pomocą sieci neuronowych (Tab. 2.1.). O takim wyborze okresów testowych zadecydowała chęć
sprawdzenia prognoz cen w róŜnych porach roku. W róŜnych porach roku ceny bowiem wykazują odmienne zachowanie.
Rys. 2.2. Wykresy cen energii dla zbioru Nord Pool 1998-1999
(źródło: [19])
Oznaczenie okresu
Okres
II
01.02.1999 r. – 07.03.1999 r.
V
26.04.1999 r. – 30.05.1999 r.
VIII
02.08.1999 r. – 05.09.1999 r.
XI
01.11.1999 r. – 05.12.1999 r.
Tab. 2.1. Okresy testowe dla zbioru danych Nord Pool 1998-1999
Schemat kalibracji i testowania modeli był analogiczny jak w przypadku zbioru Kalifornia
1999–2000. Ceny prognozowano dla dni zawartych w okresach testowych (Tab. 2.1.) Do kalibracji kaŜdego modelu wykorzystano ceny od dnia 6.04.1998 r. aŜ do dnia poprzedzającego
dzień, dla którego prognozowano ceny.
15
Sztuczna inteligencja kontra modele statystyczne
2.3. Zbiór Nord Pool 2003-2004
W eksperymentach wykorzystano równieŜ zbiór danych zawierający ceny pochodzące z rynku nordyckiego z lat 2003-2004. Rysunek 2.3. przedstawia wykres cen z tego zbioru. Wykorzystano ceny z okresu 7.04.2003 r. – 5.12.2004 r. Podobnie jak w przypadku zbioru Nord
Pool 1998–1999 wybrano cztery okresy testowe przeznaczone do oceny modeli. Zostały one
przedstawione w tabeli 2.2. Zastosowano równieŜ ten sam schemat kalibracji i testowania
modeli.
Rys. 2.3. Wykresy cen energii dla zbioru Nord Pool 2003-2004
(źródło: [19])
Oznaczenie okresu
Okres
II
26.01.2004 r. – 29.02.2004 r.
V
26.04.2004 r. – 30.05.2004 r.
VIII
26.07.2004 r. – 29.08.2004 r.
XI
01.11.2004 r. – 05.12.2004 r.
Tab. 2.2. Okresy testowe dla zbioru danych Nord Pool 2003-2004
Sztuczna inteligencja kontra modele statystyczne
16
Rozdział 3. Modele
Rozdział ten zawiera specyfikacje modeli sieci neuronowych, które wykorzystano do prognozowania cen energii. Ponadto opisano w nim modele statystyczne, z którymi porównano sieci
neuronowe w dalszej części pracy. Ostatni podrozdział zawiera opis miar, które wykorzystano
do porównania prognoz otrzymywanych za pomocą róŜnych modeli.
3.1. Modele sieci neuronowych
W eksperymentach wykorzystano sieci neuronowe jednokierunkowe: jednowarstwowe oraz
dwuwarstwowe zwane popularnie perceptronami jedno- i dwuwarstwowymi (patrz Rozdział 1.). Do ich trenowania zastosowano algorytm propagacji wstecznej. Badano sieci
z dwoma funkcjami aktywacji opisanymi wzorami (1.2) i (1.3). Sieci wykorzystujące funkcje
aktywacji postaci (1.3) dawały zdecydowanie lepsze rezultaty i z tego powodu w dalszej części pracy tylko takie sieci rozwaŜono. Wspólną cechą architektury wszystkich badanych sieci
neuronowych jest to, Ŝe wszystkie one miały jeden neuron w warstwie wyjściowej. Na wyjściu tego neuronu otrzymywano prognozę ceny energii na określoną godzinę. Badano natomiast modele z róŜną liczą wejść i róŜnym rodzajem danych podawanych na wejścia. Na wejścia sieci podawano następujące rodzaje danych:
•
•
•
•
•
historyczne ceny energii,
historyczne wartości zapotrzebowania oraz prognozy zapotrzebowania (dane te były
dostępne tylko dla rynku kalifornijskiego),
dzień tygodnia,
godzinę,
minimalną cenę energii spośród cen z dnia poprzedzającego dzień, dla którego wykonywano prognozę.
Za względu na sposób prognozowania wszystkie badane modele moŜna podzielić na dwie
grupy. Modele z pierwszej grupy cechuje to, Ŝe były one kalibrowane oddzielnie dla kaŜdej
godziny tzn. za pomocą raz skalibrowanego modelu naleŜącego do tej grupy prognozowano
cenę tylko dla jednej godziny. śeby więc uzyskać prognozę na wszystkie 24 godziny określonego dnia, trzeba było wykonać 24 razy kalibrację modelu. Modele naleŜące do tej grupy posiadają w nazwach liczbę 1. Modele naleŜące do grupy drugiej były kalibrowane raz dla 24
godziny. Przy uŜyciu raz skalibrowanego modelu z grupy drugiej prognozowano wszystkie 24
ceny dla określonego dnia. JeŜeli do wykonania prognozy ceny na określoną godzinę określonego dnia model wymagał ceny z godziny wcześniejszej tego dnia, na wejście modelu podawano wówczas prognozę ceny wykonaną wcześniej za pomocą tego samego modelu. W nazwach modeli z grupy drugiej występuje liczba 24.
Modele moŜna równieŜ podzielić ze względu na to, czy na ich wejścia podawano wartości
prognozy zapotrzebowania. Modele uwzględniające tę prognozę posiadają w nazwie literę
„X”, natomiast pozostałe modele tej litery w nazwach nie posiadają.
17
Sztuczna inteligencja kontra modele statystyczne
Tabele 3.1. i 3.2. przedstawiają wejścia dla modeli, które uwzględniono w dalszej części
niniejszej pracy. Do opisu wejść wykorzystano następujące oznaczenia:
- logarytm z ceny energii dla godziny t,
- logarytm z prognozy zapotrzebowania dla godziny t,
- zmienna przyjmująca wartość 1, jeŜeli model prognozuje cenę energii dla dnia d,
albo wartość 0, jeŜeli model prognozuje cenę dla dnia innego niŜ d,
- zmienna przyjmująca wartość 1, jeŜeli model prognozuje cenę dla godziny h, albo
wartość 0, jeŜeli model prognozuje cenę dla godziny innej niŜ h,
- minimalna cena energii spośród cen z dnia poprzedzającego dzień, dla którego model prognozuje cenę.
Na wejścia sieci neuronowych podawano zlogarytmowane wartości cen, poniewaŜ znacznie
polepszało to dokładność prognoz (transformacja logarytmiczna zredukowała wariancję cen).
Wartości prognozy zapotrzebowania równieŜ poddano transformacji logarytmicznej, poniewaŜ pomiędzy cenami i prognozami istniała w przybliŜeniu liniowa zaleŜność [19].
Modele MLP1TS, MLP1TSX, MLP24TS oraz MLP24TSX mają takie same wejścia
jak modele szeregów czasowych, z którymi porównano sieci neuronowe. Od tych modeli rozpoczęto badania. Poprzez modyfikacje ich wejść znaleziono modele, które dają lepsze prognozy. Nowe modele oznaczono skrótami: MLP1, MLP1X, MLP24 i MLP24X.
Model
Wejścia
MLP1TS
, , , , , , MLP1TSX
, , , , , , , MLP1
, , , , , Ś , , , , MLP1X
, , , , , Ś , , , , , Tab 3.1. Modele sieci neuronowych kalibrowane oddzielnie dla kaŜdej godziny
Model
Wejścia
MLP24TS
, , , , , , MLP24TSX
, , , , , , , MLP24
, , , , , Ś , , , , , , ,…,
MLP24X
, , , , , Ś , , , , , , ,…,
, Tab 3.2. Modele sieci neuronowych kalibrowane raz dla 24 godzin
Sztuczna inteligencja kontra modele statystyczne
18
3.2. Modele statystyczne
W niniejszej pracy porównano prognozy cen energii otrzymane za pomocą sieci neuronowych
i modeli statystycznych. Wyniki dla modeli statystycznych pobrano z publikacji [19]. Wykorzystano w niej następujące modele statystyczne:
• model autoregresyjny (ang. autoregressive model ) - AR;
• progowy model autoregresyjny (ang. threshold autoregressive model) - TAR;
• powracający do średniej proces skokowej dyfuzji (ang. mean-reverting jump diffusion
process) - MRJD;
• semiparametryczne modele autoregresyjne (ang. semiparametric autoregressive models) - IHMAR i SNAR.
W przypadku kaŜdego z tych modeli uwzględniono dwa warianty: wariant, w którym
uwzględniano prognozę zapotrzebowania oraz wariant, w którym zapotrzebowania nie
uwzględniano. Podobnie jak w przypadku sieci neuronowych modele uwzględniające prognozę zapotrzebowania posiadają w nazwie dodatkową literę „X”. PoniŜej przedstawiono specyfikacje modeli statystycznych.
Modele AR i ARX
Zastosowany model autoregresyjny ARX miał następującą strukturę:
pt = Φ1 pt −24 + Φ 2 pt −48 + Φ 3 pt −168 + Φ 4 mpt +
.
+ Ψ1Z t + d1 DPon + d 2 DSob + d 3 DNd + ε t
(3.1)
W modelu AR Ψ 0. Do estymacji parametrów modeli ARX i AR przyjęto minimalizację
kryterium FPE (ang. Final Prediction Error)[19].
Modele TAR i TARX
Struktura progowego modelu autoregresyjnego TARX ma postać:
pt = Φ1,i pt −24 + Φ 2,i pt −48 + Φ 3,i pt −168 + Φ 4,i mpt +
(3.2)
+ Ψ1,i Z t + d1,i DPon + d 2,i DSob + d 3,i DNd + ε t ,i
gdzie i jest równe 1 (jeŜeli ! 0) lub 2 (jeŜeli " 0), a jest róŜnicą średniej ceny z dnia
poprzedzającego dzień, dla którego prognozowano cenę, oraz średniej ceny sprzed ośmiu dni.
Model TAR otrzymuje się poprzez podstawienie: Ψ,# 0. Parametry estymowano równieŜ
poprzez minimalizację kryterium FPE[19].
19
Sztuczna inteligencja kontra modele statystyczne
Modele MRJD i MRJDX
Model MRJDX dany jest poprzez następujące równanie:
pt = Φ1 pt −24 + Ψ1Zt + d1DPon + d2 DSob + d3 DNd + ε t ,i
(3.3)
gdzie i jest równe 1 (jeŜeli nie było skoku procesu Poissona) lub 2 (jeŜeli wystąpił skok procesu Poissona), $, ~&'0, ( ), $,
~&'*, ( + , ). Przyjmując Ψ 0 otrzymuje się model
MRJD. Parametry modelu oszacowano metodą największej wiarogodności (ML)[19].
Modele IHMAR, IHMARX, SNAR i SNARX
Modele semiparametryczne IHMARX i SNARX miały taką samą strukturę jak model ARX
(patrz wzór (3.1)), a modele IHMAR i SNAR – strukturę taką jak model AR. Dla tych modeli
inaczej natomiast estymowano parametry. W przypadku modeli IHMARX i IHMAR wykorzystano iteracyjny estymator Hsieh-Manskiego, natomiast w przypadku modeli SNARX
i SNAR – wygładzony nieparametryczny estymator ML (ang. smoothed nonparametric ML
estymator)[19].
3.3. Miary wykorzystane do porównania modeli
Do porównania prognoz otrzymanych za pomocą róŜnych modeli zastosowano kilka miar.
NajwaŜniejszą z nich jest miara zwana średnim tygodniowym błędem prognozy. Oznaczana
będzie ona skrótem MWE (ang. Mean Weekly Error). Zdefiniowana jest następująco:
^
Pt − P t
1 168
(3.4)
,
∑
168 t =1 P_
168
gdzie - jest rzeczywistą ceną energii w chwili t, -. jest prognozą ceny energii w chwili t,
a -/ – średnią arytmetyczną cen z całego tygodnia.
Za pomocą miary MWE mierzy się tygodniowy błąd prognozy. PoniewaŜ jednak modele porównywano na przedziałach czasu obejmujących wiele tygodni, wprowadzono trzy
/////// - jest liczona jako
dodatkowe miary bazujące na mierze MWE. Pierwsza z nich - miara MWE
średnia arytmetyczna wartości MWE z poszczególnych tygodni. Drugą miarą jest MDFB
(ang. Mean Deviation From the Best). Jest ona zdefiniowana następująco:
MWE =
345 ∑6E839:#, ; 39:<=>?@AB C?>, D,
6
(3.5)
gdzie i numerem modelu, T jest liczbą tygodni okresu, dla którego modele były porównywane, 39:#, jest wartością miary MWE dla i-tego modelu w t-tym tygodniu,
a 39:<=>?@AB C?>, jest wartością miary MWE dla najlepszego modelu w t-tym tygodniu.
Przez najlepszy model w określonym tygodniu rozumie się model, dla którego MWE przyjmuje najmniejszą wartość. Miara MDFB jest więc równa średniemu odchyleniu wartości
MWE dla danego modelu od wartości MWE dla modelu najlepszego. Trzecia miara nosi nazwę #BEST. Określa ona, dla ilu tygodni określony model był najlepszy (tzn. miał najmniejszą wartość miary MWE).
Sztuczna inteligencja kontra modele statystyczne
20
Rozdział 4. Optymalizacja modeli sieci neuronowych
W rozdziale tym przedstawione zostaną wyniki optymalizacji sieci neuronowych. Optymalizacja objęła znalezienie optymalnej liczby i rodzaju wejść do sieci neuronowych, a takŜe ustalenie optymalnej liczby neuronów w warstwach ukrytych rozwaŜanych sieci.
W przeprowadzonych eksperymentach badano modele z róŜną liczbą i róŜnym rodzajem wejść. Badania rozpoczęto od modeli, które na wejściach otrzymywały takie same dane,
jak modele statystyczne, z którymi sieci neuronowe porównano. Do modeli tych naleŜą:
MLP24TS, MLP24TSX, MLP1TS oraz MLP1TSX. Dokładna specyfikacja tych modeli została umieszczona w rozdziale 3. Liczbę i rodzaj wejść w tych modelach modyfikowano
i sprawdzano, jak wpływa to na dokładność prognoz. Ostatecznie udało się znaleźć modele,
które dają prognozy dokładniejsze niŜ modele wzorowane na modelach szeregów czasowych.
Znalezione modele oznaczono skrótami: MLP24, MLP24X, MLP1 oraz MLP1X.
W optymalizacji modeli wzięto teŜ pod uwagę liczbę neuronów w warstwie ukrytej
sieci neuronowych, poniewaŜ wpływa ona na zdolność sieci neuronowych do uogólniania
nabytej wiedzy. Uogólnianie wiedzy polega na tym, Ŝe sieć potrafi skojarzyć nabytą w trakcie
uczenia wiedzę i dawać dobre wyniki na danych, które nie uczestniczyły w procesie uczenia.
O zdolności sieci neuronowej do uogólniania wiedzy decyduje w sposób istotny liczba neuronów w warstwie ukrytej. JeŜeli warstwa ukryta jest zbyt liczna, sieć neuronowa bardzo dokładnie dopasowuje się do danych uczących wykorzystując do tego jedynie część wag. Pozostałe wagi mają natomiast losowe wartości. Sprawia to, Ŝe na nowych danych sieć moŜe dawać niepoprawne wyniki. Zbyt mała liczba neuronów w warstwie ukrytej teŜ niekorzystna,
poniewaŜ liczba wag moŜe być wówczas za mała, aby właściwie aproksymować odwzorowanie. Właściwa liczność warstwy ukrytej zaleŜy w duŜym stopniu od rozwiązywanego problemu. NaleŜy ją dobrać tak, aby na danych testowych sieć dawała moŜliwie najdokładniejsze
wyniki.
W dalszej części tego rozdziału przedstawiona zostanie analiza wpływu liczby neuronów w warstwie ukrytej sieci na wielkość błędów prognozy. Uwzględniono w niej modele
o zoptymalizowanych wejściach (MLP24, MLP24X, MLP1, MLP1X) oraz ich odpowiedniki
wzorowane na modelach statystycznych (MLP24TS, MLP24TSX, MLP1TS, MLP1TSX).
Wyniki dla modeli z drugiej grupy przedstawiono w celu pokazania, Ŝe prognozy uzyskane za
ich pomocą są mniej dokładne niŜ przy uŜyciu modeli z grupy pierwszej. Analizę przeprowadzono oddzielnie dla kaŜdego z trzech zbiorów danych. Dla poszczególnych modeli ustalono
liczby neuronów, dla których dawały one najdokładniejsze prognozy.
21
Sztuczna inteligencja kontra modele statystyczne
4.1. Zbiór Kalifornia 1999-2000
____
MWE
MLP24TS
MLP24
14,6
14,4
14,2
14,0
13,8
13,6
13,4
13,2
13,0
12,8
0
1
2
3
4
5
10
Liczba neuronów
/////// dla modeli MLP24TS i MLP24
Rys. 4.1. Wykres wartości miary 39:
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
____
MWE
MLP24TSX
MLP24X
14,6
14,4
14,2
14,0
13,8
13,6
13,4
13,2
13,0
12,8
0
1
2
3
4
5
10
Liczba neuronów
Rys. 4.2. Wykres wartości miary ///////
39: dla modeli MLP24TSX i MLP24X
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
22
Sztuczna inteligencja kontra modele statystyczne
____
MWE
MLP1TS
MLP1
14,6
14,4
14,2
14,0
13,8
13,6
13,4
13,2
13,0
12,8
0
1
2
3
4
5
10
Liczba neuronów
/////// dla modeli MLP1TS i MLP1
Rys. 4.3. Wykres wartości miary 39:
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
____
MWE
MLP1TSX
MLP1X
14,6
14,4
14,2
14,0
13,8
13,6
13,4
13,2
13,0
12,8
0
1
2
3
4
5
10
Liczba neuronów
Rys. 4.4. Wykres wartości miary ///////
39: dla modeli MLP1TSX i MLP1X
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
Sztuczna inteligencja kontra modele statystyczne
23
Wnioski:
W przypadku zbioru Kalifornia 1999-2000 dla modeli MLP24, MLP24X i MLP1 zaleŜności
błędu prognozy od liczby neuronów w warstwie ukrytej są podobne (Rys. 4.1., Rys. 4.2.
i Rys. 4.3.). Wraz ze wzrostem liczby neuronów błąd początkowo spada, a następnie - po
osiągnięciu minimum – zaczyna wzrastać. Jest to zgodne z oczekiwaniami. Dla zbyt małej
liczby neuronów w warstwie ukrytej sieć moŜe bowiem nie być w stanie wyuczyć się wszystkich zaleŜności występujących w danych historycznych. Natomiast w przypadku zbyt duŜej
liczby neuronów wartości niektórych wag pozostają losowe, co sprawia, Ŝe dla nowych danych sieć taka daje prognozy obarczone większymi błędami. W przypadku modeli MLP24,
MLP24X i MLP1 minimalny błąd predykcji jest osiągnięty dla jednego neuronu w warstwie
ukrytej. Uznano zatem, Ŝe dla zbioru Kalifornia 1999-2000 optymalną liczbą neuronów
w warstwie ukrytej dla tych trzech modeli jest 1. Nieco inną zaleŜność widać w przypadku
modelu MLP1X (Rys. 4.4.). Najdokładniejsze prognozy daje on wtedy, gdy nie posiada
w ogóle warstwy ukrytej. Wraz ze wzrostem liczby neuronów w warstwie ukrytej błąd wykazuje tendencję wzrostową, choć wzrost ten nie jest juŜ tak wyraźny jak w przypadku modeli
MLP24, MLP24X i MLP1. Dla zbioru Kalifornia 1999-2000 przyjęto więc, Ŝe optymalny
model MLP1X nie posiada warstwy ukrytej.
Dla modeli MLP24TS, MLP24TSX, MLP1TS i MLP1TSX zaleŜności błędu prognozy
od liczby neuronów w warstwie ukrytej są analogiczne jak w przypadku odpowiadających im
modeli MLP24, MLP24X, MLP1 i MLP1X (róŜnica polega głównie na wielkości tych błędów). Optymalną liczbą neuronów w warstwie ukrytej dla modeli MLP24TS, MLP24TSX
i MLP1TS jest więc 1, a dla modelu MLP1TSX – 0.
Na kaŜdym z rysunków 4.1. – 4.4. widać, Ŝe prawie dla wszystkich badanych liczności
warstwy ukrytej sieci neuronowych, modele MLP24TS, MLP24TSX, MLP1TS, MLP1TSX
dały mniej dokładne prognozy niŜ odpowiadające im modele MLP24, MLP24X, MLP1,
MLP1X. Zdarzyły się co prawda sytuacje, w których dla modelu z pierwszej grupy wartość
/////// była mniejsza niŜ dla odpowiadającego modelu z grupy drugiej. Widać to na
miary MWE
przykład na rysunku 4.4. dla czterech neuronów w warstwie ukrytej. Pomimo to dla optymalnych liczb neuronów w warstwie ukrytej modele z grupy drugiej zawsze dawały dokładniejsze prognozy niŜ modele z grupy pierwszej.
24
Sztuczna inteligencja kontra modele statystyczne
4.2. Zbiór Nord Pool 1998-1999
MLP24TS
MLP24
5,4
5,2
____
MWE
5,0
4,8
4,6
4,4
4,2
4,0
0
1
2
3
4
5
6
7
8
9
Liczba neuronów
/////// dla modeli MLP24TS i MLP24
Rys. 4.5. Wykres wartości miary 39:
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
MLP1TS
MLP1
5,4
5,2
____
MWE
5,0
4,8
4,6
4,4
4,2
4,0
0
1
2
3
4
5
6
Liczba neuronów
/////// dla modeli MLP1TS i MLP1
Rys. 4.6. Wykres wartości miary 39:
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
10
Sztuczna inteligencja kontra modele statystyczne
25
Wnioski:
ZaleŜności błędu predykcji od liczby neuronów w warstwie ukrytej dla modeli z optymalnymi
wejściami (MLP24 i MLP1) są inne niŜ dla danych ze zbioru Kalifornia 1999-2000. Przede
wszystkim minimum błędu prognozy jest osiągnięte dla większej liczby neuronów niŜ
w przypadku zbioru danych pochodzących z Kalifornii. Dla braku warstwy ukrytej oraz dla
jednego neuronu w tej warstwie błędy predykcji są stosunkowo duŜe. Minimum błędu prognozy jest osiągnięte dla pięciu neuronów w przypadku modelu MLP24 i dla 6 neuronów dla modelu MLP1. Obserwuje się jednak, Ŝe dla liczby neuronów znajdującej się w pobliŜu
tych liczb optymalnych róŜnice błędu są bardzo małe. Większa liczba neuronów niŜ w przypadku poprzedniego zbioru sugeruje, Ŝe w danych ze zbioru Nord Pool 1998-1999 istnieją
bardziej skomplikowane zaleŜności niŜ w przypadku zbioru Kalifornia 1999-2000. Stosunkowo proste sieci (zero i jeden neuron w warstwie ukrytej) mogą nie być w stanie się tych
zaleŜności wyuczyć. Ostatecznie dla obu modeli przyjęto liczbę 5 za optymalną liczność warstwy ukrytej dla zbioru danych Nord Pool 1998-1999.
/////// od liczby neuronów
W przypadku modeli MLP24TS i MLP1TS zaleŜność błędu MWE
w warstwie ukrytej jest duŜo słabsza niŜ w przypadku modeli MLP24 i MLP1. Niemniej jednak moŜna zaobserwować, Ŝe dla obu tych modeli minimum błędu predykcji jest osiągnięte
dla trzech neuronów w warstwie ukrytej.
Dla zbioru Nord Pool 1998-1999 przewaga modeli MLP24 i MLP1 nad odpowiadającymi im modelami MLP24TS i MLP1TS jest bardziej widoczna niŜ dla zbioru Kalifornia
1999-2000. Dla wszystkich badanych liczb neuronów w warstwie ukrytej prognozy uzyskane
za pomocą modeli MLP24 i MLP1 były dokładniejsze niŜ prognozy otrzymane przy uŜyciu
modeli odpowiednio MLP24TS i MLP1TS (Rys. 4.5. i Rys. 4.6.).
26
Sztuczna inteligencja kontra modele statystyczne
4.3. Zbiór Nord Pool 2003-2004
____
MWE
MLP24TS
MLP24
4,4
4,2
4,0
3,8
3,6
3,4
3,2
3,0
0
1
2
3
4
5
10
Liczba neuronów
____
MWE
/////// dla modeli MLP24TS i MLP24
Rys. 4.7. Wykres wartości miary 39:
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
MLP1TS
MLP1
2
3
4,4
4,2
4,0
3,8
3,6
3,4
3,2
3,0
0
1
4
5
Liczba neuronów
Rys. 4.8. Wykres wartości miary ///////
39: dla modeli MLP1TS i MLP1
w zaleŜności od liczby neuronów w warstwie ukrytej sieci
10
Sztuczna inteligencja kontra modele statystyczne
27
Wnioski:
///////
Dla modeli MLP24 i MLP1 wraz ze wzrostem liczby neuronów w warstwie ukrytej MWE
początkowo spada, dla dwóch neuronów osiąga minimum, po czym wykazuje tendencję
wzrostową (Rys. 4.7. i Rys. 4.8.). W przypadku modelu MLP24 wzrost ten nie jest silny, natomiast w przypadku modelu MLP1 jest on wyraźny. W oparciu o te spostrzeŜenia ustalono,
Ŝe dla zbioru Nord Pool 2003-2004 optymalną liczbą neuronów w warstwach ukrytych sieci
MLP24 i MLP1 jest 2.
/////// od liczby neuronów w warDla modelu MLP1TS zaleŜności wartości miary MWE
stwie ukrytej są podobne jak dla odpowiadającego mu modelu MLP1 (Rys. 4.8.). Optymalną
liczbą neuronów w warstwie ukrytej jest więc 2. W przypadku modelu MLP24TS optymalną
liczbą neuronów jest 1 (Rys. 4.7.).
RównieŜ na zbiorze danych Nord Pool 2003-2004 lepsze okazały się modele MLP24
i MLP1 (Rys. 4.7. i Rys. 4.8), choć ich przewaga nad modelami MLP24TS i MLP1TS nie jest
juŜ tak wyraźna jak w przypadku poprzedniego zbioru danych. Niemniej jednak naleŜy za/////// w przypadku modeli MLP24 i MLP1 są zdecydowanie
uwaŜyć, Ŝe minimalne wartości MWE
mniejsze niŜ w przypadku modeli odpowiednio MLP24TS i MLP1TS.
Sztuczna inteligencja kontra modele statystyczne
28
Rozdział 5. Porównanie sieci neuronowych i modeli statystycznych
Rozdział ten zawiera porównanie sieci neuronowych i modeli statystycznych w kontekście
prognozowania szeregów czasowych. W porównaniu wykorzystano zoptymalizowane wcześniej modele sieci neuronowych: MLP24, MLP24X, MLP1 oraz MLP1X. Wyniki dla modeli
statystycznych zostały pobrane z publikacji [19]. Wzięto pod uwagę następujące modele statystyczne: AR, ARX, TAR, TARX, MRJD, MRJDX, IHMAR, IHMARX, SNAR oraz
SNARX. Specyfikacja tych modeli została zamieszczona w rozdziale 3.
5.1. Zbiór Kalifornia 1999-2000
W przypadku rynku kalifornijskiego badano zarówno modele nieuwzględniające prognozy
zapotrzebowania, jak i modele, które prognozę tę uwzględniały. W podrozdziale tym porównano oddzielnie modele bez prognozy zapotrzebowania i oddzielnie modele, które otrzymywały na wejściu prognozę zapotrzebowania. Na końcu porównano wszystkie modele razem.
5.1.1. Porównanie modeli bez prognozy zapotrzebowania
W tabeli 5.1. zaprezentowano średnie tygodniowe błędy MWE dla modeli bez prognozy za///////, #BEST i MDpotrzebowania. W jej dolnej części umieszczono równieŜ wartości miar MWE
FB. Wartości te wyznaczono dla kaŜdego modelu na podstawie wartości MWE z wszystkich
dziesięciu tygodni. Rysunek 5.1. prezentuje w sposób graficzny wartości miary MDFB dla
poszczególnych modeli.
Tydzień
AR
TAR
MRJD
IHMAR
SNAR
MLP24
MLP1
1
3,37
5,72
3,74
3,97
4,12
3,90
3,21
2
5,37
7,43
6,11
6,47
7,48
6,99
5,29
3
8,79
11,78
8,88
9,35
10,36
8,75
8,41
4
13,99
13,90
14,16
13,31
13,09
13,79
12,19
5
18,26
18,09
19,13
18,23
17,94
17,04
16,73
6
9,24
9,23
8,53
8,76
8,42
8,50
8,40
7
10,32
11,23
10,15
10,56
10,97
10,50
9,84
8
50,35
47,95
53,62
49,58
46,11
45,45
44,93
9
13,44
13,87
13,87
13,26
14,01
13,41
12,83
10
8,27
8,78
7,94
8,07
9,13
8,28
7,81
///////
FGH
13,96
13,99
15,39
14,01
13,87
13,92
13,35
#JHKL
4
1
0
0
0
1
4
FMNJ
1,00
1,03
2,42
1,05
0,91
0,95
0,38
Tab. 5.1. Średnie tygodniowe błędy prognozy (MWE) dla modeli bez prognozy zapotrzebowania
(błędy najmniejsze w poszczególnych tygodniach zostały pogrubione;
/////// , #BEST i MDFB zostały wyróŜnione ciemniejszym tłem)
najlepsze wartości miar 39:
29
Sztuczna inteligencja kontra modele statystyczne
2,50
MDFB
2,00
1,50
1,00
0,50
0,00
AR
TAR
MRJD
IHMAR
SNAR
MLP24
MLP1
Modele
Rys. 5.1. Wartości miary MDFB dla modeli nieuwzględniających
prognozy zapotrzebowania
Wnioski:
Na rysunku 5.1. widać, Ŝe z dwóch modeli sieci neuronowych: MLP24 i MLP1 zdecydowanie
lepsze wyniki dał model drugi. Model ten dał ponadto dokładniejsze prognozy niŜ wszystkie
rozwaŜane modele statystyczne. Średnie odchylenie od najlepszej prognozy było w jego
przypadku ponad dwukrotnie mniejsze niŜ w przypadku najlepszego modelu statystycznego –
SNAR. Dla modelu MLP1 błąd MWE był najmniejszy czterokrotnie, co stanowi najlepszy
rezultat wśród wszystkich modeli (Tab. 5.1.). Co prawda taki sam rezultat uzyskano dla mo/////// oraz duŜo większe odchylenie MDFB.
delu AR, ale model AR miał duŜo większy błąd MWE
Tak więc naleŜy stwierdzić, Ŝe wśród modeli nieuwzględniających zapotrzebowania, sieci
neuronowe dały lepsze prognozy cen dla rynku kalifornijskiego niŜ modele statystyczne.
Wniosek ten sugeruje, Ŝe sieci neuronowe dobrze prognozują ceny energii, które cechuje duŜa
zmienność. Jak się bowiem okaŜe w dalszej części tego rozdziału, dla cen o mniejszej zmienności sieci neuronowe nie wypadły juŜ tak dobrze.
30
Sztuczna inteligencja kontra modele statystyczne
5.1.2. Porównanie modeli uwzględniających prognozę zapotrzebowania
Tabela 5.2. zawiera średnie tygodniowe błędy MWE dla modeli uwzględniających prognozę
///////, #BEST i MDFB.
zapotrzebowania. W jej dolnej części umieszczono wartości miar MWE
Wartości te wyznaczono dla kaŜdego modelu na podstawie wartości MWE z wszystkich dziesięciu tygodni. Rysunek 5.2. prezentuje wartości miary MDFB dla poszczególnych modeli.
Tydzień
ARX
TARX
MRJDX IHMARX
SNARX
MLP24X
MLP1X
1
3,09
5,26
3,16
3,52
3,51
3,67
3,03
2
5,04
6,87
5,51
6,04
7,23
6,62
4,71
3
8,52
11,21
8,56
9,12
10,38
8,53
8,37
4
13,51
13,56
13,93
12,82
12,43
13,88
11,59
5
17,82
18,45
18,66
17,88
17,60
16,85
16,55
6
8,69
8,59
8,05
8,34
8,72
8,99
8,04
7
9,43
10,07
9,93
9,61
9,99
9,87
9,34
8
48,15
44,77
50,82
47,53
43,94
45,95
43,34
9
13,11
13,12
13,27
13,74
13,02
13,03
12,91
10
7,77
8,17
7,65
7,62
9,47
8,83
7,39
///////
FGH
13,36
13,31
14,67
13,37
13,17
13,69
13,31
#JHKL
5
0
0
1
1
0
3
FMNJ
0,83
0,78
2,14
0,84
0,65
1,16
0,78
Tab. 5.2. Średnie tygodniowe błędy prognozy (MWE) dla modeli uwzględniających prognozę
zapotrzebowania (błędy najmniejsze w poszczególnych tygodniach zostały pogrubione;
/////// , #BEST i MDFB zostały wyróŜnione ciemniejszym tłem)
najlepsze wartości miar 39:
2,50
MDFB
2,00
1,50
1,00
0,50
0,00
ARX
TARX
MRJDX IHMARX SNARX MLP24X MLP1X
Modele
Rys. 5.2. Wartości miary MDFB dla modeli uwzględniających
prognozę zapotrzebowania
Sztuczna inteligencja kontra modele statystyczne
31
Wnioski:
Wśród modeli uwzględniających prognozę zapotrzebowania najmniejsze wartości MWE oraz
MDFB uzyskano za pomocą modelu statystycznego SNARX (Tab. 5.2., Rys. 5.2). Sieć neuronowa MLP1X uplasowała się na drugim miejscu razem z modelem TARX. W odróŜnieniu
od TARX model MLP1X trzykrotnie dał prognozy, dla których wartość MWE była najmniejsza wśród wszystkich badanych modeli (TARX w Ŝadnym tygodniu nie był najlepszy). Nieco
gorsze prognozy niŜ MLP1X dały modele statystyczne: ARX oraz IHMARX. Dopiero za nimi uplasował się model MLP24X. Tak więc wśród modeli uwzględniających na wejściu prognozę zapotrzebowania modele statystyczne SNARX i IHMARX okazały się lepsze od sieci
neuronowych.
5.1.3. Porównanie wszystkich modeli
Podrozdział ten zawiera porównanie wszystkich modeli: zarówno tych, które nie uwzględniały prognozy zapotrzebowania, jak i tych, które tę prognozę uwzględniały. W tabeli 5.3. zaprezentowano średnie tygodniowe błędy MWE dla poszczególnych modeli. W jej dolnej części
///////, #BEST i MDFB. Wartości te wyznaczono dla kaŜdego
zamieszczono wartości miar MWE
modelu na podstawie wartości MWE z wszystkich dziesięciu tygodni. Rysunek 5.3. prezentuje wartości miary MDFB dla poszczególnych modeli.
32
Sztuczna inteligencja kontra modele statystyczne
Tydzień
1
2
3
4
5
6
7
8
9
10
///////
FGH
#JHKL
FMNJ
AR
3,37
5,29
8,41
13,99
18,26
8,40
10,32
50,35
13,44
7,81
13,96
0
2,58
ARX
3,03
4,71
8,37
13,51
17,82
8,04
9,43
48,15
13,11
7,39
13,36
5
1,98
TAR
3,21
5,37
8,79
13,90
18,09
9,24
11,23
47,95
13,87
8,27
13,99
0
2,61
TARX
3,09
5,04
8,52
13,56
18,45
8,69
10,07
44,77
13,12
7,77
13,31
0
1,93
MRJD
5,72
7,43
11,78
14,16
19,13
9,23
10,15
53,62
13,87
8,78
15,39
0
4,01
MRJDX
5,26
6,87
11,21
13,93
18,66
8,59
9,93
50,82
13,27
8,17
14,67
0
3,29
IHMAR
3,74
6,11
8,88
13,31
18,23
8,53
10,56
49,58
13,26
7,94
14,01
0
2,63
IHMARX
3,16
5,51
8,56
12,82
17,88
8,05
9,61
47,53
12,91
7,65
13,37
0
1,99
SNAR
3,97
6,47
9,35
13,09
17,94
8,76
10,97
46,11
14,01
8,07
13,87
0
2,49
SNARX
3,52
6,04
9,12
12,43
17,60
8,34
9,99
43,34
13,74
7,62
13,17
1
1,79
MLP24
4,12
7,48
10,36
13,79
17,04
8,42
10,50
44,93
13,41
9,13
13,92
0
2,54
MLP24X
3,51
7,23
10,38
13,88
16,85
8,72
9,87
43,94
13,02
9,47
13,69
0
2,31
MLP1
3,90
6,99
8,75
12,19
16,73
8,50
9,84
45,45
12,83
8,28
13,35
1
1,97
Tab. 5.3. Średnie tygodniowe błędy prognozy (MWE) dla poszczególnych modeli (błędy najmniejsze w poszczególnych tygodniach zostały pogrubione;
/////// , #BEST i MDFB zostały wyróŜnione ciemniejszym tłem)
najlepsze wartości miar 39:
MLP1X
3,67
6,62
8,53
11,59
16,55
8,99
9,34
45,95
13,03
8,83
13,31
3
1,93
33
Sztuczna inteligencja kontra modele statystyczne
4,50
4,00
3,50
MDFB
3,00
2,50
2,00
1,50
1,00
0,50
0,00
Modele
Rys. 5.3. Wartości miary MDFB dla poszczególnych modeli
Wnioski:
///////
Za tabeli 5.3. i rysunku 5.3. wynika, Ŝe wśród wszystkich modeli najmniejsze wartości MWE
oraz MDFB uzyskano za pomocą modelu statystycznego SNARX. Najlepsza sieć neuronowa
– MLP1X – uplasowała się na drugim miejscu razem z modelem TARX. Trzecie miejsce zajęła sieć neuronowa MLP24X.
Spośród wszystkich czterech badanych modeli sieci neuronowych najdokładniejsze
/////// i MDFB). Na rysunku 5.3. wiwyniki dał model MLP1X (pod uwagę wzięto wartości MWE
dać, Ŝe sieci neuronowe, które dostawały na wejście prognozę zapotrzebowania (MLP24X
i MLP1X) dały lepsze rezultaty niŜ ich odpowiedniki nieuwzględniające zapotrzebowania
(MLP24 i MLP1). Oznacza to, Ŝe prognoza zapotrzebowania na określoną godzinę kolejnego
dnia wpływa na cenę energii z tej godziny. Podanie prognozy zapotrzebowania na wejście
modelu wnosi zatem do niego dodatkowe informacje, które poprawiają dokładność prognozy.
MoŜna równieŜ zauwaŜyć, Ŝe modele kalibrowane oddzielnie na kaŜdą godzinę
(MLP1 i MLP1X) dały prognozy dokładniejsze niŜ modele kalibrowane raz na 24 godziny
(MLP24 i MLP24X). Sieci neuronowe kalibrowane oddzielnie dla kaŜdej godziny odzwierciedlają tylko te zaleŜności występujące w danych uczących, które związane są z jedną godziną. Modele kalibrowane raz na 24 godziny muszą natomiast odzwierciedlać zaleŜności związane z wszystkimi 24 godzinami. Znalezienie modelu prognozującego ceny dla 24 godzin jest
więc trudniejsze, poniewaŜ poszukiwane odwzorowanie danych historycznych na przyszłe
ceny energii jest bardziej skomplikowane. Jedna sieć neuronowa moŜe nie być w stanie wyuczyć się na raz wszystkich zaleŜności związanych z 24 godzinami, co moŜe powodować
gorsze prognozy.
34
Sztuczna inteligencja kontra modele statystyczne
5.2. Zbiór Nord Pool 1998-1999
Dla rynku nordyckiego nie były dostępne dane dotyczące zapotrzebowania. Wobec tego porównano jedynie modele bez zapotrzebowania. Tabela 5.4. zawiera średnie tygodniowe błędy
MWE dla poszczególnych modeli statystycznych i modeli sieci neuronowych. W jej dolnej
///////, #BEST i MDFB. Wartości te wyznaczono dla
części umieszczono takŜe wartości miar MWE
kaŜdego modelu na podstawie wartości MWE z wszystkich 25 tygodni. Na rysunku 5.4.
przedstawiono graficznie wartości miary MDFB dla poszczególnych modeli.
Tydzień
II.1
II.2
II.3
II.4
II.5
V.1
V.2
V.3
V.4
V.5
VIII.1
VIII.2
VIII.3
VIII.4
VIII.5
XI.1
XI.2
XI.3
XI.4
XI.5
///////
FGH
#JHKL
FMNJ
AR
TAR
MRJD
IHMAR
SNAR
MLP24
MLP1
4,88
6,23
4,25
3,72
3,72
4,39
3,57
3,39
4,46
3,27
3,49
3,72
3,26
3,26
3,28
4,37
2,73
2,80
2,64
2,71
2,44
3,87
4,24
3,03
3,65
3,25
2,78
2,67
4,94
5,47
4,58
3,65
4,03
4,13
2,87
4,77
5,25
5,17
4,72
6,73
6,99
4,06
6,20
8,76
6,14
7,10
6,38
6,41
6,06
8,18
11,66
8,49
9,75
9,43
8,81
8,15
6,81
6,91
9,59
6,84
6,94
5,57
4,86
5,29
6,92
5,24
5,75
6,50
6,54
5,04
3,28
3,74
3,23
3,23
5,75
5,70
2,95
4,93
5,86
4,70
4,37
6,10
6,12
4,30
4,01
3,24
4,58
3,67
3,98
3,63
2,86
4,27
3,64
4,18
3,89
3,57
3,31
3,31
2,60
3,04
3,39
2,46
2,87
3,03
2,43
3,18
3,81
2,72
3,01
2,83
2,83
2,58
4,00
3,75
3,69
3,70
3,47
3,37
3,24
2,89
3,51
2,73
2,53
2,69
2,52
2,48
2,29
2,70
2,23
2,14
2,30
2,36
2,05
3,88
3,40
3,71
3,56
3,60
3,42
3,01
4,33
4,43
4,82
4,15
4,04
4,41
4,33
3
4
2
1
4
3
5
0,72
0,82
1,21
0,54
0,43
0,80
0,72
Tab. 5.4. Średnie tygodniowe błędy prognozy (MWE) dla poszczególnych modeli
(błędy najmniejsze w poszczególnych tygodniach zostały pogrubione;
/////// , #BEST i MDFB zostały wyróŜnione ciemniejszym tłem)
najlepsze wartości miar 39:
1,40
1,20
MDFB
1,00
0,80
0,60
0,40
0,20
0,00
AR
TAR
MRJD
IHMAR
SNAR
MLP24
Modele
Rys. 5.4. Wartości miary MDFB dla poszczególnych modeli
MLP1
Sztuczna inteligencja kontra modele statystyczne
35
Wnioski:
Dla zbioru Nord Pool 1998-1999 najlepsze rezultaty dały nieparametryczne modele statystyczne: SNAR i IHMAR (Tab. 5.4., Rys. 5.4.). Sieć neuronowa MLP1 zajęła trzecie miejsce
/////// oraz MDFB). Model
wraz ze statystycznym modelem AR (biorąc pod uwagę miary MWE
MLP1 dał jednak największą wartość miary #BEST. Za jego pomocą uzyskano najmniejsze
wartości MWE aŜ dla pięciu tygodni (jest to najlepszy wynik wśród wszystkich modeli). Sieć
neuronowa MLP24 uplasowała się na kolejnym, czwartym miejscu.
W przypadku tego zbioru danych równieŜ widać przewagę modelu MLP1, który był
kalibrowany oddzielnie dla kaŜdej godziny, nad modelem MLP24 kalibrowanym raz dla 24
godzin. MoŜliwe przyczyny tej obserwacji podano w poprzednim podrozdziale.
5.3. Zbiór Nord Pool 2003-2004
Tabela 5.5. zawiera średnie tygodniowe błędy MWE dla poszczególnych modeli dla zbioru
Nord Pool 2003-2004. Ze względu na brak danych dotyczących zapotrzebowania uwzględniono tylko modele bez dodatkowych wejść związanych z zapotrzebowaniem (podobnie jak
w przypadku zbioru Nord Pool 1998-1999). W dolnej części tabeli umieszczono wartości
///////, #BEST i MDFB. Wartości te wyznaczono dla kaŜdego modelu na podstawie warmiar MWE
tości MWE z wszystkich 25 tygodni. Na rysunku 5.5. zaprezentowano wartości miary MDFB.
Tydzień
II.1
II.2
II.3
II.4
II.5
V.1
V.2
V.3
V.4
V.5
VIII.1
VIII.2
VIII.3
VIII.4
VIII.5
XI.1
XI.2
XI.3
XI.4
XI.5
///////
FGH
#JHKL
FMNJ
AR
TAR
MRJD
IHMAR
SNAR
MLP24
1,79
2,70
3,01
1,71
2,44
1,67
3,08
3,62
4,07
3,01
3,73
2,89
3,17
3,34
4,72
3,25
3,34
3,15
2,09
2,78
2,82
1,94
2,80
1,85
1,89
1,94
2,07
1,66
2,33
1,65
5,95
7,83
6,05
6,30
6,71
5,49
10,87
13,78
11,14
11,34
10,45
10,01
7,67
7,17
7,45
7,49
7,26
5,56
4,05
4,04
3,97
3,83
4,89
3,78
2,30
2,32
2,06
1,75
2,11
1,54
2,78
2,79
3,18
2,69
3,73
2,63
2,96
3,02
2,88
3,07
2,79
2,79
2,09
3,04
2,06
1,82
2,25
1,64
1,78
2,42
2,73
1,69
2,03
1,58
2,33
2,34
3,52
2,28
2,18
1,86
1,95
2,32
2,09
2,71
1,79
1,79
2,59
2,56
3,00
2,56
2,97
2,48
2,71
2,53
2,54
2,46
3,42
2,42
2,14
2,37
2,59
2,24
2,59
2,13
2,31
3,85
2,37
2,35
2,30
2,10
3,33
3,26
4,05
3,25
3,22
3,65
0
6
2
4
9
1
0,37
0,31
1,10
0,30
0,27
0,70
Tab. 5.5. Średnie tygodniowe błędy prognozy (MWE) dla poszczególnych modeli
(błędy najmniejsze w poszczególnych tygodniach zostały pogrubione;
najlepsze wartości miar ///////
39: , #BEST i MDFB zostały wyróŜnione
ciemniejszym tłem)
MLP1
2,12
4,05
3,39
3,12
2,73
6,25
10,21
7,12
4,97
2,41
3,58
3,34
2,21
2,00
2,36
2,38
2,62
3,08
2,20
2,55
3,63
0
0,68
36
Sztuczna inteligencja kontra modele statystyczne
1,20
1,00
MDFB
0,80
0,60
0,40
0,20
0,00
AR
TAR
MRJD
IHMAR
SNAR
MLP24
MLP1
Modele
Rys. 5.5. Wartości miary MDFB dla poszczególnych modeli
Wnioski:
Na zbiorze danych Nord Pool 2003-2004 obie sieci neuronowe MLP24 i MLP1 dały gorsze
prognozy niŜ cztery modele statystyczne: AR, TAR, IHMAR oraz SNAR (Tab. 5.5.,
Rys. 5.5.). Prognozy uzyskane za pomocą sieci neuronowych były dokładniejsze tylko od
prognoz otrzymanych przy uŜyciu modelu statystycznego MRJD. Ponadto model MLP1 nie
był najlepszy dla Ŝadnego tygodnia. Model MLP24 był najlepszy tylko jeden raz. Gorsze rezultaty w przypadku sieci neuronowych w odniesieniu do modeli statystycznych wynikają
prawdopodobnie z tego, Ŝe ceny dla zbioru Nord Pool 2003-2004 odznaczały się najmniejszą
zmiennością wśród cen z trzech rozwaŜanych zbiorów.
Porównując same modele sieci neuronowych naleŜy stwierdzić, Ŝe na zbiorze danych
Nord Pool 2003-2004 model MLP1 dał prognozy lepsze niŜ model MLP24 (biorąc pod uwagę
/////// i MDFB). Podobna zaleŜność występowała w przypadku pozostałych dwóch
miary MWE
zbiorów danych, dla których wyniki przedstawiono w poprzednich podrozdziałach.
Sztuczna inteligencja kontra modele statystyczne
37
Rozdział 6. Podsumowanie
Podsumowując niniejszą pracę, naleŜy uznać, Ŝe jej cel został osiągnięty. Za pomocą napisanej aplikacji Electricity Price Predictor przeprowadzono szereg eksperymentów, które pozwoliły ocenić róŜne modele sieci neuronowych w kontekście prognozowania cen energii
elektrycznej. Ostatecznie sieci neuronowe porównano z modelami statystycznymi, co stanowiło główny cel tej pracy.
W pracy wykorzystano popularne sieci neuronowe zwane perceptronami. Badania
pokazały, Ŝe modele sieci neuronowych, które były kalibrowane oddzielnie przed wykonaniem prognozy dla kaŜdej godziny (MLP1 i MLP1X), prognozowały ceny energii dokładniej
niŜ modele, które po jednej kalibracji prognozowały ceny dla 24 godzin określonego dnia
(MLP24 i MLP24X). ZaleŜności te widać w przypadku kaŜdego z trzech wykorzystanych
zbiorów danych. Wynikają one prawdopodobnie z tego, Ŝe znalezienie modelu prognozującego ceny dla 24 godzin jest bardziej skomplikowane. Jedna sieć neuronowa moŜe nie być w
stanie wyuczyć się na raz wszystkich zaleŜności związanych z 24 godzinami, co moŜe powodować gorsze prognozy. Okazało się ponadto, Ŝe uwzględnienie zapotrzebowania na wejściu
sieci neuronowych polepszało dokładność prognoz: na zbiorze Kalifornia 1999-2000 (który
jako jedyny zawierał prognozy zapotrzebowania) model MLP24X prognozował lepiej niŜ
model MLP24, a model MLP1X dawał dokładniejsze prognozy niŜ model MLP1. Oznacza to,
Ŝe prognoza zapotrzebowania na określoną godzinę kolejnego dnia wpływa na cenę energii
dla tej godziny. Uwzględnienie tej prognozy w modelu wnosi do niego dodatkowe informacje, które poprawiają dokładność prognoz. Tak więc jeŜeli nie były dostępne dane dotyczące
prognozy zapotrzebowania (zbiory Nord Pool 1998-1999 oraz Nord Pool 2003-2004), wśród
sieci neuronowych najlepszy okazał się model MLP1. Natomiast w sytuacji, gdy dane dotyczące prognozy zapotrzebowania były dostępne (zbiór Kalifornia 1999-2000), najlepsze prognozy dał model MLP1X.
W oparciu o wyniki zaprezentowane w niniejszej pracy naleŜy negatywnie odpowiedzieć na kluczowe pytanie umieszone w jej tytule: „Czy sieci neuronowe potrafią lepiej prognozować ceny energii?”. Dla wszystkich trzech zbiorów danych, ewidentnie widać, Ŝe zdecydowanym liderem jest statystyczny model SNAR, jeŜeli nie było dostępnych danych dotyczących prognozy zapotrzebowania, oraz jego odpowiednik - SNARX w sytuacji, gdy dostępne były te dane. Nie dominował on jednak zawsze nad sieciami neuronowymi. W porównaniu modeli nieuwzględniających zapotrzebowania dla zbioru danych Kalifornia 1999-2000
okazało się, Ŝe sieć neuronowa MLP24 dała prognozy dokładniejsze od wszystkich modeli
statystycznych (biorąc pod uwagę miary ///////
39: i MDFB). Wśród modeli statystycznych za
modelami SNARX i SNAR uplasowały się modele IHMARX oraz IHMAR. W przypadku
zbioru danych pochodzących z rynku kalifornijskiego modele te dały gorsze wyniki niŜ sieci
neuronowe MLP1X i MLP1, natomiast dla danych z rynku nordyckiego modele te okazały się
być lepsze niŜ sieci neuronowe. Tak więc trudno jednoznacznie stwierdzić, czy sieci neuronowe są od nich lepsze, czy gorsze.
Interesującym wynikiem badań jest to, Ŝe w odniesieniu do modeli statystycznych
sieci neuronowe radzą sobie lepiej z prognozowaniem cen, które cechuje duŜa zmienność.
Świadczy o tym fakt, Ŝe najlepiej wypadły one na zbiorze Kalifornia 1999-2000, dla którego
wszystkie badane modele dawały prognozy obarczone stosunkowo duŜymi błędami. W przypadku tego zbioru danych błędy ///////
39: wahały się bowiem w granicach 13,17% – 14,67%,
podczas gdy dla zbioru Nord Pool 1998-1999 mieściły się one w granicach 4,15% - 4,82%,
a dla zbioru Nord Pool 2003-2004 - w granicach 3,22% - 4,05%. Dla zbioru Nord Pool 20032004, dla którego wszystkie modele osiągały najmniejsze błędy prognozy, sieci neuronowe
wypadły znacznie słabiej od modeli statystycznych niŜ dla zbioru danych z Kalifornii. Okaza-
Sztuczna inteligencja kontra modele statystyczne
38
ły się one gorsze nawet od prostych modeli autoregresyjnych. Dla zbioru Nord Pool 19981999 wypadły juŜ lepiej (porównywalnie z modelami AR i ARX). Sugeruje to, Ŝe modele
sieci neuronowych warto stosować do prognozowania cen w okresach, w których ceny są
zmienne a przez to trudniej prognozowalne.
W ramach tej pracy zbadano najpopularniejsze sieci neuronowe w kontekście prognozowania cen energii elektrycznej. Dobre wyniki prognoz uzyskane za pomocą tych sieci sugerują, Ŝeby kontynuować badania nad zastosowaniem innych sieci neuronowych - sieci
o odmiennych architekturach i innych metodach uczenia. Warto byłoby na przykład sprawdzić, jak z prognozowaniem cen energii radziłyby sobie sieci o radialnych funkcjach bazowych (ang. Radial Basis Functions) czy sieci rekurencyjne. Zastosowanie bardziej zaawansowanych modeli być moŜe przyniosłoby poprawę jakości prognoz.
Sztuczna inteligencja kontra modele statystyczne
39
Dodatek A. Aplikacja Electricity Price Predictor
W ramach pracy dyplomowej została napisana aplikacja Electricity Price Predictor, za pomocą której badano modele sieci neuronowych. UmoŜliwia ona definiowanie modeli sieci neuronowych, ich kalibrację na historycznych danych, prognozowanie cen energii oraz obliczanie
błędów predykcji. Aplikacja została ona zaimplementowana na platformie Microsoft .NET
w języku C#. Dodatek ten zawiera wymagania systemowe aplikacji, opis jej funkcjonalności
oraz instrukcje dotyczące przygotowania dla aplikacji plików z danymi.
A.1. Wymagania systemowe aplikacji
Aplikacja Electricity Price Predictor posiada następujące wymagania systemowe:
• Procesor: Pentium III 400 MHz (lub szybszy);
• System operacyjny: Microsoft Windows 2000 Server SP4, Windows 2000 Professional
SP4, Windows XP SP2, Windows Server 2003 Enterprise Edition lub Standard Edition;
• Pamięć operacyjna: 128 MB (lub więcej);
• Wolna przestrzeń na dysku twardym: 20 MB;
• Napęd CD-ROM lub DVD-ROM;
• Karta graficzna VGA o rozdzielczości 1024x768 (lub większej);
• Monitor o rozdzielczości 1024x768 (lub większej).
Dodatkowo wymagane jest zainstalowane w systemie operacyjnym oprogramowanie: Microsoft .NET Framework 2.0 (lub nowsze).
A.2. Opis aplikacji
Electricity Price Predictor umoŜliwia wczytywanie z pliku tekstowego danych, które wykorzystywane są do trenowania i testowania sieci neuronowych. Pliki z danymi muszą mieć odpowiedni format, który dokładnie przedstawiono w podrozdziale A.3. Dane wczytuje się za
pomocą menu Plik (Rys. A.2.). Po rozwinięciu menu są do wyboru dwie opcje: [Data Godzina Cena] oraz [Data Godzina Cena Zapotrzebowanie] (Rys. A.2.). Pierwszą opcję naleŜy
wybrać jeŜeli plik zawiera daty, godziny i ceny energii. Druga opcja przeznaczona jest do
otwarcia pliku zawierającego dodatkowo prognozę zapotrzebowania na energię elektryczną.
Po wczytaniu danych ceny zostają przedstawione na wykresie (Rys. A.1.). Program
daje moŜliwość określenia zakresu danych uczących i testowych. SłuŜą do tego dwa panele:
Zakres danych uczących i Zakres danych testowych (Rys. A.1.). Data początkowa zakresu
danych testowych jest ustawiana automatycznie na dzień następujący bezpośrednio po ostatnim dniu zakresu danych uczących. Ceny naleŜące do zbioru danych uczących prezentowane
są za pomocą wykresu na zakładce Zbiór uczący (Rys. A.1.), natomiast ceny ze zbioru testowego – na zakładce Zbiór testowy (Rys. A.3.).
Sztuczna inteligencja kontra modele statystyczne
Rys. A.1. Okno główne aplikacji Electricity Price Predictor
Rys. A.2. Rozwinięte menu Plik w oknie głównym aplikacji
40
Sztuczna inteligencja kontra modele statystyczne
41
Rys. A.3. Zakładka Zbiór testowy
Model, który ma być wykorzystany do prognozowania, definiuje się za pomocą panelu
Model (Rys. A.1.). Lista Rodzaj kalibracji znajdująca się na tym panelu pozwala określić, czy
model ma być kalibrowany raz na 24 godziny, czy oddzielnie dla kaŜdej godziny. Za pomocą
przycisku Wejścia modelu otwiera się okno przeznaczone do definiowania wejść modelu
(Rys. A.4.). W oknie tym znajdują się trzy panele: Ceny, Prognozy zapotrzebowania oraz
Dodatkowe dane. Na panelu Ceny za pomocą pola Liczba cen określa się liczbę przeszłych
cen energii, spośród których moŜna następnie za pomocą listy Ceny wybrać te, które mają być
podawane na wejścia modelu. Przycisk Wczytaj ceny pozwala wczytać z pliku numery cen
(wówczas nie trzeba ich definiować za pomocą listy Ceny). Opcja ta przydaje się szczególnie
wtedy, gdy w na wejściach modelu uwzględnia się duŜe liczby cen historycznych. Pole wyboru Logarytm na panelu Ceny, słuŜy do określenia, czy na wejścia modelu mają być podawane
zlogarytmowane wartości cen. Panel Prognozy zapotrzebowania przeznaczony jest do określania tego, które wartości prognozy zapotrzebowania mają być uwzględnione na wejściach
modelu. Budowa tego panelu jest analogiczna do budowy panelu Ceny (Rys. A.4.). Panel Dodatkowe wejścia słuŜy do określenia, czy na wejścia modelu ma być podawana godzina, dzień
tygodnia, minimum z cen z poprzedniego dnia.
Sztuczna inteligencja kontra modele statystyczne
42
Rys. A.4. Okno Wejścia modelu
Aplikacja umoŜliwia określenie nie tylko wejść modelu, ale równieŜ jego parametrów. SłuŜy
do tego przycisk Parametry modelu w oknie głównym aplikacji (Rys. A. 1.). Za jego pomocą
moŜna otworzyć okno Parametry modelu (Rys. A.5.).
Rys. A.5. Okno Parametry modelu
W polu Warstwa ukryta znajdującym się na panelu Liczba neuronów moŜna ustawić liczbę
neuronów w warstwie ukrytej sieci. Dwa pola na panelu Zakres początkowych wartości wag
umoŜliwiają określenie granicy dolnej i górnej zakresu, z którego są losowane wagi neuronów
sieci przed rozpoczęciem trenowania sieci. Panel Parametry uczenia słuŜy do określenia parametrów wpływających na przebieg uczenia sieci neuronowej. MoŜna określić współczynnik
uczenia, epsilon (jeŜeli błąd predykcji w czasie trenowania sieci spadnie poniŜej tej wartości,
to uczenie jest przerywane) oraz liczbę epok.
Po określeniu zakresu danych uczących i testowych oraz parametrów modelu moŜna
rozpocząć kalibrację modelu i prognozowanie. SłuŜy do tego przycisk Prognozuj w oknie
głównym aplikacji (Rys. A.1.). Po naciśnięciu tego przycisku odbywa się prognozowanie cen
energii dla wszystkich dni ze zdefiniowanego okresu testowego. Po zakończeniu prognozowania na zakładce Prognoza znajdującej się w oknie głównym programu prezentowany jest
wykres cen prognozowanych oraz cen rzeczywistych (Rys. A.6.).
Sztuczna inteligencja kontra modele statystyczne
43
Rys. A.6. Zakładka Prognoza
Electricity Price Predictor oblicza równieŜ wartości róŜnych miar błędu prognozy. Wyniki te
są prezentowane na zakładce Miary błędu prognozy (Rys. A.7.). Oddzielnie przedstawione są
wartości miar dziennych (Rys. A.7.) i tygodniowych (Rys. A.8.).
Rys. A.7. Zakładka Miary błędu prognozy (miary dzienne)
Sztuczna inteligencja kontra modele statystyczne
44
Rys. A.8. Zakładka Miary błędu prognozy (miary tygodniowe)
A.3. Przygotowanie plików z danymi
Na płycie CD w folderze Aplikacja/Dane zamieszczone zostały pliki zawierające dane wykorzystane w eksperymentach. Istnieje oczywiście moŜliwość przygotowania nowych plików
zawierających inne dane. Opisany zostanie teraz format, który muszą mieć pliki z danymi,
aby mogły być one poprawnie zinterpretowane przez program Electricity Price Predictor.
Plik z danymi jest plikiem tekstowym. Jego nazwa musi mieć rozszerzenie .txt. Plik
musi zawierać co najmniej jeden wiersz. JeŜeli zawiera więcej niŜ jeden wiersz, to poszczególne wiersze muszą być oddzielone znakiem nowego wiersza i znakiem powrotu karetki.
KaŜdy wiersz pliku zawiera datę, godzinę, cenę energii oraz opcjonalnie prognozę zapotrzebowania na energię dla danej godziny. Data nie moŜe być wcześniejsza niŜ 1 stycznia 1753 r.
i późniejsza niŜ 31 grudnia 9998 r. Data i godzina musi identyfikować nie więcej niŜ jeden
wiersz w pliku. Wiersze nie muszą być posortowane według daty i godziny.
Wiersz pliku z danymi musi mieć jedną z dwóch postaci. JeŜeli plik nie zawiera danych dotyczących zapotrzebowania na energię, to wiersz pliku musi mieć postać:
<data><znaki oddzielające><godzina><znaki oddzielające><cena>
Jeśli natomiast plik zawiera równieŜ prognozy zapotrzebowania, to postać kaŜdego wiersza
pliku musi być następująca:
<data><znaki oddzielające><godzina><znaki oddzielające><cena>
<znaki oddzielające><zapotrzebowanie>
<data> musi mieć format RRRRMMDD (np. 20040101).
45
Sztuczna inteligencja kontra modele statystyczne
Element <znaki oddzielające> jest ciągiem znaków tabulacji i/lub spacji. Musi zawierać
co najmniej jeden znak tabulacji lub spacji. W praktyce najlepiej stosować jeden znak tabulacji lub jeden znak spacji.
<godzina> jest liczbą całkowitą z przedziału [1,24].
<cena> oznacza cenę energii. Wartość ta moŜe być liczbą całkowitą lub rzeczywistą naleŜącą
do przedziału (-1010,1010). <cena> jest ciągiem cyfr. W ciągu tym moŜe wystąpić jedna
kropka oddzielająca część całkowitą liczby od części ułamkowej (np. 23.68).
<zapotrzebowanie> oznacza prognozę zapotrzebowania na energię elektryczną. Wartość
ta moŜe być liczbą całkowitą lub rzeczywistą naleŜącą do przedziału (-1010,1010). Wymagania
dotyczące formatu tej liczby są takie same jak w przypadku ceny.
PoniŜej znajdują się przykłady poprawnych zawartości pliku z danymi (Przykład A.1. i A.2.).
19980402
19980402
19980402
19980402
19980402
19980402
19980402
19980402
1
2
3
4
5
6
7
8
18.6586
13.3844
12.0062
12.0064
17.5827
22.0031
25.0856
25.4924
Przykład A.1. Poprawna zawartość pliku z danymi
zawierającymi ceny energii
19980402
19980402
19980402
19980402
19980402
19980402
19980402
19980402
1
2
3
4
5
6
7
8
18.6586
13.3844
12.0062
12.0064
17.5827
22.0031
25.0856
25.4924
18949
18405
18219.6
18360
19329.87
22023
25077
26367
Przykład A.2. Poprawna zawartość pliku z danymi
zawierającymi ceny energii
oraz prognozy zapotrzebowania
Sztuczna inteligencja kontra modele statystyczne
46
Bibliografia
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
Amjady N., Day-Ahead Price Forecasting of Electricity Markets by a New Fuzzy
Neural Network, IEEE Transactions on Power Systems 21(2), 2006, 887-896
Bunn, D.W., Forecasting loads and prices in competitive power markets,
Proceedings of the IEEE 88(2), 2000, 163-169
Bunn D. W., Modeling Prices in Competitive Electricity Markets, Wiley, 2004
Bunn, D.W., Karakatsani, N., Forecasting electricity prices, EMG Working Paper,
London Business School, 2003
Cabero, J., Baillo, A., Cerisola, S., Ventosa, M., Garcia-Alcalde, A., Peran, F.,
Relano, G., A medium-term integrated risk management model for a hydrothermal
generation company, IEEE Transactions on Power Systems 20(3), 2005, 13791388
Conejo A.J., Contreras J., Espinola R., Plazas M.A., Day-ahead electricity price
forecasting using the wavelet transform and ARIMA models, IEEE Transactions on
Power Systems 20(2), 2005, 1035-1042
Contreras J., Espinola R., Nogales F.J., Conejo A.J., ARIMA models to predict
next-day electricity prices, IEEE Transactions on Power Systems 18(3), 2003, 10141020
Eydeland A.,Wolyniec K., Energy and Power Risk Management, Wiley, Hoboken,
NJ, 2003.
Han J., Kamber M., Data mining: Concepts and Techniques, Morgan Kaufmann,
2000
Hinz, J., Modeling day-ahead electricity prices, Applied Mathematical Finance 10(2),
2003, 149-161
Mandal P., Senjyu T., Funabashi T., Neural networks approach to forecast several
hour ahead electricity prices and loads in deregulated market, Energy Conversion and
Management 47, 2006, 2128–2142
Mielczarski W., Michalik G., Widjaja M., Bidding strategies in electricity markets,
Proceedings of the 21st IEEE International Conference Power Industry Computer
Applications PICA'99, 1999, 71-76
Osowski S., Sieci neuronowe w ujęciu algorytmicznym, WNT, 1996
Palit A., Popovic D., Computational Intelligence in Time Series Forecasting: Theory
and Engineering Applications, Springer, 2005
Rodriguez C.P., Anders G.J., Energy price forecasting in the Ontario competitive
power system market, IEEE Transactions on Power Systems 19(1), 2004, 336-374
Shahidehpour M., Yamin H., Zuyi L., Market Operations in Electric Power Systems:
Forecasting, Scheduling and Risk Management, Wiley & Sons, Inc., 2002
Stoft, S., Power System Economics: Designing Markets for Electricity, Wiley-IEEE
Press, 2002
Weron R., Modeling and Forecasting Loads and Prices In Deregulated Electricity
Markets, Agencja Rynku Energii S.A., 2006
Weron R., Misiorek A., Forecasting spot electricity prices: A comparison of parametric and semiparametric time series models, International Journal of Forecasting,
w druku
Wyłomańska A., Borgosz-Koczwara M., Optimal bidding strategies on energy
market under imperfect information, Proceedings of the European Electricity Market
EEM-05 Conference, Łódź, 2005, 67-73
Sztuczna inteligencja kontra modele statystyczne
[21]
[22]
[23]
Wyłomańska A., Borgosz-Koczwara M., The equilibrium models in oligopoly
electricity market, Proceedings of the European Electricity Market EEM-04
Conference, Łódź, 2004, 67-75
Zhang L., Luh P.B., Neural network-based market clearing price prediction and
confidence interval estimation with an improved extended Kalman filter method,
IEEE Transactions on Power Systems 20(1), 2005, 59-66
Zhaohui Tang, Maclennan J., Data Mining with SQL Server 2005, Wiley, 2005
47