Issuu on Google+

Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych Rozprawa habilitacyjna

dr Grzegorz Wojarnik (grzegorz@wojarnik.pl)

Instytut Informatyki w Zarządzaniu Wydział Nauk Ekonomicznych i Zarządzania Uniwersytet Szczeciński

1. Opis zawartości rozprawy

s. 2

2. Cele rozprawy

s. 6

3. Hipotezy badawcze

s. 7

4. Spis treści

s. 8


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

1. Opis zawartości rozprawy W wielu źródłach danych opisujących różnorodne zjawiska (ekonomiczne, społeczne, medyczne i inne) gromadzonych w bazach danych zawierających nierzadko nawet tysiące, czy miliony rekordów znajduje się dziesiątki, setki a nawet tysiące zmiennych (inaczej można je nazwać cechami, atrybutami lub czynnikami). Jest mało prawdopodobne, aby wszystkie one były zmiennymi niezależnymi, dlatego warto podejmować wysiłki zmierzające do odkrywania zależności między nimi. Jednocześnie jest tak, że w przypadku analiz, których podstawą są te dane trudno się zdecydować, na konkretne metody zindywidualizowane (czy to z powodu ich braku, czy odwrotnie – nadmiaru), które byłyby dopasowane do problemu rozwiązywanego w oparciu o zgromadzone dane. Ponadto metody zindywidualizowane mogą sobie nie radzić z rozwiązaniem danego problemu zwłaszcza w sytuacji, gdy celem poszukiwań są związki między danymi, które są związkami nieoczekiwanymi lub niespodziewanymi. Samo odkrywanie związków pomiędzy zmiennymi znajdującymi się w dostępnych źródłach danych ma na celu poznanie reguł, które rządzą zjawiskami w danej dziedzinie. W dalszej kolejności znajomość tych reguł może pozwolić na przykład na optymalizację kosztów, bardziej efektywne gospodarowanie dostępnymi zasobami, osiągnięcie większych zwrotów z poniesionych inwestycji, czy oszczędności czasu lub zasobów potrzebnych do prowadzenia danej działalności. Kolejną kwestią obecną w trakcie badania związków pomiędzy zmiennymi rejestrowanymi w różnych źródłach danych jest fakt, że najczęściej odpowiednie modele lub systemy są budowane w odniesieniu do konkretnego problemu lub metody, którą zamierza się ten problem rozwiązać. W związku z tym wysiłek potrzebny do zaimplementowania sposobu rozwiązania danego problemu w innym zastosowaniu jest wysiłkiem istotnym lub w ogóle polega na sporządzeniu po prostu nowego rozwiązania, które jest przystosowane do tego innego zagadnienia, które ma zostać zbadane. Autor rozprawy jest zdania, że algorytmy genetyczne są metodami, które pozwalają na eksplorację danych zmierzającą do odkrywania nieoczekiwanych zależności pomiędzy zmiennymi w istniejących źródłach danych. Dlatego też, to algorytm genetyczny jest główną metodą w ramach opracowanej koncepcji ewolucyjnego systemu analizy danych, zadaniem której jest przetwarzanie danych w celu selekcji cech istotnych z punktu widzenia badanego problemu. Właśnie z tego powodu opracowany system analizy danych nosi miano „ewolucyjnego”

czyli

czerpiącego

z

metod

ewolucyjnych,

których

głównym

przedstawicielem są algorytmy genetyczne. Jednak, aby opracowany system mógł być zastosowany dla różnych problemów zdaniem autora należało w ten sposób opracować założenia i sposób działania funkcji oceny GA, aby mogła działać niezależnie od danych źródłowych. Stąd wprowadzenie koncepcji zbioru danych weryfikacyjnych (rozdział 4.4), który dzięki wykorzystaniu kodowania genomu GA liczbami całkowitymi pozwala na wprowadzenie dowolnych danych, jako dziedziny dostępnych stanów wartości jednego genu. Aby funkcja oceny, która została zdefiniowana przez autora rozprawy, mogła działać na dowolnych danych weryfikacyjnych został 2


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

skonstruowany i opisany w rozdziale 4.1 ogólny model danych definicji metadanych algorytmu (zapewnia on definicję dostępnych wartości dla poszczególnych genów odpowiadających zmiennym pochodzącym z danych źródłowych), co w połączeniu ze strukturą systemu stanowi istotny wkład w płaszczyźnie modelowania. Jedną z cech GA jest możliwość działania w różnych konfiguracjach i z różnymi parametrami opisującemu ich działanie (np. proporcja pomiędzy ilością osobników w populacji a ilością generacji poszczególnych pokoleń osobników, prawdopodobieństwo mutacji, czy krzyżowania itd.), dlatego zdaniem autora rozprawy istotne jest zapewnienie możliwości

konfiguracji

tych

parametrów

najlepiej

automatycznie

za

pomocą

metaalgorytmu (rozdział 3.3). Oprócz konfiguracji parametrów działania algorytmu ważną role odgrywa sposób kodowania genomu złożonego z genów, który to genom poddawany jest przetwarzaniu w czasie działania GA. Biorąc pod uwagę ten fakt oraz konieczność zapewnienia działania GA dla rożnych zastosowań i przykładów autor rozprawy wybrał do opisu generowanych rozwiązań kodowanie informacji za pomocą liczb całkowitych, które odpowiadają poszczególnym stanom, jakie może przyjąć dany gen. W związku z wyborem kodowania liczbami całkowitymi został opracowany sposób działania operatorów mutacji oraz krzyżowania (rozdział 4.3), co stanowi istotny wkład w płaszczyznę utylitarną, ponieważ oprogramowano moduł systemu, w ramach którego znalazły się zaimplementowane wyżej wymienione operatory. Należy

również

zwrócić

uwagę,

że

opracowany

system

jest

wynikiem

interdyscyplinarnego podejścia do wykorzystania danych w zastosowaniach ekonomicznych, ponieważ została tu wykorzystana wiedza z zakresu metod sztucznej inteligencji (algorytmy genetyczne), systemów informacyjnych, analizy danych (w szczególności eksploracji danych), modelowania baz danych, mechanizmów ETL (najczęściej wykorzystywanych w rozwiązaniach typu OLAP), co pozwala uznać walory pracy w płaszczyźnie integracyjnej. Z innej strony istotnym wkładem autora w płaszczyźnie integracyjnej dostępnych metod i rozwiązań jest połączenie wyżej wymienionych elementów w jeden spójny system nazwany ewolucyjnym systemem analizy danych, który w swoim założeniu ma służyć wyłanianiu kombinacji cech (zmiennych) istotnych z puntu widzenia badanego zagadnienia (rozdział 4). Zdaniem autora możliwość poznania kombinacji tych cech, może stanowić istotne źródło wiedzy, która ma znaczenie również w sensie ekonomicznym dla tych zagadnień. Kolejną kwestią, która stanowi istotny wkład autora w płaszczyznę metodyczną analizy danych jest propozycja metodyki wykorzystania (rozdział 4.2) ewolucyjnego systemu analizy danych, która przewiduje następujące fazy: 1. Selekcja danych źródłowych 2. Budowa genomu wraz z dziedzinami wartości poszczególnych genów 3. Oprogramowanie i uruchomienie procedur ETL 4. Selekcja czynników egzogenicznych oraz endogenicznych 5. Budowa funkcji oceny GA 6. Założenie procedury przetwarzania GA 7. Ustawienie parametrów GA 3


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

a. Opcjonalne uruchomienie procedury metalgorytmu, celem ustawienia parametrów GA 8. Uruchomienie procedury przetwarzania GA 9. Interpretacja uzyskanych wyników a. Jeśli nie uzyskuje zadawalających wyników przejście do fazy 6 10. Wyciągnięcie wniosków na podstawie wygenerowanych wyników. Aby sprawdzić skuteczność opracowanej koncepcji systemu został sporządzony jego prototyp. Został on oprogramowany w języku C# dostępnym z poziomu pakietu programistycznego firmy Microsoft – Visual Studio 2012. Implementacja ta pozwoliła na przeprowadzenie

eksperymentu

badawczego

polegającego

na

analizie

czynników

wpływających na zachorowania na choroby nowotworowe. Wybór tego problemu jest wywołany obserwowaną zapaścią w finansowaniu służby zdrowia w Polsce – a zdaniem autora wszystkie sposoby, które w jakiś sposób mogą wpłynąć pozytywnie na stan opieki zdrowotnej w kraju są warte wysiłków zmierzających do ich sprawdzenia i weryfikacji. Dlatego dzięki prof. Janowi Lubińskiemu stojącemu na czele Międzynarodowego Centrum Chorób Dziedzicznych w Szczecinie opracowany system mógł zostać poddany eksperymentowi polegającemu na analizie danych zgromadzonych w bazie danych Centrum. Baza ta zawiera dane na temat wywiadu środowiskowego oraz danych na temat badań genetycznych kobiet chorych na nowotwór macicy oraz szyjki macicy. W ramach przeprowadzonego eksperymentu została stworzona struktura genomu z kodowaniem informacji istotnych dla eksperymentu (struktura ta jest przedstawiona w załączniku 1) oraz zostały opracowane przez autora rozprawy procedury ETL zasilające zbiór danych weryfikacyjnych na podstawie danych zgromadzonych w bazie źródłowej do postaci zgodnej z definicją genomu w ten sposób, że każdy z 95 genów posiada swoją własną procedurę mapującą. Należy też zauważyć, że celem badania przeprowadzonego przez autora rozprawy nie była interpretacja uzyskanych rezultatów, ale dostarczenie ich zespołowi analityków w Centrum celem dalszych badań nad uzyskanymi wynikami. Można stwierdzić, że podjęte w rozprawie badania empiryczne stanowią rzetelną próbę weryfikacji przyjętych celów i hipotez pracy właśnie na płaszczyźnie empirycznej. Na podstawie przeprowadzonego eksperymentu zidentyfikowano warunki możliwości zastosowania ewolucyjnego systemu analizy danych oraz sformułowano następujące ogólne wnioski, które określają, że opracowany ewolucyjny system analizy danych może być wykorzystany do rozwiązywania problemów: 1. gdzie jest dostępna mała liczba lub brak dobrych metod, które te problemy rozwiązują, ale z drugiej strony, 2. gdzie jest dostępna duża liczba takich metod i trudny jest wybór odpowiedniej dla danego problemu, 3. jeżeli liczba zmiennych oddziałujących na ten problem jest duża (ponad 50), 4. gdzie nie jest konieczne uzyskanie rozwiązania optymalnego (wystarczające rozwiązania „zadawalające”), 5. o ile dostępny jest zbiór danych źródłowych z bogatą ilością danych, które będą poddane analizie, 4


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

6. gdzie jest dostępna wiedza ekspercka związana z badanym problemem, 7. nawet tych, dla których jest obecna sprawdzona metoda rozwiązująca dany problem, ale ewolucyjny system analizy danych będzie potraktowany jako metoda wspierająca. W związku z przeprowadzonym eksperymentem badawczym można stwierdzić, że ewolucyjny system analizy danych nie wymaga zmian w zależności od zastosowania poza dwoma elementami (rozdział 6.1): 1. Budowa genomu wraz z dziedziną dostępnych wartości, które może przyjąć każdy gen. Jednak w tym miejscu należy podkreślić, że struktura danych genomu w ramach ewolucyjnego systemu analizy danych jest niezależna od rozwiązywanego problemu! 2. Opracowaniem procedur ETL, których zadaniem będzie przekształcenie danych źródłowych do budowy genomu wraz z dziedziną dostępnych wartości poszczególnych genów Zdaniem autora ewolucyjny system analizy danych może być wykorzystany również w innych zastosowaniach, ze szczególnym uwzględnieniem zastosowań ekonomicznych, które spełniają wyżej wymienione warunki. W związku z tym w rozdziale 6.2 zostały przedstawione przykładowe tematy badań, które kontynuowałyby rozważania podjęte przez autora z tym, że w innych zastosowaniach ekonomicznych. Między innymi z tych powodów pracę można umieścić w szeroko rozumianej dziedzinie informatyki ekonomicznej rozumianej, jako zastosowania metod i narzędzi informatycznych na potrzeby przedsiębiorstw i organizacji z uwzględnieniem konsekwencji ekonomicznych wykorzystania proponowanych rozwiązań. Dodatkowo zdaniem autora warto by było podjąć wysiłek zmierzający do opracowania metod tworzenia dziedziny wartości dostępnych dla danego genu poprzez automatyzację procesu

segmentacji

danych

źródłowych

opisujących

daną

zmienną

do

postaci

odpowiadającej poszczególnym wartościom genu kodowanego za pomocą liczb całkowitych. Kolejnym kierunkiem dalszych dociekań badawczych mogłoby być rozszerzenia sposobu funkcjonowania klasycznego GA wykorzystanego w systemie do innych wariantów opisywanych w literaturze przedmiotu oraz wykorzystanie różnych sposobów działania operatorów genetycznych tak, aby mogły być wybierane, jako kolejne parametry działania tego algorytmu. Dzięki implementacji przez autora rozprawy ewolucyjnego systemu analizy danych do postaci działającego prototypu można dostrzec możliwość jego wykorzystania, jako modułu rozszerzającego inne systemy w postaci biblioteki programistycznej lub wręcz, jako niezależnego systemu, który mogłyby znaleźć praktyczne zastosowanie w realnie działających systemach komercyjnych. Właśnie takie – niezindywidualizowane podejście, które pozwala na uniezależnienie się od konkretnej klasy rozwiązywanych problemów, ale również metod rozwiązujących dany problem zdaniem autora rozprawy daje szansę na wykorzystanie opracowanej koncepcji, jako element już funkcjonujących systemów informacyjnych w przedsiębiorstwach lub organizacjach.

5


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

2. Cele rozprawy Celem

rozprawy

jest

opracowanie

koncepcji

i

prototypu

systemu

informacyjnego, który przy użyciu algorytmu genetycznego przetwarzającego dane o różnorodnych czynnikach związanych z danym problemem będzie zdolny do identyfikacji czynników istotnych wpływających na ten problem. Cele cząstkowe są następujące: 

Propozycja ogólnego modelu danych (metadanych) pozwalającego na opis różnorodnych przypadków podlegających analizie, które będą przedmiotem działania algorytmu genetycznego



Opracowanie metodyki wykorzystania ewolucyjnego systemu analizy danych



Opracowanie założeń oraz implementacja algorytmu genetycznego, który pozwoli na odkrywanie nietrywialnych kombinacji wartości czynników w celu wyłonienia czynników istotnych z punktu widzenia badanego problemu



Propozycja metody zapewniającej automatyczne dostosowanie parametrów działania algorytmu genetycznego do przetwarzanego problemu



Opracowanie ogólnej struktury danych weryfikacyjnych, które posłużą działaniu funkcji oceny GA charakteryzującej się niezależnością od badanego problemu



Implementacja prototypu systemu, który posłuży jako narzędzie badawcze do przeprowadzenia eksperymentu badawczego



Przeprowadzenie eksperymentu badawczego polegającego na weryfikacji działania systemu na przykładzie danych o zachorowaniach na choroby nowotworowe zgromadzonych przez Międzynarodowe Centrum Chorób Dziedzicznych w Szczecinie



Identyfikacja modułów systemu, które będą mogły być wykorzystane bez konieczności zmian w innych zastosowaniach, a które są specyficzne dla danego problemu



Propozycje

sposobu

wykorzystania

zastosowaniach ekonomicznych.

6

opracowanego

systemu

w

innych


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

3. Hipotezy badawcze Hipoteza badawcza rozprawy mówi, że zastosowanie systemu informacyjnego, którego głównym elementem wspierającym analizę danych jest algorytm genetyczny z funkcją oceny opartą o dane weryfikacyjne, których struktura jest niezależna od postawionego problemu, doprowadzi do poszerzenia wiedzy na temat badanego zjawiska bez konieczności specjalnego dostosowania tego systemu do badanego problemu. Hipotezy robocze: 1. Możliwa

jest

budowa

systemu

(wykorzystującego

algorytm

genetyczny), który będzie mógł być wykorzystany w innych zastosowaniach (zwłaszcza ekonomicznych), gdzie istotne jest odkrywanie wpływu różnorodnych czynników na dane zjawisko w sytuacji, gdy nie są znane lub nie można użyć dostępnych reguł bądź metod służących rozwiązaniu tego problemu. 2.

Metody ewolucyjne (konkretnie algorytmy genetyczne) zapewniają

identyfikację cech istotnych z punktu widzenia odkrywania kombinacji czynników chorobotwórczych, które wpływają na powstawanie nowotworu.

7


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

4. Spis treści 1. Wprowadzenie

5

1.1. Definicja problemu, cel i zakres badań

5

1.2. Hipotezy badawcze

13

1.3. Treść rozprawy

14

2. Miejsce analizy danych w systemach informacyjnych 2.1. System informacyjny, jako narzędzie analizy danych 2.1.1. Systemy informacyjne a systemy informatyczne

17 17 17

2.1.2. Systemy informatyczne planowania strategicznego – aspekty medyczne

36

2.1.3. Analiza danych

42

2.1.4. Eksploracja danych

46

2.2. Charakterystyka wykorzystania systemów informacyjnych w medycynie

49

2.3. Przykłady zastosowań systemów informacyjnych w medycynie

58

2.3.1. Komputerowe systemy wspomagania decyzji klinicznych

59

2.3.2. Systemy wykorzystujące metody sztucznej inteligencji

69

2.3.3. Wykorzystanie metod eksploracji danych w medycynie

70

3. Algorytm genetyczny, jako skuteczna metoda selekcji czynników istotnych dla badanego problemu

75

3.1. Specyfika algorytmów genetycznych

75

3.1.1. Tło teoretyczne

75

3.1.2. Definicja

77

3.1.3. Miejsce algorytmów genetycznych wśród metod analizy danych i metod sztucznej inteligencji

78

3.2. Zasada działania klasycznego algorytmu genetycznego

88

3.2.1. Algorytm działania

88

3.2.2. Kodowanie danych w GA

94

3.2.3. Selekcja

95

3.2.4. Operatory mutacji i krzyżowania

99

8


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

3.3. Problematyka dopasowania algorytmów genetycznych do badanego zagadnienia

103

3.4. Wybrane zastosowania algorytmów genetycznych

106

3.4.1. Zastosowania różne

106

3.4.2. Zastosowania medyczne pod kątem analizy danych

113

4. Koncepcja ewolucyjnego systemu informacyjnego wykorzystującego algorytm genetyczny

118

4.1. Model danych

118

4.2. Struktura oraz metodyka wykorzystania systemu

126

4.3. Miejsce algorytmu genetycznego w systemie

132

4.4. Idea działania funkcji oceny na bazie zbioru danych weryfikacyjnych

139

5. Wykorzystanie ewolucyjnego systemu analizy danych do wyodrębnienia czynników istotnych dla zachorowań na nowotwory

146

5.1. Założenia do eksperymentu badawczego

146

5.1.1. Opis danych źródłowych

146

5.1.2. Cele działania algorytmu

150

5.1.3. Proces ETL w pozyskaniu danych źródłowych

152

5.2. Interfejs użytkownika systemu

154

5.2.1. Metadane

154

5.2.2. Parametry przetwarzania

156

5.2.3. Wyniki działania algorytmu

158

5.3. Prezentacja wyników wygenerowanych przez system

159

5.3.1. Wyniki dla algorytmu z „małą” ilością osobników i pokoleń

161

5.3.2. Wyniki dla algorytmu ze „średnią” ilością osobników i pokoleń

165

5.3.3. Wyniki dla algorytmu z „dużą” ilością osobników i pokoleń

168

6. Studium skalowalności i otwartości systemu w różnych zastosowaniach

173

6.1. Identyfikacja modułów systemu, które wymagają zmian w zależności od postawionego problemu

173

6.2. Perspektywy wykorzystania systemu w zastosowaniach ekonomicznych

175

9


dr Grzegorz Wojarnik - Ewolucyjny system analizy danych w warunkach braku metod zindywidualizowanych

6.2.1. Wykorzystanie danych gromadzonych w ramach Internetowego Konta Pacjenta do analizy kosztów funkcjonowania systemu opieki zdrowotnej w Polsce

177

6.2.2. Analiza czynników wpływających na ruch cen akcji giełdowych

178

6.2.3. Odkrywanie wzorców zachowań klientów sklepów internetowych

179

6.3 Możliwości komercjalizacji

181

7. Zakończenie

183

Bibliografia

189

Załącznik 1 – lista genów wraz z kodowaniem dziedzin ich wartości

204

10


Ewolucyjny system analizy danych