Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Podobne dokumenty
Drzewa decyzyjne w SAS Enterprise Miner

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Sieci neuronowe w Statistica

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Przykład Rezygnacja z usług operatora

Część 2: Data Mining

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

ALGORYTM RANDOM FOREST

Statystyka w SAS. Data Mining. Krzysztof Glapiak, Mateusz Borsuk, Jakub Gierasimczyk, Arkadiusz Gałecki. 15 czerwca Matematyka Finansowa

Dokumentacja Końcowa

Testowanie modeli predykcyjnych

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

Zastosowania sieci neuronowych

I EKSPLORACJA DANYCH

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Optymalizacja ciągła

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Data mining. Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska. 14 czerwca 2018

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Projekt Sieci neuronowe

Politechnika Warszawska

Podstawy Sztucznej Inteligencji (PSZT)

Naszym zadaniem jest rozpatrzenie związków między wierszami macierzy reprezentującej poziomy ekspresji poszczególnych genów.

Temat zajęć: ANALIZA DANYCH ZBIORU EKSPORT. Część I: analiza regresji

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

5. Model sezonowości i autoregresji zmiennej prognozowanej

Algorytm grupowania danych typu kwantyzacji wektorów

Laboratorium 11. Regresja SVM.

Politechnika Warszawska

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Obliczanie wartości średniej i odchylenia standardowego średniej w programie Origin

Uczenie sieci radialnych (RBF)

Data Mining. Statystyka w SAS. Klaudia Malinowska, Simona Pikuła Data Mining Statystyka w SAS 1 / 98

Zajęcia nr VII poznajemy Rattle i pakiet R.

Uczenie sieci typu MLP

ĆWICZENIE 5: Sztuczne sieci neuronowe

1. Otwórz pozycję Piston.iam

KLASYFIKACJA. Słownik języka polskiego

Analiza Statystyczna

7.4 Automatyczne stawianie prognoz

Regresja logistyczna (LOGISTIC)

4. Średnia i autoregresja zmiennej prognozowanej

Metody klasyfikacji danych - część 1 p.1/24

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2017/2018

Laboratorium nr 2. Identyfikacja systemu i detekcja uszkodzeń na podstawie modelu

Podstawy Sztucznej Inteligencji

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Zastosowania sieci neuronowych

Metody Sztucznej Inteligencji II

Uczenie sieci neuronowych i bayesowskich

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Eksploracja danych. Definicja (Eksploracja danych)

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Indukowane Reguły Decyzyjne I. Wykład 8

Jak korzystać z przeglądarki danych ESS SoftReport

Tablica Wzorów Rachunek Prawdopodobieństwa i Statystyki

Satysfakcja z życia rodziców dzieci niepełnosprawnych intelektualnie

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Wprowadzenie do klasyfikacji

Systemy uczące się Lab 4

Ekonometria. Prognozowanie ekonometryczne, ocena stabilności oszacowań parametrów strukturalnych. Jakub Mućk. Katedra Ekonomii Ilościowej

Sterowanie wielkością zamówienia w Excelu - cz. 3

Rysunek 8. Rysunek 9.

Laboratorium 6. Indukcja drzew decyzyjnych.

Analiza składowych głównych. Wprowadzenie

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

Podstawy sztucznej inteligencji

Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy

Generowanie ciągów pseudolosowych o zadanych rozkładach przykładowy raport

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

Metody eksploracji danych Laboratorium 2. Weka + Python + regresja

Konfiguracja panelu ASTRAADA HMI z sterownikiem ASTRADA ONE

PRZEWIDYWANIE WŁAŚCIWOŚCI PRODUKTU Z WYKORZYSTANIEM UCZENIA MASZYN

Metoda Automatycznej Detekcji Interakcji CHAID

Ekonometria ćwiczenia 3. Prowadzący: Sebastian Czarnota

LABORATORIUM 3. Jeśli p α, to hipotezę zerową odrzucamy Jeśli p > α, to nie mamy podstaw do odrzucenia hipotezy zerowej

Inteligentne systemy przeciw atakom sieciowym

Zastosowanie sieci neuronowej do oceny klienta banku pod względem ryzyka kredytowego Streszczenie

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną

Założenia do analizy wariancji. dr Anna Rajfura Kat. Doświadczalnictwa i Bioinformatyki SGGW

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Liczba godzin Punkty ECTS Sposób zaliczenia. ćwiczenia 16 zaliczenie z oceną

Rozpoznawanie obrazów

Skrypt 29. Statystyka. Opracowanie L2

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

WEKA klasyfikacja z użyciem sztucznych sieci neuronowych

Stanisław Cichocki. Natalia Nehrebecka

Uczenie maszynowe w zastosowaniu do fizyki cząstek

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Typy zmiennych. Zmienne i rekordy. Rodzaje zmiennych. Graficzne reprezentacje danych Statystyki opisowe

Elementy statystyki wielowymiarowej

Transkrypt:

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner rok akademicki 2014/2015

Sieci neuronowe

Sieci neuronowe w SAS Enterprise Miner Węzeł Neural Network Do realizacji algorytmu sieci neuronowych służy węzeł Neural Network. Możemy trenować sieć w trybie automatycznym albo interaktywnym. Nie jest możliwe wykorzystanie obserwacji zawierających braki danych. Trzeba je uzupełnić we wcześniejszych węzłach (Impute). 3

Przykład 1 użycie komputera Do analizy wykorzystamy zbiór F2011BD z biblioteki dmlib. W projekcie dm1 utworzymy nowy diagram o nazwie Neuron. Nadamy status Rejected wszystkim zmiennym z wyjątkiem: KOMPUTER Target DOCHG Input (Interval) LEDC Input (Interval) WYK Input (Ordinal) NR ID 4

Przykład 1 podział próby Dołączmy węzeł Data Partition. Podzielimy zbiór danych na podzbiory: treningowy, walidacyjny i testowy w proporcji: 60%, 30% i 10%. Następnie dołączmy węzeł Neural Network. 5

Węzeł Neural Network Węzeł Neural Network umożliwia: zdefiniowanie różnych topologii sieci z różnymi funkcjami aktywacji, np. przyjęcie bezpośredniego połączenia warstwy wejściowej z warstwa wyjściową; ustalenie kryterium doboru najlepszej sieci; określenie maksymalnej liczby iteracji i maksymalnego czasu treningu; użycie opcji uczenia wstępnego (preliminary training). 6

Węzeł Neural Network Ustawienia domyślne Startowe wartości wag nie będą brane z poprzedniego przebiegu. Ziarno generatora liczb pseudolosowych dla ustalenia początkowych wag. Domyślna metoda wyboru najlepszej sieci (Profit/Loss). 7

Kryterium wyboru modelu Model selection criteria Profit/Loss -- maksymalizuje zysk (profit) i minimalizuje stratę (loss) dla obserwacji w zbiorze walidacyjnym. Misclassification Rate -minimalizuje funkcję błędnej klasyfikacji dla obserwacji w zbiorze walidacyjnym. Average Error - minimalizuje błąd średni dla obserwacji w zbiorze walidacyjnym. 8

Węzeł Neural Network menu Optimization Metoda treningu: Default wybór algorytmu jest automatyczny na podstawie liczby wag do oszacowania. Maksymalna liczba iteracji. Maksymalny czas treningu sieci. Pozwala znaleźć punkty startowe do treningu sieci. 9

Metody treningu sieci Training technique Dostępne są techniki minimalizacji funkcji nieliniowych, m. in.: Levenberg-Marquardt polecana dla małych sieci, wymaga dużo pamięci; Quasi-Newton polecana dla sieci średniej wielkości, wymaga więcej iteracji niż poprzednia; Conjugate Gradient polecana dla dużych sieci, nie wymaga dużo pamięci, ale na ogół dużo iteracji. Używane dla sieci neuronowych: QProp (Quickprop) podobna do metody Newtona, szybsza niż standardowa metoda propagacji wstecznej; RProp używa oddzielnych współczynników uczenia dla każdej wagi, szybka, ale wymaga dużo iteracji, najbardziej stabilna z metod propagacji wstecznej. 10

Model sieci menu Network Domyślna architektura (MLP). Czy są bezpośrednie połączenia między warstwą wejściową i wyjściową (No). Liczba neuronów w warstwie ukrytej (3). Początkowy rozkład wag (Normal, Cauchy, Uniform). Funkcja kombinacji i funkcja aktywacji. 11

Neural Network -- wyniki Domyślnie ukazują się 4 okna: Score Ranking Overlay, Iteration Plot, Fit Statistics, Output. 12

Score Ranking Overlay Wykres Mean for Predicted ilustruje porównanie wartości średnich zmiennej objaśnianej (KOMPUTER) i jej prognozy po uporządkowaniu malejącym według prognozy dla zbioru treningowego i walidacyjnego. 13

Iteration Plot Wykres ilustruje porównanie błędu średniokwadratowego (Average Squared Error) dla danych treningowych i walidacyjnych w kolejnych iteracjach. Najmniejszy błąd dla danych walidacyjnych jest po 5 iteracjach. Można otrzymać wykresy innych funkcji błędu względem numeru iteracji (na zbiorze treningowym i walidacyjnym lub tylko na zbiorze treningowym). 14

Fit Statistics Tablica pozwala porównać różne statystyki dopasowania dla zbioru treningowego, walidacyjnego i testowego. Np. dla błędu RMSE (Root Mean Square Error) mamy: Train = 0,399155, Validation = 0,396298, Test = 0,399789. Na podstawie porównania tych statystyk można wnioskować o przetrenowaniu lub niedotrenowaniu sieci. 15

Neural Network -- Output Wykonano 5 przebiegów wstępnego treningu zmieniając zalążki punktu startowego generatora liczb pseudolosowych. Każdy przebieg miał maksymalnie 10 iteracji. The NEURAL Procedure Preliminary Training Run 1 2 3 4 5 Starting Random Seed 12345 463937847 866987325 998823970 734635899 Objective Function Value 0.159785211425 0.15938506488 0.159691686745 0.159508764532 0.159969018919 Number of Iterations Terminating Criteria 10 10 10 10 10 16

Neural Network osiąganie zbieżności algorytmu LEVMAR needs more than 20 iterations or 2147483647 function calls. WARNING: LEVMAR Optimization cannot be completed. Początkowo nie osiągnięto punktu zbieżności (FCONV). Trening powtórzono, wybierając maksymalną liczbę iteracji 100. Po 37 iteracjach nastąpiła zbieżność. 17

Początkowe wagi W oknie Output możemy odczytać początkowe wagi połączeń. Zmienna porządkowa wyk została rozłożona na 3 poziomy: wyk1, wyk2, wyk3 (poziom wyk=4 jest poziomem referencyjnym). H11, H12, H13 oznacza neurony warstwy ukrytej. BIAS oznacza wyraz wolny w funkcji kombinacji. Mamy 22 wagi. 18

Końcowe wagi W oknie Output możemy odczytać końcowe wagi połączeń. Przykładowo: dochg_h11 = 0.143104 dochg_h12 = 0.030881 dochg_h13 = -1.948289 oznaczają wagi połączeń DOCHG (z warstwy wejściowej) z neuronami warstwy ukrytej. H11_komputer = 0.411843 H12_komputer = -0.246501 H13_komputer = -0.188495 oznaczają wagi połączeń neuronów warstwy ukrytej z neuronem warstwy wyjściowej (zmienna KOMPUTER). 19

Porównanie rozkładów zmiennej w zbiorach Po wybraniu z menu polecenia View Assessment Score Distribution widzimy porównanie rozkładu zmiennej objaśnianej w zbiorze treningowym i walidacyjnym. Na osi poziomej mamy wartość prognozowaną, na osi pionowej średnią wartość zmiennej KOMPUTER. 20

Przykład 2 -- zmiana parametrów sieci Dodajmy do diagramu nowy węzeł Neural Network, w którym zmienimy parametry treningu, a następnie węzeł Model Comparison służący do porównania dwóch modeli sieci neuronowych. 21

Przykład 2 -- zmiana parametrów W modelu ustalimy, że: warstwa ukryta zawiera 6 neuronów; początkowe wagi są wybierane z rozkładu jednostajnego; wartości zmiennych wejściowych będą normalizowane (wartości są sprowadzane do przedziału [0; 1]); nie ma stałej w funkcji kombinacji (Hidden Bias = No). 22

Przykład 2 -- zmiana parametrów Zmienimy ponadto: maksymalna liczba iteracji 100, metoda treningu - Quasi-Newton, nie ma etapu wstępnego treningu. 23

Liczba iteracji dla metody Quasi-Newton Zbieżność zostaje osiągnięta po 64 iteracjach. 24

Porównanie dwóch modeli sieci neuronowej Model Comparison -Result domyślnie podzielone jest na 4 okna. 25

Statistics Comparison Po wyborze View Model Statistics Comparison możemy porównać statystyki dopasowania dla modeli Neural i Neural 2. 26

Przykład 3 problem braków danych w zbiorze W odróżnieniu od drzew decyzyjnych model sieci neuronowych nie może zawierać braków danych. Jeżeli chcemy wykorzystać zmienne mające braki danych, należy przed uruchomieniem węzła Neural Network zastąpić brakujące dane przez imputowane wartości. Do tego celu służy węzeł Impute. 27

Przykład 3 problem braków danych Zbudujemy model sieci neuronowych wykorzystując zbiór HMEQ. Niektóre zmienne w tym zbiorze zawierają braki danych. Utwórzmy diagram Impute (w projekcie dmtrees), a nim węzły Input Data (HMEQ), Data Partition, Impute i Neural Network. 28

Przykład 3 wybrane zmienne Podobnie jak w przypadku modelu drzew decyzyjnych przypiszmy zmiennej Default rolę Target. Zmieńmy odpowiednio skalę pomiaru pozostałych zmiennych, jeżeli potrzeba. 29

Przykład 3 podział próby Podzielimy zbiór na część: treningową 67%, walidacyjną 33%. Nie będziemy tworzyć zbioru testowego Zostawimy domyślną metodę losowania 30

Węzeł Impute wartości domyślne Dla zmiennych dyskretnych domyślną metodą uzupełniania braków danych jest Count -wartość najczęściej występująca Dla zmiennych ciągłych domyślną metodą uzupełniania braków danych jest Mean -wartość średnia. Osobno możemy ustawiać imputowane wartości dla zmiennej objaśnianej (domyślnie None). 31

Metody imputacji dla zmiennych dyskretnych Count dominanta; Default constant value -- stała wartość ustawiona w polu Default Character Value albo Default Number Value; Distribution -- wylosowana wartość zgodnie z rozkładem znanych wartości zmiennej; Tree -- zbudowanie drzewa decyzyjnego objaśniającego zależność danej zmiennej od pozostałych i wstawienie prognozowanej wartości. 32

Metody imputacji dla zmiennych ciągłych Mean -- wartość średnia; Median mediana; Mid-Range -- wartość środkowa: (max-min)/2; Default constant value -- stała wartość ustawiona w polu Default Character Value albo Default Number Value; Distribution -- wylosowana wartość zgodnie z rozkładem znanych wartości zmiennej; Tree -- zbudowanie drzewa decyzyjnego objaśniającego zależność danej zmiennej od pozostałych i wstawienie prognozowanej wartości. Możliwe jest zastosowanie M-estymatorów: Tukey s Biweight, Huber, Andrew s Wave. 33

Indykatory brakujących danych Można utworzyć indykatory brakujących danych. Są to nowe zmienne przyjmujące wartość 1, gdy w zmiennej występuje brak danych oraz 0 w przeciwnym wypadku (Indicator Variable = Unique, Indicator Variable Role = Input), Przyjęcie Indicator Variable = Single spowoduje utworzenie pojedynczego indykatora dla całego zbioru, Oryginalne zmienne można wtedy wyłączyć z analizy. 34

Nowe zmienne utworzone w węźle Impute Po uruchomieniu węzła Impute otrzymujemy tabelę (Imputation Summary) zawierającą nazwy nowych zmiennych oraz liczbę imputowanych wartości dla poszczególnych zmiennych w zbiorze treningowym. 35

Nowe zmienne utworzone w węźle Impute Po przejściu do węzła Neural Network widzimy nazwy nowych zmiennych. Mają one prefiks: IMP_ - zmienne po imputacji M_ - indykatory. 36

Nowe zmienne utworzone w węźle Impute Zaznaczając zmienną (tu: M_DEBTINC) i klikając na przycisk Explore można zobaczyć rozkład tej zmiennej. 37

Objaśnianie sieci neuronowych przez drzewa decyzyjne Modele sieci neuronowych są trudne do interpretacji. Po utworzeniu modelu sieci neuronowych można użyć drzew decyzyjnych do wygenerowania reguł prowadzących do klasyfikacji obiektów. W tym celu należy: 1. Zbudować model sieci neuronowych. 2. Użyć węzła Metadata do zastąpienia dotychczasowej zmiennej objaśnianej przez zmienną zawierającą wartości przewidywane przez sieć neuronową. 3. Zbudować drzewo decyzyjne, w którym ta nowa zmienna staje zmienną objaśnianą. 38

Objaśnianie sieci neuronowych przez drzewa decyzyjne Dodajemy do diagramu nowe węzły: Metadata (z grupy Ulility) i Decision Tree. 39

Objaśnianie sieci neuronowych przez drzewa decyzyjne W węźle Metadata wybieramy Train Variables Train i w oknie dialogowym Variables -- Meta zmieniamy rolę zmiennej Default na (New Role) Rejected, a rolę zmiennej I_Default na Target. Zmienna I_Default zawiera wartości przewidywane przez sieć. 40

Objaśnianie sieci neuronowych przez drzewa decyzyjne Po uruchomieniu węzła Metadata w oknie wynikowym Output widzimy, jakie parametry zmiennych zostały zmodyfikowane. 41

Objaśnianie sieci neuronowych przez drzewa decyzyjne W węźle Decision Tree wybieramy Update. Po uruchomieniu węzła z domyślnymi parametrami otrzymujemy drzewo decyzyjne, którego fragment jest pokazany: Reguły uzyskane za pomocą sieci neuronowej znajdują się na pogrubionej ścieżce. 42