Marcin Wudarczyk Dariusz Kieszkowski Sieci neuronowe w analizach finansowych Prognozowanie bankructw
Plan prezentacji Wstęp Kondycja finansowa Prognozowanie bankructwa Metody statystyczne Sieci neuronowe Ciekawe modele sieci neuronowych Nasze wyniki
Co to jest kondycja finansowa? Kondycja finansowa: stan finansowy w określonym przedziale czasowym Zdolność do zachowania wypłacalności (spłaty zadłużenia) Zdolność do przynoszenia zysków Zdolność do powiększania majątku Zła kondycja finansowa po pewnym czasie skutkuje bankructwem przedsiębiorstwa
Kondycja finansowa Co robimy? Po co? badamy kondycję (prawdopodobieństwo upadłości) firm Po co? ryzyko kredytowe w bankowości inwestycje na giełdzie wczesne ostrzeganie zarządu firmy przejęcia i połączenia firm
Metody oceny kondycji finansowej jakościowe – sposób opisowy ilościowe – wartości liczbowe deterministyczne – proste wskaźniki stochastyczne statystyczne – analiza trendu dyskryminacyjne – wielowymiarowa analiza statystyczna sieci neuronowe, algorytmy genetyczne
Metody oceny kondycji finansowej logiczno-dedukcyjne analiza opisowa deterministyczne (proste wskaźniki) empiryczno-indukcyjne stochastyczne statystyczne dyskryminacyjne sieci neuronowe, algorytmy genetyczne
Metody ilościowe Analiza dyskryminacyjna Funkcję dyskryminacyjną można określić wzorem: gdzie: Z – wartość funkcji dyskryminacyjnej Wi – wagi i-tej zmiennej (np. wskaźników finansowych) Xi – zmienne objaśniające modelu
Analiza dyskryminacyjna X
Model Altmana Model Altmana (1968) Z = 6,56 * X1+ 3,26 * X2 + 6,72 * X3 + 1,05 * X4 X1 = majątek obrotowy / aktywa ogółem X2 = zysk netto / aktywa ogółem X3 = EBIT / aktywa ogółem X4 = kapitał własny / zobowiązania ogółem wartości progowe: 1,10 i 2,60
Model Altmana Skuteczność modelu B. Caouette, E.I. Altman, P. Narayanan, Managing Credit Risk. John Wiley & Sons, 1998, s.22.
Model Altmana Skuteczność modelu na innych próbach Skuteczność wątpliwa: Rzeczpospolita nr 110 z 13 maja 1996, s.19. . Międzynarodowe porównawcze badania na belgijskich przedsiębiorstwach pokazały, że skuteczność modelu Altmana ze skorygowanymi wartościami progów kształtowała się na poziomie 50%. Najskuteczniejszy był model belgijski. Lepsze były również modele europejskie od amerykańskich. [H.Ooghe, H.Claus, N.Sierens, J. Camerlynck, „International Comparison of Failure Prediction Models From Different Countries: An Empirical Analysis”, s.13-15.]
Modele polskie Model Gajdki i Stosa Model Hołdy i wiele innych... skuteczność 82,5% - 93% 40 firm, dane z lat 1994-95 Model Hołdy skuteczność 92,5% 80 firm, lata 1993-96 i wiele innych...
Analiza dyskryminacyjna Zalety prostota wysoka skuteczność na homogenicznych danych Wady nieprzenośna nieskuteczna dla niehomogenicznych danych
Metody ilościowe Sieci neuronowe Wykorzystywane ze względu na nieliniowość zależności i charakter multiplikatywny niektórych związków między wskaźnikami a możliwością bankructwa Wielowarstwowe SN Samoorganizujące mapy Kohonena
Sieci neuronowe Y X
Sieci neuronowe Y X
Analiza dyskryminacyjna Czego już dokonano? Sharda, Odom (1990) wskaźniki Altmana 128 amerykańskich firm Sieci neuronowe Analiza dyskryminacyjna Skuteczność I (bankruci) 77,8%-81,5% 59,3-70,4% Skuteczność II (niebankruci) 78,6%-85,7% 78.6%-85.7%
Analiza dyskryminacyjna Czego już dokonano? Sharda, Wilson (1992) wskaźniki Altmana algorytm wstecznej propagacji błędu 129 firm Sieci neuronowe Analiza dyskryminacyjna Skuteczność 96% 91%
Analiza dyskryminacyjna Czego już dokonano? Inni Sieci neuronowe Analiza dyskryminacyjna Inne Coats i Fand (1993) 95% 87,9% Fernandez i Olmeda (1995) 82,4% 61,8%-79,4% (LR, CART, C4.5, MARS) Serrano i Cinca 91-96% (SOM) 90% Kiviluoto (1998) 81-86%
Nasze modele Sieć wielowarstwowa Sieć SOM Kohonena Sieć neuronowo-rozmyta Sieć RBF
Ciekawe modele Fuzzy NN RBF
Fuzzy Neural Networks Logika rozmyta wzrost niski średni wysoki 160 170 180 wzrost niski średni wysoki 160 170 180
Fuzzy Neural Networks Schemat układu rozmytego Fuzyfikator Defuzyfikator Człon wykonawczy Reguły wnioskowania zbiór rozmyty
Fuzzy Neural Networks Schemat sieci neuronowo rozmytej
Fuzzy Neural Networks Funkcja przynależności jest funkcją Gaussa: A zatem funkcja aproksymująca f(x) wyrażona przez średnie wartości centrów ma postać:
Fuzzy Neural Networks Porównanie Konwencjonalne Fuzzy NN jednoznaczność przydziału wzorca do klasy (np.: wysoka cena) tylko dane liczbowe decyduje samodzielnie klasyfikacja wynikowa jest ostra niejednoznaczność przydziału wzorca do klasy (np.: 0,4/wysoka cena + 0,6/bardzo wysoka cena) dane symboliczne i liczbowe dostarcza reguł decyzyjnych (wiedzy) – można zautomatyzować klasyfikację klasyfikacja wynikowa jest rozmyta – pozwala na dalsze podklasyfikacje
Sieć RBF
Sieć RBF
Sieć RBF c.d. Nauczanie Zastosowania Warstwa ukryta Warstwa wyjściowa Zastosowania aproksymacja klasyfikacja predykcja Zalety: szybkość, aproksymacja lokalna
Nasze badania - okiem informatyka… Ocaml szybkość tworzenia kodu styl pisania a’la SQL Python brak kompilacji luźne zasady – ułatwienie ale i niebezpieczeństwo wątki pod Windows wolny, ale: Psyco
Nasze badania - okiem informatyka… Ocaml + Python = PyCaml brak większych problemów z integracją języków trudności z debugowaniem WxWidgets niekiedy trudne do zrozumienia szybkie duże możliwości niektóre kontrolki brzydkie i niedopracowane
Nasze badania - okiem informatyka WxWidgets + Python = WxPython bezproblemowa integracja znacznie ułatwione korzystanie z biblioteki nie potrzeba długo się uczyć
Aplikacja
Badania Dane Spółki notowane na polskiej giełdzie 20 spółek „bankrutów”, 40 spółek o dobrej kondycji Źródło: www.parkiet.com.pl Braki i niejednolitość danych Mała próbka danych
Uczenie Niestabilność procesu uczenia Brak sensu stosowania optymalizacji genetycznej doboru wejść sieci Błąd zależy bardziej od losowego doboru danych niż zastosowanych parametrów uczenia Zaburzenia w procesie uczenia ze zbiorem walidacyjnym
SOM vs RBF Ze względu na podobną zasadę działania w tym zastosowaniu i przy tych danych nie można wskazać która jest lepsza Warstwa wyjściowa RBF przy algorytmie uczenia BP potrafi odjechać SOM nie potrafi odróżnić spółek bankrutów i o dobrej kondycji
MLP Przy współczynnikach uczenia rzędu 0,1-0,2 (momentum 0,2) sieć mocno oscyluje a błąd na próbce uczącej potrafi się mocno zwiększyć Żadne zmiany momentu nie poprawiają zbieżności Moment=0,2 wsp. uczenia = 0.2 min=1.1179 max=1.5640
Wyniki Wszystkie sieci osiągają błąd klasyfikacji rzędu 20%-30%. Dla porównania, model Altmana dla tych danych ma błąd rzędu 40% - 25% Polskie modele dyskryminacyjne nie działają w ogóle
Pytania Dziękujemy