1 Marcin Wudarczyk Dariusz KieszkowskiSieci neuronowe w analizach finansowych Prognozowanie bankructw
2 Plan prezentacji Wstęp Kondycja finansowa Prognozowanie bankructwaMetody statystyczne Sieci neuronowe Ciekawe modele sieci neuronowych Nasze wyniki
3 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
4 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
5 Metody oceny kondycji finansowejjakoś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
6 Metody oceny kondycji finansowejlogiczno-dedukcyjne analiza opisowa deterministyczne (proste wskaźniki) empiryczno-indukcyjne stochastyczne statystyczne dyskryminacyjne sieci neuronowe, algorytmy genetyczne
7 Metody ilościowe Analiza dyskryminacyjnaFunkcję 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
8 Analiza dyskryminacyjnaX
9 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
10 Model Altmana Skuteczność modeluB. Caouette, E.I. Altman, P. Narayanan, Managing Credit Risk. John Wiley & Sons, 1998, s.22.
11 Model Altmana Skuteczność modelu na innych próbachSkuteczność 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 ]
12 Modele polskie Model Gajdki i Stosa Model Hołdy i wiele innych...skuteczność 82,5% - 93% 40 firm, dane z lat Model Hołdy skuteczność 92,5% 80 firm, lata i wiele innych...
13 Analiza dyskryminacyjnaZalety prostota wysoka skuteczność na homogenicznych danych Wady nieprzenośna nieskuteczna dla niehomogenicznych danych
14 Metody ilościowe Sieci neuronoweWykorzystywane 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
15 Sieci neuronowe Y X
16 Sieci neuronowe Y X
17 Analiza dyskryminacyjnaCzego 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%
18 Analiza dyskryminacyjnaCzego już dokonano? Sharda, Wilson (1992) wskaźniki Altmana algorytm wstecznej propagacji błędu 129 firm Sieci neuronowe Analiza dyskryminacyjna Skuteczność 96% 91%
19 Analiza dyskryminacyjnaCzego 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%
20 Nasze modele Sieć wielowarstwowa Sieć SOM KohonenaSieć neuronowo-rozmyta Sieć RBF
21 Ciekawe modele Fuzzy NN RBF
22 Fuzzy Neural Networks Logika rozmyta wzrost niski średni wysoki 160170 180 wzrost niski średni wysoki 160 170 180
23 Fuzzy Neural Networks Schemat układu rozmytego FuzyfikatorDefuzyfikator Człon wykonawczy Reguły wnioskowania zbiór rozmyty
24 Fuzzy Neural Networks Schemat sieci neuronowo rozmytej
25 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ć:
26 Fuzzy Neural Networks Porównanie Konwencjonalne Fuzzy NNjednoznaczność 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
27 Sieć RBF
28 Sieć RBF
29 Sieć RBF c.d. Nauczanie ZastosowaniaWarstwa ukryta Warstwa wyjściowa Zastosowania aproksymacja klasyfikacja predykcja Zalety: szybkość, aproksymacja lokalna
30 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
31 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
32 Nasze badania - okiem informatykaWxWidgets + Python = WxPython bezproblemowa integracja znacznie ułatwione korzystanie z biblioteki nie potrzeba długo się uczyć
33 Aplikacja
34 Badania Dane Spółki notowane na polskiej giełdzie20 spółek „bankrutów”, 40 spółek o dobrej kondycji Źródło: Braki i niejednolitość danych Mała próbka danych
35 Uczenie Niestabilność procesu uczeniaBrak 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
36 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
37 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= max=1.5640
38 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
39 Pytania Dziękujemy