Data mining Stefania Wietrzykowska, Piotr Lebiedź Politechnika Gdańska Wydział Fizyki Technicznej i Matematyki Stosowanej 11 czerwca 2017 Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 1 / 87 Eksploracja danych Definicja (Eksploracja danych) Eksploracja danych (ang. data mining) to jeden z etapów procesu uzyskiwania wiedzy z baz danych (ang. Knowledge Discovery in Databases, KDD). Idea eksploracji danych bazuje na wykorzystaniu szybkości i mocy obliczeniowej komputera do znajdowania ukrytych dla człowieka (z uwagi na ograniczone możliwości czasowe) prawidłowości i schematów w danych zgromadzonych w hurtowniach danych. Istnieje wiele technik eksploracji danych, które wywodzą się z ugruntowanych dziedzin nauki, takich jak statystyka (statystyczna analiza wielowymiarowa) i uczenie maszynowe. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 2 / 87 Hurtownie danych Definicja (Hurtownia danych) Hurtownia danych (ang. data warehouse) to baza danych, która została zorganizowana i zoptymalizowana w celu odwzorowania pewnego wycinka rzeczywistości. Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła relacyjna baza danych (choć do jej tworzenia używa się podobnych technologii). W skład hurtowni wchodzą zbiory danych zorientowanych tematycznie (np. hurtownia danych studentów). Dane te często pochodzą z różnych źródeł, są zintegrowane i przeznaczone wyłącznie do odczytu. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 3 / 87 Hurtownie danych W praktyce hurtownie są bazami danych integrującymi dane ze wszystkich pozostałych systemów bazodanowych w przedsiębiorstwie. Ta integracja polega na cyklicznym zasilaniu hurtowni danymi systemów produkcyjnych (może być tych baz lub systemów dużo i mogą być rozproszone). Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 4 / 87 Dana mining Architektura bazy hurtowni jest zorientowana na optymalizację szybkości wyszukiwania i jak najefektywniejszą analizę zawartości. Stąd bywa, że hurtownie danych nie są realizowane za pomocą relacyjnych baz danych, gdyż takie bazy ustępują szybkością innym rozwiązaniom. Użytkownicy końcowi hurtowni, czyli najczęściej zarząd firmy, korzystają z danych hurtowni poprzez różne systemy wyszukiwania danych (np. Online Analytical Processing (OLAP)). Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 5 / 87 Data mining Ze względu na ilość i tematykę danych przeprowadzane analizy mogą polegać na szukaniu trendów, zależności, wzorców itp. Dane przechowywane w hurtowni są tematycznie spójne (dotyczą konkretnego problemu lub instytucji, np. politechniki) oraz zintegrowane, co najczęściej cechuje się centralizacją przechowywania danych (wszelkie dane są przechowywane w jednym miejscu). Istnieją również zawężone tematycznie hurtownie danych (np. jednego wydziału) nazywane minihurtowniami danych (z ang. data mart). Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 6 / 87 Metodologia Przeprowadzenie poprawnego Data Miningu to bardzo złożony proces, zawierający wiele etapów - trzeba najpierw pozyskać odpowiednie dane, zrozumieć, co przedstawia każda kolumna, sprawdzić, czy nie ma błędów lub braków danych, które mogłyby przeszkodzić w pracy, itd. Aby odpowiednio przeprowadzić Data Mining, potrzebny jest logiczny plan działania uwzględniający wszystkie kroki konieczne do zrozumienia i rozwiązania problemu. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 7 / 87 CRISP Istnieją różne metodologie przeprowadzania eksploracji danych. Jednym z modeli Data Mining jest CRISP - Międzybranżowy standardowy proces dla eksploracji danych (ang. Cross-Industry Standard Process for Data Mining ) zaproponowany w połowie lat dziewięćdziesiątych przez europejskie konsorcjum przedsiębiorstw, jako powszechnie dostępny standard dla procesów Data Mining. Model ten postuluje następujący ciąg etapów projektu Data Mining : Rysunek: Schemat CRISP Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 8 / 87 Sześć Sigma Innym podejściem jest metodyka Sześć Sigma (ang. Six Sigma). Jest to dobrze zorganizowana, bazująca na danych strategia unikania wad i problemów z jakością we wszystkich rodzajach produkcji i usług, zarządzaniu i każdej działalności biznesowej. Metodyka ta w ostatnich latach staje się coraz bardziej popularna. Zaleca ona następujące etapy (tzw. DMAIC): 1 Definiowanie (ang. Define); 2 Pomiar (ang. Measure); 3 Analiza (ang. Analyze); 4 Udoskonalenie (ang. Improve); 5 Kontrola (ang. Control) Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki Stosowanej) 11 czerwca 2017 9 / 87 SEMMA SAS Institute dla swojego programu SAS Enterprise Miner opracował metodologię nazywaną SEMMA (wariant Sześć Sigma) : 1 Próbkowanie (ang. Sample), 2 Eksploracja (ang. Explore), 3 Modyfikacja (ang. Modify ), 4 Modelowanie (ang. Model), 5 Ocena (ang. Assess). Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 10 / 87 SEMMA Sample - przygotowanie i podział danych wejściowych; Explore - eksploracja danych; służy ocenie ich jakości oraz wstępnej identyfikacji istniejących zależności; Modify - modyfikacja danych; służy poprawie jakości danych i dba o to, by dane jak najlepiej pasowały do modeli; Model - modelowanie; np. drzewa decyzyjne, regresje czy sieci neuronowe; Assess - ocena jakości modeli, wybór najlepszego z nich i monitorowanie jego skuteczności. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 11 / 87 Sampling Sampling polega na doborze próby z większego zbioru tak, aby próba ta była reprezentatywna. Używa się tego przy naprawdę wielkich zbiorach danych, na których ciężko operować nawet komputerowi. Wyróżniamy metody: N pierwszych; Losowanie zwykłe – każda obserwacja losowana jest z jednakowym prawdopodobieństwem; Losowanie warstwowe – Losowanie według kryteriów: Proporcjonalne – udział obserwacji w każdej z warstw jest identyczny; Równe – węzeł losuje tę samą liczbę obserwacji z każdej z warstw; Optymalne – Udział obserwacji na warstwach jak i ich wariancja jest taka sama jak w populacji. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 12 / 87 Opis danych Przejdziemy teraz do naszego przykładu. O danych: Z pewnego przedsiębiorstwa wodociągowego otrzymaliśmy tabelę zawierającą dane związane z zapewnianiem usług wodociągowych w czasie od 31 grudnia 2014 do 1 stycznia 2016. Składa się ona z 17 zmiennych i 34 714 obserwacji. Zmienne to: moduł, identyfikator, lokalizacja, data odczytu, data rejestracji, energia, przepływ, temperatura zasilania (temperatura in), temperatura powrotu (temperatura out), różnica temperatur, objętość, godziny pracy, moc, kod info, numer klienta, objętość wodomierza 1, objętość wodomierza 2. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 13 / 87 Opis danych Nasze dane surowe prezentują się następująco: Rysunek: tabela danych w programie SAS Enterprise Guide 6.1 Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 14 / 87 Opis danych Część zmiennych zawierających dane chronione została sztucznie zmodyfikowana, są to: moduł, identyfikator, lokalizacja, kod info, numer klienta. Z tych danych nie będziemy więc korzystać. Porzucimy również daty odczytu, daty rejestracji, godziny pracy, objętość wodomierza 1 i objętość wodomierza 2, gdyż nie przydadzą się w realizacji naszego zagadnienia. W naszym projekcie będziemy chcieli przewidywać i klasyfikować wartości temperatury powrotu za pomocą pozostałych zmiennych. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 15 / 87 Źródło danych Surowe dane zaimportowaliśmy do programu SAS Enterprise Guide 6.1 i w ten sposób stworzyliśmy tabelę SASową, będącą później naszym źródłem danych w programie SAS Enterprise Miner Workstation 12.3. Będziemy korzystać z następujących zmiennych:energia, moc, objętość, przepływ, różnica temperatur, temperatura in, temperatura out. Zmienną temperatura out oznaczamy jako zmienną celu. Zmienne: energia, moc, objętość, przepływ, różnica temperatur, temperatura in określamy jako wejście, gdyż to na ich podstawie będziemy chcieli klasyfikować i dokonywać predykcji zmiennej celu. Pozostałe zmienne decydujemy się porzucić. Z pozostawionych zmiennych energia, moc, objętość, przepływ, różnica temperatur, temperatura in, temperatura out są typu przedziałowego. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 16 / 87 SAS Miner Rysunek: nowy projekt Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 17 / 87 SAS Miner Rysunek: nowa biblioteka Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 18 / 87 SAS Miner Rysunek: nowa biblioteka Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 19 / 87 SAS Miner Rysunek: nowe źródło danych Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 20 / 87 SAS Miner Rysunek: charakterystyka źródła danych Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 21 / 87 Diagram W kolejnym kroku tworzymy diagram. Rysunek: nowy diagram Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 22 / 87 Diagram Najpierw przyjrzymy się danym za pomocą statystyk DMDB. Rysunek: DMDB Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 23 / 87 Zaburzenia Jak widać na zrzucie ekranu poniżej, zmienne moc, przepływ i różnica temperatur wyraźnie zawierają jakieś błędy pomiarowe. Niektóre dane są ekstremalnie wyolbrzymione. Możemy poradzić sobie z nimi na dwa sposoby - albo użyć zastępowania, żeby nie utracić tych rekordów, tylko sztucznie nadać zaburzonym danym wartości bliższe realnym lub filtrowania, czyli wyrzucenia z tabeli rekordów zawierających zaburzenia. Rysunek: statystyki z zaburzeniami Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 24 / 87 Zastępowanie danych Jeśli chcemy dokonać zastępowania, musimy zdecydować się na metodę: średnie odchylenie bezwzględne, granice podane przez użytkownika, granice metadanych, skrajne centyle, wartość modalna, odchylenia standardowe od średniej. Rysunek: metody zastępowania Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 25 / 87 Zastępowanie danych Nie chcemy sami podawać granic, bo mogłoby to być uciążliwe, nie po to mamy taki zaawansowany program. Część metod zastępuje za dużo danych, nawet całe procenty, a to stanowczo zaburzyłoby analizę. Część nawet dokonuje poprawy zmiennej temperatura in, w której nie stwierdziliśmy nieprawidłowości. Decydujemy się więc skorzystać z kryterium wartości modalnej, gdyż wykrywa ona te zaburzenia, co my przy obserwacji surowych danych. Ponowne uruchomienie statystyk DMDB utwierdza nas w przekonaniu, że wybraliśmy dobrą metodę, gdyż pozbyliśmy się problemu nierealnych maksimów i ogromnego odchylenia standardowego bez straty wielu prawdziwych danych. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 26 / 87 Filtrowanie danych Zamiast zastępować zaburzone dane, można je po prostu usunąć. Przy filtrowaniu podobnie jak wcześniej w zastępowaniu używamy kryterium wartości modalnej, gdyż daje ono najlepsze rezultaty, zgodne z naszą intuicją przy obserwacji zbioru. Okazuje się, że problem sprawia jedynie 16 rekordów, nie będzie więc żadnym uszczerbkiem dla naszej próby (34 714 obs.), jeśli się ich po prostu pozbędziemy, zamiast je czymś zastępować. Jednakże dla celów badawczych wprowadziliśmy w życie równolegle obie metody, żeby sprawdzić, jaka będzie między nimi różnica. Jak można się było domyślić, przy 16 rekordach jest to różnica niemalże niezauważalna. Dalszą analizę przeprowadzimy więc po filtrowaniu. W obu opcjach zaznaczyliśmy również pozbywanie się braków danych. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 27 / 87 Filtrowanie danych Rysunek: statystyki bez danych zaburzonych Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 28 / 87 Badanie korelacji, partycjonowanie i imputacja Dokonujemy również równolegle eksploracji statystyk, żeby przyjrzeć się korelacji zmiennych ze zmienną celu. Widzimy, że największą korelację stwierdzono przy zmiennej różnica temperatur, sporo mają również temperatura in i przepływ. Domyślamy się więc, że będą one miały kluczowe znaczenie w naszych modelach. Gdy nasze źródło danych zostało już odpowiednio przygotowane, możemy dokonać partycjonowania na zbiory: uczący (treningowy) (40%), walidacyjny (30%) i testowy (30%). Dokonujemy również imputacji, żeby mieć pewność, że nie będziemy mieć żadnych braków danych. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 29 / 87 Partycjonowanie Zbiór treningowy odpowiada za zbudowanie modelu; obejmuje 40-70% próby wejściowej Zbiór walidacyjny wykorzystuje się do porównywania modeli między sobą; obejmuje 20-30% próby; Zbioru testowego używa się do końcowej oceny modelu wybranego na podstawie danych walidacyjnych; są to dane, na których model nie był tworzony ani jeszcze testowany; obejmuje 20-30% próby; Im większy zbiór treningowy, tym lepszy klasyfikator; Im większy zbiór testowy, tym lepiej można aproksymować błąd klasyfikacji. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 30 / 87 Drzewa decyzyjne Budując model drzewa decyzyjnego dokonujemy podziału według poniższego wzoru: r X ni ∆Z = Z0 − Zi , n i=1 0 (1) gdzie: Z0 - stopień niejednorodności dzielonego elementu; r - ilość elementów powstających w wyniku podziału; ni - liczność i-tego elementu powstałego w wyniku podziału; n0 - liczność dzielonego elementu; Zi - stopień niejednorodności i-tego elementu powstałego w wyniku podziału. Interesuje nas podział, którego różnica ∆Z jest największa. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 31 / 87 Miary niejednorodności Do oceny stopnia niejednorodności (lub zanieczyszczenia) najczęściej używa się poniższych miar: współczynnika entropii; współczynnika Giniego; log-wartość chi-kwadrat. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 32 / 87 Współczynnik entropii Definicja (Współczynnik entropii) Z = H(s1 , s2 , . . . , sk ) = − k X pi log2 (pi ), (2) i=1 gdzie: pi = ssi - odsetek obserwacji przyjmujących i-tą wartość zmiennej objaśnianej; k - ilość kategorii przyjmowanych przez zmienną objaśnianą. Przyjmujemy 0 · log2 (0) = 0. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 33 / 87 Entropia Entropią podziału zbioru S ze względu na atrybut A = {a1 , a2 , . . . , ak } nazywamy: Definicja (Entropia) E (a1 , a2 , . . . , ak ) = k X s1j + s2j + . . . + smj s j=1 H(s1j , s2j , . . . , smj ), (3) gdzie: s ij pij = |sj| - odsetek obserwacji przyjmujących i-tą wartość zmiennej objaśnianej; k - ilość kategorii przyjmowanych przez zmienną objaśnianą; H(s1 , s2 , . . . , sk ) = − Pk i=1 pi log2 (pi ). Im mniejsza wartość entropii, tym lepszy jest podział. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 34 / 87 Zysk informacyjny Definicja (Zysk informacyjny) Gain(A) = H(S) − E (A), (4) gdzie: H(S) - współczynnik entropii; E (A) - entropia. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 35 / 87 Współczynnik entropii - przykład Załóżmy, że jesteśmy sklepem komputerowym i chcemy wiedzieć, jakie osoby najczęściej kupują nasze produkty, do kogo kierować reklamy i promocje. Mamy prostą przykładową bazę danych klientów i na jej podstawie będziemy chcieli dokonać późniejszej klasyfikacji. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 36 / 87 Współczynnik entropii - przykład ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Wiek przed 30 przed 30 30-40 po 40 po 40 po 40 30-40 przed 30 przed 30 po 40 przed 30 30-40 30-40 po 40 Dochód wysoki wysoki wysoki średni niski niski niski średni niski średni średni średni wysoki średni Student nie nie nie nie tak tak tak nie tak tak tak nie tak nie Status kawaler żonaty kawaler kawaler kawaler żonaty żonaty kawaler kawaler kawaler żonaty żonaty kawaler żonaty Kupi komputer nie nie tak tak tak nie tak nie tak tak tak tak tak nie Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 37 / 87 Współczynnik entropii - przykład Naszą zmienną celu jest Kupi komputer, możemy więc dokonać podziału według zmiennych Wiek, Dochód, Student lub Status. Kupi komputer ma dwie klasy – tak i nie, a możliwe klasy podziału to: dla Wieku – {przed 30}, {30-40} i {po 40}, dla Dochodu – {wysoki}, {średni} i {niski}, dla Student – {tak} i {nie}, natomiast dla zmiennej Status - {kawaler} i {żonaty}. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 38 / 87 Współczynnik entropii - przykład Mamy więc dwie klasy dla atrybutu Kupi komputer: C1 , gdy Kupi komputer = ’tak’ o liczności s1 = 9; C2 , gdy Kupi komputer = ’nie’ o liczności s2 = 5. Stąd H(s1 , s2 ) = H(9, 5) = − 9 9 5 5 log2 − log2 = 0,94. 14 14 14 14 Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 39 / 87 Współczynnik entropii - przykład Następnie obliczamy entropię atrybutów testowych. Pierwszy będzie wiek złożony z trzech partycji: Wiek = ’przed 30’ ⇒ H(s11 , s21 ) = H(2, 3) = 0,971; Wiek = ’30-40’ ⇒ H(s12 , s22 ) = H(4, 0) = 0; Wiek = ’po 40’ ⇒ H(s13 , s23 ) = H(2, 3) = 0,971; Entropia atrybutu ’Wiek’: 5 E (0 Wiek 0 ) = 14 H(s11 , s21 ) + 4 14 H(s12 , s22 ) + 5 14 H(s13 , s23 ) = 0,694; Zysk informacyjny z podziału zbioru S według atrybutu ’Wiek’: Gain(0 Wiek 0 ) = I (s1 , s2 ) − E (0 Wiek 0 ) = 0,94 − 0,694 = 0,277. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 40 / 87 Współczynnik entropii - przykład Analogicznie otrzymujemy wartości zysku informacyjnego dla pozostałych atrybutów: Gain(0 Wiek 0 ) = 0,277; Gain(0 Dochod 0 ) = 0,029; Gain(0 Student 0 ) = 0,151; Gain(0 Status 0 ) = 0,048. Interesuje nas atrybut mający największą wartość zysku informacyjnego, a więc ’Wiek’. Podzielimy więc najpierw drzewo na partycje według zmiennej ’Wiek’. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 41 / 87 Współczynnik entropii - przykład Rysunek: podział drzewa na ’Wiek’ Jak widać wierzchołek S2 jest liściem, gdyż wszyscy należący doń klienci kupią komputery. Należy natomiast dokonać dalszego podziału wierzchołków S1 i S3 . Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 42 / 87 Współczynnik entropii - przykład Wykonanie podobnej analizy pokazuje, że S1 należy podzielić ze względu na atrybut ’Student’, a S3 ze względu na ’Status’. Całość prezentuje się następująco: Rysunek: drzewo decyzyjne: Kupi komputer Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 43 / 87 Współczynnik entropii - przykład Co daje nam takie drzewo i jak z niego korzystać? Załóżmy, że pojawia się klient studiujący, mający 23 lata, będący kawalerem o niskich dochodach. Czy możemy przewidywać, że kupi on od nas komputer? TAK, gdyż trafia do odpowiedniego wierzchołka: Rysunek: czy klient kupi komputer? Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 44 / 87 Współczynnik Giniego Definicja (Współczynnik Giniego) Z =1− k X pi2 , (5) i=1 gdzie: pi - odsetek obserwacji przyjmujących i-tą wartość zmiennej objaśnianej; k - ilość kategorii przyjmowanych przez zmienną objaśnianą. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 45 / 87 Współczynnik Giniego - przykład Załóżmy, że jesteśmy towarzystwem ubezpieczeniowym i chcemy wiedzieć, jaką składkę zaproponować danej osobie za ubezpieczenie samochodu. W tym celu musimy stwierdzić, czy należy ona do grupy podwyższonego ryzyka spowodowania wypadku, czy też nie. Mamy bardzo prostą przykładową bazę danych kierowców i na jej podstawie będziemy chcieli dokonać późniejszej klasyfikacji naszego klienta. ID 1 2 3 4 5 6 Wiek 20 18 50 70 30 25 Samochód Rodzinny Sportowy Sportowy Rodzinny Terenowy Rodzinny Ryzyko Wysokie Wysokie Wysokie Niskie Niskie Wysokie Naszą zmienną celu jest Ryzyko, możemy więc dokonać podziału według zmiennych Wiek i Samochód. Ryzyko ma dwie klasy - Wysokie Niskie, a Technicznej możliwe punkty11 podziału Stefania Wietrzykowska, Piotr Lebiedź (Politechnika GdańskaiData Wydział mining Fizyki i Matematyki Stosowanej) czerwca 2017 dla 46 / 87 Współczynnik Giniego - przykład Punkt podziału gsplit zadany jest wzorem: gsplit = m2 + n2 m 1 + n1 Z1 + Z2 , m+n m+n (6) gdzie: mi - liczba elementów w Si należących do klasy Wysokie; ni - liczba elementów w Si należących do klasy Niskie. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 47 / 87 Współczynnik Giniego - przykład Weźmy najpierw podział atrybutu Wiek ¬ 18 i > 18. Podział Wiek ¬ 18 Wiek > 18 Wysokie 1 3 Niskie 0 2 Wartości współczynników Giniego oraz punkt podziału to: Z1 = Z (S1 ) = Z (Wiek ¬ 18) = 1 − (12 + 02 ) = 0; Z2 = Z (S2 ) = Z (Wiek > 18) = 1 − gsplit = 3 2 5 + 2 2 5 (7) ! = 0,73; m1 + n1 m 2 + n2 1 5 Z1 + Z2 = · 0 + · 0,73 = 0,61. m+n m+n 6 6 Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 (8) (9) 48 / 87 Współczynnik Giniego - przykład Postępując dalej podobnie otrzymujemy: Wiek ¬ 18 - gsplit = 0,61; Wiek ¬ 20 - gsplit = 0,33; Wiek ¬ 25 - gsplit = 0,22; Wiek ¬ 30 - gsplit = 0,29; Wiek ¬ 50 - gsplit = 0,27; Wiek ¬ 70 - gsplit = 0,44. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 49 / 87 Współczynnik Giniego - przykład Teraz weźmy podział atrybutu Samochód. Podział Samochód = Rodzinny Samochód = Sportowy Samochód = Terenowy Wysokie 2 2 0 Niskie 1 0 1 Wartości współczynników Giniego oraz punkt podziału to: Z (Samochód = Rodzinny) = 1 − 2 2 3 + Z (Samochód ∈ {Sportowy, Terenowy}) = 1 − 1 2 ! 3 2 2 3 = 0,44; + 1 2 3 (10) ! = 0,44; (11) gsplit 3 3 = · 0,44 + · 0,44 = 0,44. 6 6 Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 (12) 50 / 87 Współczynnik Giniego - przykład Z (Samochód = Sportowy) = 0; (13) Z (Samochód ∈ {Rodzinny, Terenowy}) = 0,5; (14) gsplit = 0,33. (15) Z (Samochód = Terenowy) = 0; (16) Z (Samochód ∈ {Rodzinny, Sportowy}) = 0,32; (17) gsplit = 0,27. (18) Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 51 / 87 Współczynnik Giniego - przykład Postępując dalej podobnie otrzymujemy: Wiek ¬ 18 - gsplit = 0,61; Wiek ¬ 20 - gsplit = 0,33; Wiek ¬ 25 - gsplit = 0,22; Wiek ¬ 30 - gsplit = 0,29; Wiek ¬ 50 - gsplit = 0,27; Wiek ¬ 70 - gsplit = 0,44; Samochód = Rodzinny - gsplit = 0,44; Samochód = Sportowy - gsplit = 0,33; Samochód = Terenowy - gsplit = 0,27. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 52 / 87 Współczynnik Giniego - przykład Znając już wszystkie możliwe wartości gsplit możemy dokonać najlepszego podziału. Wybieramy ten podział, który osiąga najmniejszą wartość gsplit Jest to 0,22 dla podziału Wieku na ¬ 25 i > 25. Mamy jednakże mały zbiór danych i duże luki między parametrami wieku, w takich sytuacjach uśrednia się punkt podziału, czyli będzie to 25+30 = 27,5. 2 Ostatecznie więc pierwszy podział naszego drzewa wygląda następująco: Rysunek: Pierwszy podział Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 53 / 87 Współczynnik Giniego - przykład Jak łatwo zauważyć, w przypadku gdy Wiek ¬ 27,5, dotarliśmy do liścia, gdyż dla naszych danych, gdy Wiek ¬ 27,5, to Ryzyko jest zawsze Wysokie. Musimy jednak dokonać kolejnego podziału prawej gałęzi. Spójrzmy znów na możliwe punkty podziału. Albo będzie to Wiek ¬ 30, Wiek ¬ 50, Wiek ¬ 70 lub typy samochodów. Rozpatrujemy już tylko tabelę: ID 1 2 3 Wiek 50 70 30 Samochód Sportowy Rodzinny Terenowy Ryzyko Wysokie Niskie Niskie Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 54 / 87 Współczynnik Giniego - przykład Ostatecznie drzewo wygląda w poniższy sposób: Rysunek: Drzewo z przykładu Jak widać oddzielenie typu samochodu Sportowego od pozostałych pozwala osiągnąć liście. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 55 / 87 Log-wartość chi-kwadrat Log-wartość chi-kwadrat to wielkość − log(p), (19) gdzie p-wartość jest granicznym poziomem istotności statystyki: k X r X (R(ij) − E(ij) )2 i=1 j=1 E(ij) , (20) gdzie: R(ij) to macierz rzeczywista mająca na miejscu (ij) wartość równą ilości obserwacji przyjmujących i-tą wartość zmiennej objaśnianej w j-tym węźle; E(ij) to macierz mająca w miejscu (ij) wartość równą średniej z rozkładu liczbie obserwacji przyjmujących i-tą wartość zmiennej objaśnianej w j-tym węźle. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 56 / 87 Log-wartość chi-kwadrat Gdy dzielimy węzeł wielokrotnie lepiej jest używać wzoru: − log(m · p), (21) gdzie m jest ilością podziałów. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 57 / 87 Klasyfikacja Teraz, gdy mamy już przygotowane dane, możemy przejść do klasyfikacji zmiennej celu. Użyjemy do tego drzew decyzyjnych. Nasza zmienna celu jest typu przedziałowego, więc mamy do wyboru dwie metody ProbF (test F) i wariancję. Sprawdzenie, która z metod odnosi lepszy wynik w naszym przypadku pokazało, że lepiej ustawić wariancję. Zmiana poziomu istotności nie wpływa na ocenę modelu, zostawiamy więc domyślnie 0,2. Zmiana maksymalnej liczby rozgałęzień z 2 na 3 stanowczo poprawiła model, wzrost do 4 również, ale ustawienie już 5 rozgałęzień pogorszyło model, decydujemy się więc na ustawienie liczby rozgałęzień na 4. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 58 / 87 Klasyfikacja Następnie przyjrzymy się parametrowi głębi. Domyślnie ma on wartość 6, zmniejszenie głębi oczywiście pogarsza model, natomiast zwiększenie głębi do 7 przyniosło poprawę modelu, zwiększenie do 8 również, ale już nieznaczną. Także parametr głębi ustawiamy na 8. Takie duże drzewo sprawia już programowi problemy, pozwala nam jednak podzielić źródło danych na aż kilkadziesiąt kategorii na różnych poziomach głębi, także możemy dosyć dokładnie ocenić, jaką wartość będzie miała nasza zmienna celu, jeżeli dane wejściowe będą należeć do odpowiedniej kategorii – co jest istotą metody klasyfikacji zmiennej celu. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 59 / 87 Interakcyjne drzewo decyzyjne Teraz omówimy proces tworzenia takiego drzewa za pomocą interakcyjnego drzewa decyzyjnego. Powinniśmy zawsze dokonywać podziału węzła względem zmiennej, która ma największy współczynnik −log (p), więc na początku jest to różnica temperatur, a punkt podziału wyznaczony zostaje jako 37,6650. Potem dzielimy każdy węzeł względem temperatury in, pierwszy w punkcie 75,9500, a drugi w 77,8500. Powtarzając te kroki, dojdziemy w końcu do momentu, gdy na tym samym poziomie głębi będziemy dzielić węzły względem różnych zmiennych. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 60 / 87 Interakcyjne drzewo decyzyjne Rysunek: wybór zmiennej podziału węzła Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 61 / 87 Interakcyjne drzewo decyzyjne Rysunek: proste drzewo decyzyjne Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 62 / 87 Predykcja zmiennej celu Następnym krokiem będzie dokonanie predykcji zmiennej celu. Tworzymy kilka różnych podstawowych modeli: regresję; sieć neuronową; drzewo decyzyjne. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 63 / 87 Regresja Regresję możemy wybrać albo logistyczną, albo liniową. Przed dokonaniem regresji należy uzupełnić lub usunąć braki danych. Metoda regresji polega na takim wyznaczeniu współczynników funkcji regresji dla wybranego stopnia wielomianu, żeby krzywa regresji dopasowywała się do krzywej zmiennych w zbiorze uczącym i potem testowym. Regresja logistyczna zakłada, że wartość prawdopodobieństwa jest uzależniona predyktorem liniowym logit(p̂) = X β = β0 + β1 X1 + β2 X2 + . . . + βN XN . (22) Po wyestymowaniu parametrów modelu możemy wyliczyć wyestymowane prawdopodobieństwo dla wektora X = (X1 , X2 , . . . , Xn ): p̂ = 1 1 + exp(−X β) Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 (23) 64 / 87 Regresja Przy wybieraniu zmiennych objaśniających należy się dobrze zastanowić, czy nie usunąć zmiennych zbytnio ze sobą skorelowanych lub dodać ich iloczyny. W wyborze zmiennych pomagają metody: Krokowa wprzód / postępująca (ang. Forward) – Na początku dobieramy jedynie wyraz wolny, a potem pojedynczo dodajemy do modelu kolejne zmienne; Krokowa wstecz (ang. Backward) – Najpierw bierzemy do modelu wszystkie zmienne i kolejno usuwamy najmniej istotne; Krokowa – podobnie jak Forward, z tym że po każdym kroku badamy istotność zmiennych obecnych w modelu. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 65 / 87 Regresja - przykład Wybieramy regresję logistyczną; Podwyższenie stopnia wielomianu na 3 nic nie zmienia, więc zostajemy przy 2. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 66 / 87 Sieć neuronowa Sieć neuronowa to zbiór połączonych ze sobą jednostek wejściowo-wyjściowych. Z każdym z połączeń skojarzona jest waga, która może się zmieniać podczas procesu uczenia. Metoda ta polega głównie na wyznaczeniu wag dla kolejnych zmiennych oraz ich stopniowej i dokładnej modyfikacji, tak żeby model dopasował się do zbioru uczącego i sprawdził się w zbiorze testowym, z którym nie miał wcześniej do czynienia. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 67 / 87 Sieć neuronowa Prosta sieć neuronowa jest złożona z warstwy wejściowej zawierającej n neuronów, które odpowiadają zmiennym wejścia oraz wyjściowej sumującej ważone impulsy i transformującej je do skali zmiennej celu. Modelami bardziej złożonymi są sieci neuronowe zawierające warstwę ukrytą. Są to tzw. perceptrony wielowarstwowe (MLP - ang. Multi Layer Perceptron). Warstwa ukryta składa się z pewnej liczby neuronów (ukrytych), które nieliniowo przekształcają kombinację liniową otrzymanych sygnałów. Neuron warstwy ukrytej składa się z funkcji łączenia (link function) i funkcji aktywacji. Funkcja łączenia odpowiada za wytworzenie pojedynczej wartości wejściowej dla danego neuronu z wartości jego poprzedników. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 68 / 87 Funkcje łączenia Mamy następujące rodzaje funkcji łączenia: Addytywna – Sumuje wszystkie wartości wejściowe; Liniowa – Stanowi kombinację liniową wartości wejściowych i wag; EQSlopes – Stanowi kombinację liniową wartości wejściowych i wag, przy czym w danej warstwie używa się tej samej wagi, dodając inną wartość współczynnika przesunięcia dla każdej wartości wejściowej; EQRadial – Radialna funkcja bazowa z równymi wysokościami i szerokościami w obrębie warstwy; EHRadial – Radialna funkcja bazowa z równymi wysokościami i nierównymi szerokościami w obrębie warstwy. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 69 / 87 Funkcje aktywacji Funkcja aktywacji oblicza wartość neuronu na wyjściu. Wyróżniamy funkcje: Tożsamościową – g ; Liniową – g · waga + b; Wykładniczą – e g ; Odwrotną – 1 g; Kwadratową – g 2 ; Logistyczną – 1 1+e −g ; 2 Gaussa – e −g ; Sinus – sin g . Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 70 / 87 Sieć neuronowa Rysunek: MLP Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 71 / 87 Sieć neuronowa Wynik generowany przez sieć jest rezultatem działania funkcji transformującej sumę ważonych wyjść z neuronów warstwy ukrytej. Jeśli zmienna jest binarna, to stosuje się odwrotność przekształcenia logitowego, a jeżeli jest ciągła – przekształcenie identycznościowe. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 72 / 87 Sieć neuronowa Tak wygląda schemat sieci z jedną warstwą ukrytą zawierającą n neuronów: Rysunek: sieć z warstwą ukrytą Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 73 / 87 Sieć neuronowa Dodatkowo można wprowadzić połączenie między warstwą wejściową i wyjściową. Umożliwi to dodatkową analizę prostej kombinacji liniowej predyktorów, ale rozbuduje zagadnienie estymacji. Są metody wyznaczenia odpowiedniej liczby neuronów w warstwach ukrytych. Np. reguła piramidy geometrycznej mówi, że liczba neuronów powinna maleć od wejścia do wyjścia. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 74 / 87 Sieć neuronowa - przykład Ważnym parametrem w modelach sieci neuronowych jest ilość jednostek ukrytych. Może ich być od 1 do 64, a domyślnie ustawione są jedynie 3. Zmiana na 4 pogarsza model, natomiast na 20 poprawia. Jednak jeszcze lepszy wynik daje zmniejszenie ich ilości i ustawienie 2 jednostek ukrytych. Wartości skrajne, to jest 1 i 64 dają gorsze wyniki od 2. Zostaniemy więc przy 2. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 75 / 87 Uczenie się sieci Etapy uczenia się sieci: 1 Standaryzacja zmiennych objaśniających, w celu poprawnego przydzielania wag. 2 Losowanie parametrów początkowych. 3 Wczytanie obserwacji ze zbioru treningowego i na ich podstawie korekta wag w celu usprawnienia modelu. 4 Powtarzanie poprzedniego kroku aż do osiągnięcia zbieżności algorytmu optymalizacyjnego, przekroczenia ilości iteracji lub innego warunku stopu. 5 Ocena stopnia dopasowania modelu na próbie walidacyjnej wag otrzymanych w kolejnych iteracjach. Wybór najlepszego modelu. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 76 / 87 Porównanie modeli Do porównywania i oceny modeli używa się między innymi następujących metod: błąd średniokwadratowy: n 1X (y ∗ − yi )2 , ASE = n i=1 i (24) gdzie yi∗ - wartość prognozowana przez model, a yi – wartość z próby; skuteczność klasyfikacji – iloraz błędu klasyfikacji; statystyka Kołmogorowa-Smirnowa: KS = max{|Fn (t) − F0 (t)|}, t (25) gdzie Fn – dystrybuanta empiryczna n-elementowej próby, a F0 – dystrybuanta teoretyczna; Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 77 / 87 Porównanie modeli – ROC Indeks ROC – miara określająca skuteczność modelu w rozróżnianiu podpopulacji o różnych wartościach zmiennej objaśnianej. Należy obliczyć pole pod krzywą ROC, im bliżej 1 i im bardziej wykres skierowany jest w kierunku lewego górnego rogu, tym lepszy jest model; konstrukcja krzywej ROC: sortujemy populację malejąco według przydzielonych prawdopodobieństw i wybieramy górne k % obserwacji; zakładamy, że w wybranej podpopulacji jest x jedynek i y zer. Oznaczamy n1 i n0 jako liczności tych klas w całej próbie. Obliczamy specyficzność = ny0 i wrażliwość = nx1 ; powyższe kroki powtarzamy dla różnych k i łączymy w krzywą. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 78 / 87 Porównanie modeli – lift Wzrost (lift) – miara obliczana jako iloraz odsetka zaobserwowanych zdarzeń w górnych n % posortowanej malejąco populacji według przewidywanych prawdopodobieństw i odsetka tych samych zdarzeń w całej populacji Wykres liftu łącznego powinien gładko spadać do 1; skoki wskazują błędy modelu. dzielimy zbiór na równe części (np. co 5 centyli); zliczamy w każdej części ilość sukcesów; liczymy skumulowaną ilość sukcesów; obliczamy skumulowaną ilość sukcesów w każdej części w procentach (Gain score); ostatecznie dzielimy Gain score przez procentowy górny kwantyl danego przedziału, np. gdy górny kwantyl wynosi 15%, to Gain score dzielimy przez 15. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 79 / 87 Porównanie modeli - przykład Jak widać na rysunku, najlepiej dopasowanym modelem, to jest takim, który osiąga najmniejszy błąd średniokwadratowy jest model regresji typu liniowego ze stopniem wielomianu 2, potem regresja logistyczna ze stopniem wielomianu 2, następnie sieć neuronowa z 2 jednostkami ukrytymi, potem inne sieci neuronowe, na szarym końcu zaś drzewa decyzyjne. Jedno drzewo zostało celowo stworzone z niskim poziomem głębi i wyraźnie odstaje od wykresu danych oraz ma ogromny błąd średniokwadratowy. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 80 / 87 Porównanie modeli Rysunek: porównanie modeli Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 81 / 87 Porównanie modeli Rysunek: przykładowe wykresy dopasowania modeli Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 82 / 87 Porównanie modeli Rysunek: wykres dopasowania modeli Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 83 / 87 Wnioski Jesteśmy w stanie dokonać dokładnej prognozy i klasyfikacji temperatury out na podstawie różnicy temperatur, temperatury in, przepływu i pozostałych zmiennych przy użyciu oprogramowania firmy SAS i zastosowanej w niej metodyki SEMMA. Nie powinno się zdawać wyłącznie na program i jego domyślne wartości, gdyż modele, w których dokonaliśmy zmian, okazały się dokładniejsze. Program więc nie zastąpi człowieka, jednakże bardzo usprawnia proces klasyfikowania i prognozowania zmiennej celu. Przed stworzeniem modeli należy zawsze dokładnie przeanalizować źródło danych, sprawdzić, skąd pochodzą dane, czym są zmienne, jakiego są typu i jakie mogą osiągać realnie wartości. Przed stworzeniem modeli należy sprawdzić, czy wśród danych nie ma błędów pomiarowych i braków danych. Niechciane rekordy zastąpić lub usunąć ze źródła, jeśli ich ilość jest statystycznie nieistotna. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 84 / 87 Wnioski Przed stworzeniem modeli należy uprzednio przygotowane źródło danych podzielić na zbiory uczący, walidacyjny i testowy, żeby modele mogły się na nich uczyć, poprawiać i sprawdzać. Dla naszych danych najlepszym typem modelu w prognozowaniu okazała się regresja, nie jest to jednak ogólnie żadną regułą. Trzeba uważać przy ustawianiu wartości w procesie uczenia modelu, żeby nie doszło do jego przeuczenia, wcale nie jest tak, że modele bardziej skomplikowane, z większą głębią etc. dają lepsze wyniki. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 85 / 87 Cały diagram Cały nasz diagram prezentuje się następująco: Rysunek: diagram Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 86 / 87 Bibliografia G. Jałocha, A. Pomykała, B. Szymecki, K. Zera; DATA MINING, 02.06.2015; K. Glepiak, M. Borsuk, J. Gierasimczyk, A. Gałecki; Statystyka w SAS Data Mining ; Techniki zgłębiania danych (data mining); StatSoft; www.statsoft.pl; dostęp: 25.05.2017. Stefania Wietrzykowska, Piotr Lebiedź (Politechnika Gdańska Data Wydział mining Fizyki Technicznej i Matematyki 11 Stosowanej) czerwca 2017 87 / 87