Podręcznik
3. Przykłady zastosowań sieci neuronowych w zadaniach biznesowych
3.2. Prognozowanie wskaźnika inflacji
Inflacja jest zjawiskiem monetarnym wywołanym szybszym przyrostem ilości pieniądza niż produkcji. W efekcie obserwuje się na rynku długotrwały wzrost średniego poziomu cen dóbr i usług konsumpcyjnych i nie konsumpcyjnych wchodzących do tak zwanego koszyka dóbr. Lista tych dóbr i usług jest każdorazowo określona przez Główny Urząd Statystyczny i ewentualnie nowelizowana odpowiednio do preferencji konsumentów.
13.2.1 Wprowadzenie
Miernikiem inflacji stosowanym praktyce jest indeks cen towarów i usług konsumpcyjnych, definiowany jako stosunek kosztów określonych dóbr konsumpcyjnych wchodzących w skład koszyka do kosztów tych samych dóbr w okresie przyjętym za bazowy.
Inflacja jest faktem obiektywnym i poprzez swój związek z wartością pieniądza i stopami procentowymi musi być brana pod uwagę przy podejmowaniu decyzji związanych z inwestowaniem i zarządzaniem finansami. Istnieje więc potrzeba prognozowania indeksu cen, ponieważ oczekiwania inflacyjne wpływają na wiele decyzji biznesowych podejmowanych w skali zarówno mikro- jak i makroekonomicznej.
Na inflację wpływa aktualny popyt na określone towary na rynku jak również sfera produkcji oraz organizacja współczesnego społeczeństwa. Jednym z najistotniejszych elementów który musi być określony w modelu prognozy jest zdefiniowanie cech diagnostycznych, które będą wpływały w sposób bezpośredni na wynik prognozy. W niniejszych badaniach uwzględnione będą następujące wielkości odniesione do kolejnych miesięcy:
W prognozie na dany miesiąc brać będziemy pod uwagę powyższe wielkości odniesione do określonej liczby miesięcy z przeszłości.
13.2.2 Model neuronowy predykcji
Podstawowym elementem, który musi być rozwiązany w pierwszej kolejności jest wybór i ewentualna selekcja cech diagnostycznych, które będą uwzględniane w modelu. Cztery wymienione wyżej czynniki brane pod uwagę w modelu mogą dotyczyć wiele miesięcy wstecz, pozwalając w ten sposób na uwzględnienie dynamiki ich zmian na wartość prognozowanego wskaźnika cen i usług. Ponadto jako cechy diagnostyczne mogą być traktowane same wielkości bądź ich miesięczne przyrosty. W naszym modelu neuronowym prognozy wzięto pod uwagę każdy z 4 wymienionych wyżej czynników biorąc pod uwagę ich wielkości rzeczywiste. Dla zapewnienia porównywalności wpływu każdej wielkości wszystkie zmienne związane z prognozą podlegały normalizacji według wzoru
(13.1) |
We wzorze tym oznacza wielkość rzeczywistą, – wartość znormalizowaną, – wartość minimalną a – wartość maksymalną zmiennej
.Przy wyborze ilości miesięcy branych wstecz dla uwzględnienia trendu zmian dla każdej z 4 cech prognostycznych zdecydowano się uwzględniać ich wartości z trzech poprzedzających miesięcy. Stąd przy prognozowaniu współczynnika cen i usług na miesiąc -ty wektor wejściowy w prognozie miał postać:
Jest to wektor 12-elementowy. Prognoza dotyczyć będzie wskaźnika cen towarów i usług konsumpcyjnych w odniesieniu do tego samego miesiąca sprzed roku. W eksperymentach numerycznych wykorzystano dostępną aktualnie bazę danych GUS z lat od stycznia 1999 do czerwca 2006. Zawiera ona dane dotyczące 126 miesięcy. Na rys. 13.1 przedstawiono graficznie wartości wskaźników dotyczące tych miesięcy.
Połowa z tych danych (63) została użyta w uczeniu a druga połowa pozostawiona do testowania wytrenowanej sieci. Dane użyte w uczeniu i testowaniu podlegały wyborowi losowemu (funkcja randperm Matlab) a wszystkie obliczenia powtarzane 10-krotnie z obliczeniem wartości średnich błędów.
13.2.3 Wyniki badań eksperymentalnych prognozy
Badania zdolności prognostycznych sieci neuronowych w problemie predykcji wskaźnika cen towarów i usług przeprowadzono dla dwu rodzajów sieci neuronowych: sieć perceptronowa (MLP) oraz SVM. W przypadku sieci MLP zastosowana struktura miała postać: 12-5-1 (liczba neuronów ukrytych została dobrana w wyniku eksperymentów wstępnych). Sieć SVM do regresji posiadała identyczną liczbę wejść (12) i jedno wyjście. Liczba funkcji jądra jest natomiast dobierana automatycznie przez program uczący na podstawie danych uczących i wartości hiperparametrów. W uczeniu zastosowano stałą regularyzacji , współczynnik tolerancji i jądro gaussowskie o stałej
Prognozowane wartości wskaźnika zostały porównane z odpowiednimi wartościami rzeczywistymi wziętymi z bazy danych GUS. Jako miary jakości zastosowano trzy podstawowe rodzaje błędów ( oznacza liczbę miesięcy uczestniczących w teście, – rzeczywistą wartość wskaźnika w miesiącu , - wartość przewidywaną przez program):
-
Średni względny błąd procentowy (MAPE)
(13.2) |
-
Maksymalny błąd względny procentowy (MAXPE)
(13.3) |
-
Średniokwadratowy błąd procentowy (RMSE)
(13.4) |
W tabeli 13.1 zestawiono uzyskane wartości błędów prognozy dla danych testujących (63 miesiące) nie uczestniczących w uczeniu.
Tabela 13.1 Zestawienie błędów prognozy dla danych testujących nie uczestniczących w uczeniu sieci neuronowych
|
MAPE |
RMSE |
MAXPE |
SVM |
0.31% |
1.47 |
2.45% |
MLP |
0.58% |
1.97 |
3.85% |
Uzyskane wartości błędów świadczą o bardzo dobrym działaniu predykcyjnym sieci neuronowych. Zarówno błędy średnie jak i maksymalne pozostają na małym (akceptowalnym w praktyce) poziomie. Na rys. 13.2 przedstawiono na wspólnym wykresie wartości wskaźnika inflacji wcu prognozowane przez sieć SVM oraz wielkości rzeczywiste (wykres górny). Na wykresie dolnym zobrazowano zmiany miesięczne błędów predykcji wyrażone w procentach.
Widoczna jest bardzo dobra zgodność wielkości prognozowanych i rzeczywistych. Błąd prognozy pozostaje na bardzo małym (zbliżonym do zera) poziomie.