Statystyka w SAS

advertisement
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Statystyka w SAS
Data Mining
Krzysztof Glapiak, Mateusz Borsuk,
Jakub Gierasimczyk, Arkadiusz Gałecki
Matematyka Finansowa
15 czerwca 2015
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Plan prezentacji
1
Wstęp - czym jest Data Mining
2
Partycjonowanie danych
3
Drzewa decyzyjne
4
Regresja
5
Sieci neuronowe
6
Ocena i wybór modelu
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Czym jest Data Mining?
Definicja
Data Mining (eksploracja danych) jest to jeden z etapów procesu
odkrywania wiedzy z baz danych (ang. Knowledge Discovery in
Databases, KDD). Polega na wykorzystaniu zaawansowanych
metod do modelowania relacji w dużych zbiorach danych.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Techniki eksploracji danych
Techniki eksploracji danych:
regresja
drzewa decyzyjne
sieci neuronowe
metody uczenia maszynowego
metody ewolucyjne
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Metody przetwarzania
Metody przetwarzania:
poszukiwanie asocjacji
analiza jakościowa danych
analiza ilościowa danych
klasyfikacja
grupowanie
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Etapy procesu Data Mining w SAS
Wszystkie omawiane w prezentacji kroki stanowią składowe metodologi
SEMMA (Sample, Explore, Modify, Model, Assess), która opisuje całość Data
Mining z poziomu narzędzi analitycznych SAS. Jest ona rozumiana jako
rozbicie tego procesu na pięć powiązanych ze sobą etapów:
1
Sample - przygotowanie i podział wejściowej próby danych.
2
Explore - eksploracja danych, służąca ocenie ich jakości oraz wstępnej
identyfikacji zależności pomiędzy zmiennymi.
3
Modify - modyfikacja danych, służąca poprawie ich jakości, spełnieniu
założeń metod modelowania lub zwiększaniu ich elastyczności poprzez
transformację zmiennych.
4
Model - modelowanie przy użyciu takich metod jak wspomniane drzewa
decyzyjne, regresja czy sieci neuronowe.
5
Assess - ocena jakości budowanych modeli i wybór najlepszego z nich, a
następnie monitorowanie jego skuteczności na nowo napływających
danych.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Import danych
Po otwarciu nowego projektu w SAS Enterprise Miner Workstation ukazuje
nam się okno diagramu, na którym będziemy pracować.
Analizować będziemy dane dotyczące kredytobiorców.
Aby zaimportować dane należy wybrać Plik → Nowy → Źródło danych.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Import danych
Pojawia się tabela z atrybutami zmiennych. Analizować będziemy zmienną
BAD objaśniającą czy kredytobiorca spłacił pożyczkę, dlatego rolę zmiennej
określamy jako Zmienną celu.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Wyświetlanie zbioru danych
Aby wyświetlić zaimportowany zbiór należy przeciągnąć źródło danych HMEQ z
lewego górnego okna na pole diagramu → zaznaczyć kafelkę → w lewym
dolnym oknie nacisnąć [...] obok pola Importowane dane → nacisnąć
Przegladaj...
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Rodzaj i rola zmiennych
W zakresie ról zmiennych najczęściej wykorzystywanymi są:
Wejściowa (Input) - zmienna objaśniająca
Zmienna celu (Target) - zmienna objaśniana
Odrzucona (Rejected) - nie bierze udziału w analizie
ID - identyfikator
Dostępne jest pięć skal pomiarowych:
Przedziałowa (Interval) - zmienna ciągła
Nominalna (Nominal)
Porządkowa (Ordinal)
Binarna (Binary)
Unarna (Unary) - zmienna o jednej wartości
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Czym jest Data Mining
Omówienie danych
Omówienie badanych zmiennych
Analizowany zbiór danych przedstawia informację na temat kredytobiorców:
BAD - zmienna celu - przyjmuje wartość 1, gdy kredytobiorca nie spłacił kredytu
CLADGE - długość trwania najdłuższego z aktywnych zobowiązań kredytowych
zaciągniętych przez kredytobiorcę (w miesiącach)
CLNO - ilość aktywnych zobowiązań kredytowych
DEBTINC - współczynnik zadłużenia do przychodu
DELINQ - historyczna liczba zaległości kredytowych
DEROG - ilość negatywnych informacji kredytowych
JOB - wykonywany zawód
LOAN - kwota pozostała do spłaty
MORTDUE - kwota do spłaty bieżącej hipoteki
NINQ - ilość ostatnio złożonych wniosków kredytowych
REASON - przyjmuje wartość DebCon, gdy kredyt jest przeznaczony na
konsolidację innego kredytu, wartość HomeImp, gdy jest przeznaczony na
zwiększenie wartości hipoteki
VALUE - wartość obecna hipoteki
YOJ - staż w obecnej pracy (w latach)
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Partycjonowanie
Węzeł Partycjonowanie
Aby wykonać partycjonowanie przeciągamy ikonę Partycjonowania na pole
diagramu → łączymy węzeł Zbioru danych z węzłem Partycjonowania →
uruchamiamy.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Partycjonowanie
Podział zbioru
Zbiór dzielimy na trzy części:
treningowa - służy do zbudowania modelu. Liczność tej próby powinna
być pomiędzy 40% a 70% próby wejściowej
walidacyjna - służy do porównania różnych modeli między sobą, powinna
być między 20% do 30% próby wejściowej
testowa - próba używana do ostatecznej oceny modelu wybranego na
podstawie danych walidacyjnych, powinna być między 20% do 30% próby
wejściowej
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Partycjonowanie
Metody partycjonowania
Wyróżniamy następujące metody:
losowanie warstwowe (Stratified) - pozwala utrzymać rozkład zmiennej
objaśnianej w powstających próbach
losowanie klastrowe (Cluster) - losowanie proporcjonalne z klastrów
wykrytych w badanej populacji
prosta próba losowa (Simple random)
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Węzeł Drzewa decyzyjne
W zakładce Modelowanie wybieramy ikonę Drzewa decyzyjne i przeciągamy na
pole diagramu analogicznie jak w przypadku Partycjonowania → łączymy węzeł
Drzewa decyzyjnego z węzłem Partycjonowania.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Analiza danych za pomocą drzewa decyzyjnego
1
2
3
4
5
Wartość zmiennej objaśnianej.
Dane treningowe.
Dane walidacyjne.
Liczba obserwacji.
Udział procentowy dla każdej wartości zmiennej objaśnianej.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Analiza danych za pomocą drzewa decyzyjnego
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Wykres klasyfikacji
Wybieramy Rezultaty → Widok → Ocena → Wykres klasyfikacji.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Postać modelu
Budując model drzewa dokonujemy podziału za pomocą wzoru:
∆Z = Z0 −
r
X
ni
i=1
n0
Zi ,
gdzie Z0 - stopień niejednorodności dzielonego elementu,
n0 - liczność dzielonego elementu,
r - liczba elementów powstających w wyniku podziału,
Zi - niejednorodność i-tego elementu powstałego w wyniku podziału,
ni - liczność i-tego elementu powstałego w wyniku podziału.
Wybieramy ten podział, dla którego różnica ∆Z jest największa.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Stopień niejednorodności
Stopień niejednorodności (zanieczyszczenia) może być oceniany przy użyciu
następujących miar:
Współczynnik Giniego
Z =1−
k
X
pi2 ,
i=1
gdzie k - liczba kategorii przyjmowanych przez zmienną objaśnianą,
pi - odsetek obserwacji przyjmujących i-tą wartość zmiennej objaśnianej.
Współczynnik entropii
Z = H(p1 , ..., pk ) = −
k
X
pi log2 (pi )
i=1
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik Giniego - przykład
Rozważmy tabelę z danymi:
Chcemy wyznaczyć czy dana osoba należy do grupy wysokiego czy niskiego
ryzyka.
Atrybutami, względem których możemy podzielić zbiór wejściowy są Wiek oraz
Typ samochodu. Możliwe punkty podziału dla wieku to: Wiek ≤ 17,
Wiek ≤ 20, Wiek ≤ 23, Wiek ≤ 32, Wiek ≤ 43, Wiek ≤ 68 oraz dla typu
samochodu: {sport}, {truck}, {family }. Klasy to Low oraz High.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik Giniego - przykład c.d.
Punkt podziału gsplit dany jest wzorem:
m2 + n2
m1 + n1
Z1 +
Z2 , gdzie
gsplit =
m+n
m+n
m1 , n1 - liczba elementów w S1 należących do klas odpowiednio High i Low,
m2 , n2 - liczba elementów w S2 należących do klas odpowiednio High i Low.
W przypadku Wiek ≤ 17 mamy:
Wartości współczynników Giniego oraz punktu podziału wynoszą:
Z1 = Z (S1 ) = Z (Wiek ≤ 17) = 1 − (12 + 02 ) = 0,
Z2 = Z (S2 ) = Z (Wiek ≥ 17) = 1 − ((3/5)2 + (2/5)2 ) = 0.73,
gsplit =
m1 + n1
m2 + n2
Z1 +
Z2 = (1/6) · 0 + (5/6) · 0.73 = 0.61
m+n
m+n
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik Giniego - przykład c.d.
Postępując analogicznie dla kolejnych punktów podziału: Wiek ≤ 20,
Wiek ≤ 23, Wiek ≤ 32, Wiek ≤ 43, Wiek ≤ 68 otrzymamy:
Wiek ≤ 20, gsplit = 0.33
Wiek ≤ 23, gsplit = 0.22
Wiek ≤ 32, gsplit = 0.29
Wiek ≤ 43, gsplit = 0.27
Wiek ≤ 68, gsplit = 0.44
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik Giniego - przykład c.d.
Podobnie postępujemy przy podziale ze względu na typ samochodu.
Z (Typ sam ∈ {sport}) = 1 − ((2/2)2 + 02 ) = 0,
Z (Typ sam ∈ {family , truck}) = 1 − ((2/4)2 + (2/4)2 ) = 0.5,
gsplit = (2/6) · 0 + (4/6) · 0.5 = 0.33,
Z (Typ sam ∈ {truck}) = 0,
Z (Typ sam ∈ {family , sport}) = 0.32,
gsplit = (1/6) · 0 + (5/6) · 0.32 = 0.27,
Z (Typ sam ∈ {family }) = 0.44,
Z (Typ sam ∈ {truck, sport}) = 0.44,
gsplit = (3/6) · 0.44 + (3/6) · 0.44 = 0.44.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik Giniego - przykład c.d.
Najmniejsza wartość gsplit = 0.22 jest przyjmowana w przypadku punktu
podziału Wiek ≤ 23. Ostatecznie, ze względu na dużą rozpiętość między
kolejnymi danymi na temat wieku, punkt podziału ustalamy na
gsplit = (23 + 32)/2 = 27.5. Na skutek takiego podziału dostajemy drzewo
postaci:
Możemy zauważyć, że w każdym przypadku gdy Wiek ≤ 27.5 Ryzyko wpada do
klasy High, więc lewa gałąź nie będzie rozwijana - doszliśmy do liścia.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik Giniego - przykład c.d.
Podział prawego węzła ze względu na Typ samochodu przebiega analogicznie z
uwzględnieniem, że Wiek > 27.5, czyli na danych:
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik Giniego - przykład c.d.
Ostatecznie drzewo ma postać:
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik entropii
Do wyboru atrybutu testowego w wierzchołku drzewa decyzyjnego
wykorzystujemy miarę zysku informacyjnego. W tym celu wybieramy
atrybut o największej wartości zysku (lub o największej redukcji entropii)
Atrybut testowy minimalizuje ilość informacji niezbędnej do klasyfikacji
przykładów w partycjach uzyskanych w wyniku podziału
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Współczynnik entropii
Dany jest zbiór przykładów S, zbiór kategorii Ci oraz zbiory si należące do Ci .
Wartość współczynnika entropii możemy obliczyć przy użyciu poniższego wzoru:
Współczynnik entropii
H(s1 , . . . , s2 ) = −
m
P
pi log2 (pi ),
i=1
gdzie:
m - liczba różnych wartości przyjmowanych przez zmienną objaśniającą
pi = ssi - odsetek obserwacji przyjmujących i-tą wartość zmiennej
objaśnianej.
UWAGA
Przyjmuje się 0 · log2 0 = 0.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Entropia
Entropię podziału zbioru S, ze względu na atrybut A definiujemy następująco:
Entropia
E (a1 , . . . , ak ) =
k
P
(s1j +···+smj )
s
H(s1j , . . . , smj ),
j=1
gdzie:
H(s1j , . . . , smj ) = −
m
P
pij log2 (pij )
i=1
pij =
sij
,
|Sj |
Sj - dana partycja.
Im mniejsza wartość entropii, tym mniejsze zanieczyszczenie podziału zbioru S
na partycje.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Zysk informacyjny
Zysk informacyjny, wynikający z podziału zbioru S, ze względu na atrybut A,
definiujemy:
Zysk informacyjny
Gain(A) = H(s1 , . . . , sm ) − E (A).
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Przykład
Jako atrybut decyzyjny przyjmujemy ”kupi komputer”.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Przykład
Atrybut ”kupi komputer” posiada dwie wartości: tak i nie, stąd otrzymujemy
dwie klasy:
C1 - odpowiada wartości tak i zawiera s1 = 9 elementów
C2 - odpowiada wartości nie i zawiera s2 = 5 elementów
Otrzymujemy:
9
H(s1 , s2 ) = H(9, 5) = − 14
log2
9
14
−
5
14
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
log2
5
14
= 0.94.
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Kolejnym krokiem jest obliczenie entropii każdego atrybutu testowego.
Pierwszym będzie wiek, który składa się z 3 partycji.
wiek=’≤30’
s11 = 2 ∧ s21 = 3 ⇒ H(s11 , s21 ) = 0.971.
wiek=’31..40’
s12 = 4 ∧ s22 = 0 ⇒ H(s12 , s22 ) = 0.
wiek=’>40’
s13 = 2 ∧ s23 = 3 ⇒ H(s13 , s23 ) = 0.971.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Entropia atrybutu ’wiek’ wynosi:
E (0 wiek 0 ) =
5
H(s11 , s21 )
14
+
4
H(s12 , s22 )
14
+
5
H(s13 , s23 )
14
= 0.694
Zysk informacyjny wynikający z podziału zbioru S, ze względu na atrybut
”wiek” wynosi:
Gain(0 wiek 0 ) = I (s1 , s2 ) − E (0 wiek 0 ) = 0.94 − 0.694 = 0.277
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Analogicznie postępujemy z pozostałymi atrybutami. W ten sposób
otrzymujemy:
Zysk informacyjny wszystkich atrybutów
Gain(0 wiek 0 ) = 0.277
Gain(’dochód’)= 0.029
Gain(0 student 0 ) = 0.151
Gain(0 status 0 ) = 0.048
Jako pierwszy atrybut testowy wybieramy ten z największym zyskiem
informacyjnym, w tym przypadku ’wiek’.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Tworzymy wierzchołek o etykiecie ’wiek’ oraz łuki wychodzące łączące
wierzchołek ’wiek’ z wierzchołkami odpowiadającymi partycjom utworzonym
zgodnie z podziałem zbioru S wg atrybutu ’wiek’.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Budowa modelu
Współczynnik Giniego
Entropia
Postępując analogicznie dla wierzchołków S1 oraz S3 , okazuje się, że
najlepszym atrybutem testowym dla wierzchołka odpowiadającym dla pierwszej
partycji jest atrybut ’student’, a dla trzeciej partycji - atrybut ’status’.
Ostateczny kształt drzewa decyzyjnego przedstawiono na rysunku poniżej.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Imputacja
Węzeł Regresja
Przygotowanie danych
Aby wykonać regresję należy uzupełnić braki danych. W tym celu posłużymy
się węzłem Imputacja.
Wybrać zakładkę Modyfikacja → Imputacja, przeciągnąć na pole diagramu oraz
połączyć z węzłem Partycjonowanie.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Imputacja
Węzeł Regresja
Metody uzupełniania danych
Spośród metod uzupełniania danych są między innymi:
Dominanta
Średnia
Mediana
Wartość wylosowana zgodnie z rozkładem
Wartość uzyskana na podstawie drzewa decyzyjnego
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Imputacja
Węzeł Regresja
W zakładce Modelowanie wybieramy Regresja → przeciągamy na pole
diagramu i łączymy z węzłem Imputacja.
Dodatkowo z naszego modelu regresji wyrzucamy zmienne tekstowe. W tym
celu klikamy prawym przyciskiem na węzeł Regresja → Edytuj zmienne → dla
zmiennych IMP JOB oraz IMP REASON wybieramy w kolumnie użyj - Nie.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Węzeł Imputacja
Węzeł Regresja
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Imputacja
Węzeł Regresja
Wykres efektów pokazuje wartości współczynników regresji. Zaznaczone są
osobnymi kolorami współczynniki dodatnie i ujemne.
Dodatkowo po zaznaczeniu okna wykresu, klikając w lewym górnym rogu na
ikonę Tabela wyświetlają się rezultaty z dokładnymi watościami
współczynników oraz test istotności dla parametrów.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł Imputacja
Węzeł Regresja
Postać modelu
W naszym przypadku jako funkcji łączącej (link function) użyliśmy funkcji
logitowej.
Zatem wartość oczekiwana w naszym modelu przyjmuje postać:
G(E(BAD)) =
k
P
ai Xi , gdzie k - liczba zmiennych,
i=1
ai - wartość współczynnika,
xi - wartość zmiennej,
x
funkcja G (x) = log( 1−x
).
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Informacje ogólne
Węzeł Sieci neuronowe
Przetwarzanie informacji w neuronach
Czym jest sieć neuronowa?
Sieci neuronowe w założeniu są to obiekty, które swoim działaniem naśladują
aktywność rzeczywistych układów nerwowych.
Poniżej jest przedstawiony prosty model regresyjny w postaci sieci neuronowej.
Warstwa wejściowa zawiera n neuronów (odpowiadających zmiennym) oraz
warstwę wyjściową sumującą ważone impulsy i transformującą je do skali
oryginalnej zmiennej Y.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Informacje ogólne
Węzeł Sieci neuronowe
Przetwarzanie informacji w neuronach
Podstawowym rozszerzeniem tak opisanej architektury jest model perceptronu
wielowarstwowego (MLP - Multi Layer Perceptron), który dodatkowo zawiera warstwę
ukrytą.
Składa się ona z określonej ilości neuronów, które nieliniowo przekształcają kombinację
liniową otrzymanych sygnałów.
Pojedynczy neuron z warstwy ukrytej składa się z dwóch elementów: sumatora i
funkcji aktywacji.
Pierwszy z nich dokonuje sumowania ważonych sygnałów z warstwy wejściowej oraz
wyrazu wolnego, drugi tak otrzymaną sumę przekształca przy użyciu określonej funkcji
ciągłej.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Informacje ogólne
Węzeł Sieci neuronowe
Przetwarzanie informacji w neuronach
Schemat sieci neuronowej z jedną warstwą ukrytą zawierającą n neuronów.
Model opisany dla m zmiennych objaśniających
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Informacje ogólne
Węzeł Sieci neuronowe
Przetwarzanie informacji w neuronach
W zakładce Modelowanie wybieramy Sieć neuronowa → przeciągamy na pole
diagramu i łączymy z węzłem Imputacja → w lewym dolnym oknie wybieramy
przycisk [...] w wierszu Sieć → ustawiamy Liczbę jednostek ukrytych na 20.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Informacje ogólne
Węzeł Sieci neuronowe
Przetwarzanie informacji w neuronach
Wykres klasyfikacji.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Informacje ogólne
Węzeł Sieci neuronowe
Przetwarzanie informacji w neuronach
W Rezultatach wybieramy Widok → Model → Wagi końcowe.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Informacje ogólne
Węzeł Sieci neuronowe
Przetwarzanie informacji w neuronach
Przetwarzanie informacji w neuronach
Pobudzeniem neuronu p domyślnie jest liniowa funkcja sygnałów wejściowych z
wagami połączeń jako współczynnikami (combination function).
p=
n
X
wi xi ,
i=1
gdzie xi - wartość zmiennej
wi - waga zmiennej.
Sygnał wyjściowy y jest zależny od całkowitego pobudzenia neuronu,
transformowanego przez funkcję aktywacji. Pozwala to wprowadzić
nieliniowość.
y = f (p) = f (
n
X
wi xi )
i=1
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Węzeł porównanie modeli
W zakładce Ocena wybieramy Porównanie modeli → przeciągamy na pole
diagramu i łączymy z węzłami wszystkich prezentowanych metod.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Statystyki dopasowania
Dopasowanie modelu może być ocenione przy użyciu różnych statystyk.
Przykładowe to:
Skuteczność klasyfikacji
Błąd średniokwadratowy (ASE) ASE =
1
n
n
P
(yi∗ − yi )2
i=1
Statystyka Kołmogorowa-Smirnowa KS = max{t : |F1 (t) − F0 (t)|}
Indeks ROC
Wzrost (lift)
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Porównanie modeli
Krzywe ROC dla trzech modeli dla każdej partycji. Miarą dopasowania jest pole
pod wykresem - im wartość bliższa 1 tym lepiej dopasowany model.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Krzywa ROC - przykład
W badaniach dopasowania zmiennej binarnej korzysta się z takich miar jak
specyficzność i wrażliwość.
Załóżmy, że przeprowadzamy test na HIV. W populacji są osoby zdrowe oraz chore.
Osoby zarażone oznaczymy yi = 1. Jeśli nasz test wskaże, że osoba jest chora
oznaczymy yˆi = 1, a gdy zdrowa yˆi = 0
Wrażliwość (czułość) jest to prawdopodobieństwo, że chorą osobę test zakwalifikuje
jako rzeczywiście chorą P(yˆi = 1|yi = 1) w przybliżeniu jest to udział osób, które są
chore i u których test wyszedł poprawnie spośród wszystkich chorych osób.
11
P(yˆi = 1|yi = 1) ≈ n n+n
Wrażliwość to true positive.
11
01
Specyficzność (swoistość) jest to prawdopodobieństwo, że zdrową osobę test
zakwalifikuje jako rzeczywiście zdrową P(yˆi = 0|yi = 0) w przybliżeniu jest to udział
osób, które są zdrowe i u których test wyszedł poprawnie spośród wszystkich zdrowych
00
Wrażliwość to true negative.
osób. P(yˆi = 0|yi = 0) ≈ n n+n
00
10
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Na wykresie krzywej ROC na jednej osi odkłada się wrażliwość, a na drugiej
1-specyficzność.
1-specyficzność to udział osób, które są zdrowe ale test wykazał, że są chore
P(yˆi = 1|yi = 0) = 1 − P(yˆi = 0|yi = 0). 1-specyficzność to false positives.
Zatem krzywa ROC obrazuje stosunek true positives do false positives.
W przypadku idealnego modelu krzywa ROC przedstawia lewą i górną krawędź.
Jeśli losowo byśmy podawali wyniki testu to krzywa byłaby przekątną kwadratu.
Natomiast krzywa leżąca pod przekątną oznacza, że lepsze prognozy
uzyskalibyśmy gdybyśmy losowo mówili osobom czy są chore czy nie, niż
przeprowadzali test.
Dlatego używa się pola pod krzywą ROC jako miary dopasowania.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Wykres liftu łącznego
Wykres przyrostu pokazuje o ile częściej niż w danych źródłowych przewidywana klasa
występuje w próbie wskazanej przez dany model. Uzyskana w ten sposób krzywa
powinna gładko spadać od największej wartości do 1. Gwałtowne skoki w górę
sugerują, że model jest nieodpowiedni (oznaczają one, że model niezgodnie z
rzeczywistością przewiduje szansę przynależności do klasy: tam gdzie wg modelu jest
ona mniejsza, w rzeczywistości jest większa).
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Statystyki dopasowania
Na podstawie przedstawionych poniżej kryteriów najlepszym modelem jest
drzewo decyzyjne.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Wstęp
Partycjonowanie danych
Drzewa decyzyjne
Regresja
Sieci Neuronowe
Ocena i wybór modelu
Węzeł porównanie modeli
Statystyki dopasowania
Porównanie modeli
Instalacja i uruchomienie.
Ze względu na często niepoprawną instalację, Miner niekiedy nie działa.
Dokładną instrukcję instalacji można znaleźć pod linkiem:
http://www.sas.com/pl pl/support/dokumenty.html
Włączając Minera należy uruchomić go jako Administrator.
K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki
Data Mining
Download