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:

  • wskaźnik cen i usług konsumpcyjnych (\( {wcu} \))

  • średnia płaca miesięczna (\( {spm} \))

  • stopa bezrobocia (\( {sb} \))

  • wartość produkcji sprzedanej w przemyśle (\( {wps} \))

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


\(x_n=\frac{x_{rz}-x_{\min }}{x_{\max }-x_{\min }}\) (13.1)

 

We wzorze tym \(x_{rz}\) oznacza wielkość rzeczywistą, \(x_{n}\) – wartość znormalizowaną, \(x_{min}\) – wartość minimalną a \(x_{max}\) – wartość maksymalną zmiennej \(x\).

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 \(m\)-ty wektor wejściowy \(\mathbf{x}\) w prognozie miał postać:

\( \mathbf{x}=[{wcu}(m-1), \ldots, {wcu}(m-3), {spm}(m-1), \ldots, {spm}(m-3), {sb}(m-1), \ldots, {sb}(m-3), {wps}(m-1), \ldots, {wps}(m-3)] \)

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.

Rys. 13.1 Wykres zmian wskaźnika \( {wcu} \) dla 126 miesięcy w bazie danych GUS z lat 1999-2009

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 \(C=1000\), współczynnik tolerancji \( \varepsilon=0,02 \) i jądro gaussowskie o stałej \( \gamma=0,008 \)

Prognozowane wartości wskaźnika \( {wcu} \) 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 (\(n\) oznacza liczbę miesięcy uczestniczących w teście, \( {wcu}(m) \) – rzeczywistą wartość wskaźnika \( {wcu} \) w miesiącu \(m\), \( \widehat{wcu} \) - wartość przewidywaną przez program):

  • Średni względny błąd procentowy (MAPE)


\( \text { MAPE }=\frac{1}{n} \sum_{m=1}^n \frac{|wcu(m)-\widehat{wcu}(m)|}{\left|wcu(m)\right|} \cdot 100 \% \) (13.2)


  • Maksymalny błąd względny procentowy (MAXPE)


\( MAXPE=\max \frac{|w c u(m)-\widehat{wcu}(m)|}{\left|wcu(m)\right|} \cdot 100 \% \) (13.3)


  • Średniokwadratowy błąd procentowy (RMSE)


\( RMSE=\sqrt{\frac{1}{n} \sum_{m=1}^n\left(\frac{wcu(m)-\widehat{wcu}(m)}{ (wcu(m)} \right)^2} \cdot 100 \% \) (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.

Rys. 13.2 Zestawienie prognozowanych wartości miesięcznych wskaźników \( wcu \) na tle wartości rzeczywistych (wykres górny) oraz błędów predykcji (wykres dolny)


Widoczna jest bardzo dobra zgodność wielkości prognozowanych i rzeczywistych. Błąd prognozy pozostaje na bardzo małym (zbliżonym do zera) poziomie.