Hurtownie danych. Dlaczego? Wnioski z danych. Adam Pelikant. Dlaczego?



Podobne dokumenty
Hurtownie danych. 31 stycznia 2017

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Co to jest Business Intelligence?

Hurtownie danych. Wstęp. Architektura hurtowni danych. CO TO JEST HURTOWNIA DANYCH

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

OLAP i hurtownie danych c.d.

Baza danych dla potrzeb zgłębiania DMX

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych - przegląd technologii

Spis tre±ci. Przedmowa... Cz ± I

Politechnika Łódzka, ul. Żeromskiego 116, Łódź, tel. (042) Projekt współfinansowany przez Unię Europejską

Hurtownie danych a transakcyjne bazy danych

Modele danych - wykład V

Business Intelligence

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

Wstęp do Business Intelligence

Część I Istota analizy biznesowej a Analysis Services

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

HURTOWNIE DANYCH Dzięki uprzejmości Dr. Jakuba Wróblewskiego

Pierwsze wdrożenie SAP BW w firmie

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Wprowadzenie do hurtowni danych

Rola analityki danych w transformacji cyfrowej firmy

Kostki OLAP i język MDX

Data Mining podstawy analizy danych Część druga

Budowa systemu wspomagającego podejmowanie decyzji. Metodyka projektowo wdrożeniowa

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017

BD2 BazyDanych2. dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego

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

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

Szczegółowy opis przedmiotu zamówienia

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Hurtownie danych. Hurtownie danych. dr hab. Maciej Zakrzewicz Politechnika Poznańska Instytut Informatyki. Maciej Zakrzewicz (1)

Hurtownie danych i business intelligence. Plan na dziś : Wprowadzenie do przedmiotu

Hurtownie danych - przegląd technologii

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Specjalizacja magisterska Bazy danych

Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach.

PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Schematy logiczne dla hurtowni danych

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Wykład I. Wprowadzenie do baz danych

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

PODYPLOMOWE STUDIA ZAAWANSOWANE METODY ANALIZY DANYCH I DATA MINING W BIZNESIE

Hurtownie danych i business intelligence. Plan na dziś : Wprowadzenie do przedmiotu

1 Wprowadzenie do koncepcji Microsoft Office BI 1 Zakres ksiąŝki 2 Cel ksiąŝki 3 Wprowadzenie do tematu 3 Zawartość rozdziałów 4

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

Procesowanie i partycjonowanie Analysis Services od podszewki (300) Adrian Chodkowski Adrian.Chodkowski@outlook.com

Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Alicja Marszałek Różne rodzaje baz danych

Wprowadzenie do hurtowni danych

Kasy Fiskalne Lublin Analityk

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2018/2019

Integracja technik eksploracji danych ]V\VWHPHP]DU]G]DQLDED]GDQ\FK QDSU]\NáDG]LH2UDFOHi Data Mining

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Paweł Gołębiewski. Softmaks.pl Sp. z o.o. ul. Kraszewskiego Bydgoszcz kontakt@softmaks.pl

Co to są drzewa decyzji

Portale raportowe, a narzędzia raportowe typu self- service

Plan wykładu. Hurtownie danych. Problematyka integracji danych. Cechy systemów informatycznych

Bazy danych i ich aplikacje

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Transformacja wiedzy w budowie i eksploatacji maszyn

Bazy danych. Plan wykładu. Rodzaje baz. Rodzaje baz. Hurtownie danych. Cechy hurtowni danych. Wykład 14: Hurtownie danych

Bazy analityczne (hurtownie danych, bazy OLAP)

OPIS PRZEDMIOTU ZAMÓWIENIA

Oracle11g: Wprowadzenie do SQL

CZĘŚĆ I ZASTOSOWANIE PROGRAMU EXCEL DO ANALIZ BUSINESS INTELLIGENCE

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

OfficeObjects e-forms

Ewolucja technik modelowania hurtowni danych

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Usługa archiwizacji danych w systemie Eureca. Marek Jelenik CONTROLLING SYSTEMS sp. z o.o.

Data Mining podstawy analizy danych Cześć pierwsza. Wprowadzenie

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017

Algorytmy klasyfikacji

Hurtownie danych wykład 3

Monitoring procesów z wykorzystaniem systemu ADONIS

Pojęcie bazy danych. Funkcje i możliwości.

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

COMARCH DATA WAREHOUSE MANAGER 6.2

Metody probabilistyczne klasyfikatory bayesowskie

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Trendy BI z perspektywy. marketingu internetowego

Szkolenia SAS Cennik i kalendarz 2017

HURTOWNIE DANYCH. Krzysztof Goczyła. Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska. kris@eti.pg.gda.pl. K.

Hurtownie danych. Ładowanie, integracja i aktualizacja danych. INTEGRACJA DANYCH ETL

Część I Rozpoczęcie pracy z usługami Reporting Services

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Transkrypt:

Dlaczego? Hurtownie danych Człowiek, który potrafi czytać ale nie ma książek, nie ma przewagi nad tymi, którzy w ogóle nie umieją czytać Mark Twain - 1900 Adam Pelikant Człowiek który posiada dane ale nie potrafi ich zobaczyć, nie ma przewagi nad tymi, którzy w ogóle nie mają danych Bob Lokken (CEO Knosys Inc.) - 2000 Instytut Mechatroniki i Systemów Informatycznych Politechniki Łódzkiej Dlaczego? Wnioski z danych Szybsze podejmowanie lepszych decyzji Zwiększenie przewagi konkurencyjnej Usprawnienie procesów biznesowych Poprawa obsługi klientów Rozwiązania e-business Celem działania nie jest raport lecz decyzja, a złe decyzje są kosztowne. Dane nie są informacją! Aby dostrzec znaczenie danych, należy najpierw zobaczyć te dane. Jeden obraz z właściwą informacją jest więcej wart niż dowolna ilość wierszy i kolumn danych. 1

h Dostęp h Analiza Business Intelligence (BI) BI klucz do uwolnienia wiedzy i Łatwy dostęp do różnych źródeł danych i Narzędzia do eksploracji danych h Dystrybucja i Aktywny i bierny dostęp do informacji h W ramach organizacji i poza nią i Pracownicy, dostawcy, klienci, partnerzy,... Terminologia ETL (extraction, transformation, loading) Ekstrakcja danych Transformacja danych Ładowanie danych Hurtownia danych Wydzielona baza danych Zawiera dane historyczne i bieżące Data Mart - Składnica danych Ściśle związana z mniejszą grupą użytkowników Tematycznie dostosowana, zoptymalizowana dla ich potrzeb OLAP (On-Line Analytical Processing) Przetwarzanie danych wielowymiarowych Krótki czas odpowiedzi na dowolne zapytanie Czym jest Business Intelligence? Narzędzia i techniki wspomagające proces podejmowania decyzji Business Intelligence pozwala zrozumieć dane Co się wydarzyło? Co się aktualnie dzieje? Dlaczego? Co się stanie? Co chciałbym, aby się stało? Poziom strategiczny Zarząd Potencjał BI Kierownicy Pracownicy operacyjni ERP CRM SCM TPP inne Ilość podejmowanych decyzji 2

Ewolucja systemów informatycznych w zarządzaniu Informacja staje się najistotniejsza Przewaga konkurencyjna Wiedza i informacja biznesowa Działalność produkcyjna Czas Przedsiębiorstwa stają się przede wszystkim przetwórcami informacji biznesowej konkurując jednocześnie o jej źródła. Zwiększa się rola systemów inf. Wprowadzenie Systemy informatyczne Systemy informatyczne Systemy informatyczne Modelem przetwarzania nazywamy sposób w jaki użytkownik korzysta z bazy danych. Czas Zmiany techniczne Zarządzanie Poziom całej organizacji 1950 1960 1970 1980 1990 Modele przetwarzania: - przetwarzanie operacyjne - przetwarzanie analityczne 3

Przetwarzanie operacyjne (1) OLTP - OnLine Transaction Processing - przetwarzanie transakcji w trybie on-line Celem jest wspomaganie bieżącej obsługi działalności danej firmy, dla dobrze zdefiniowanych procesów (np.: obsługa sprzedaży) Oparty na transakcjach, które operują na niewielkiej części danych przechowywanych w bazie danych Przetwarzanie operacyjne (2) Dostarcza rozwiązań dla problemów: efektywnego i bezpiecznego przechowywania danych, optymalizacji dostępu do danych, dostępności danych, zarządzania współbieżnością Podstawowym kryterium oceny efektywności działania systemu OLTP jest liczba transakcji na sekundę Przetwarzanie analityczne OLAP - OnLine Analytical Processing - przetwarzanie analityczne w trybie on-line Celem jest przeprowadzanie analizy danych i wspomaganie decyzji. Posiadanie danych opisujących działanie przedsiębiorstwa w dłuższym przedziale czasu pozwala na analizę trendów, anomalii, poszukiwanie wzorców zachowań klientów, itp. Zalety przeprowadzania analizy danych Zrozumienie zachowania się klientów i zapotrzebowania na produkt, pozwala efektywnie kierować kampaniami reklamowymi Zarządzanie zapasami umożliwia producentom posiadanie właściwych produktów we właściwym miejscu i czasie Analiza rentowności pokazuje firmom, którzy klienci są dochodowi, a którzy nie 4

Przetwarzanie operacyjne a analityczne Definicja hurtowni danych Dlaczego potrzebnych informacji nie da się uzyskiwać bezpośrednio z operacyjnych systemów przetwarzania danych? Dane w aplikacjach operacyjnych są: - ukierunkowane na aplikacje operacyjne a nie analityczne - rozproszone po wielu aplikacjach operacyjnych - przechowywane w mało czytelnej postaci Hurtownie danych są bardzo dużymi bazami danych, w których gromadzi się dane pochodzące z wielu heterogenicznych źródeł: scentralizowanych lub rozproszonych baz relacyjnych, relacyjno-obiektowych, obiektowych oraz ze źródeł innych niż bazy danych (np.: pliki tekstowe). Jest to zbiór technologii, których celem jest wspieranie menadżerów i umożliwienie podejmowania im szybszych i lepszych decyzji. Systemy BI starej generacji Cechy hurtowni danych Hurtownia danych powinna być: - zorientowana tematycznie - nieulotna (trwała) - wielowersyjna czasowo - zintegrowana Wady! Słaba integracja Długie cykle wdrożeniowe Mała elastyczność Wysokie koszty utrzymania Client(s) OLAP Data Warehouse Za drogo! ETL 5

Systemy BI nowej generacji Zalety! Pełna integracja Systemy BI nowej generacji Zalety! Pełna integracja Krótkie cykle wdrożeniowe Końcówka klienta Krótkie cykle wdrożeniowe Końcówka klienta Duża elastyczność SQL Server 2000 Analysis Service Duża elastyczność SQL Server 2005 Bussines Inteligence Niskie koszty utrzymania SQL Server 2000 Meta Data Services Niskie koszty utrzymania SQL Server 2005 Meta Data Services Mniej szkoleń SQL Server 2000 Data Transformation Services Mniej szkoleń SQL Server 2005 Integration Services Taniej! Taniej! MS SQL ORACLE ERP EXCEL.DBF Projektowanie aplikacji analitycznych Serwer Analityczny DANE DTS (filtrowanie danych) SQL Server OLAP Services ProClarity Reguły Biznesowe ZAWARTOŚĆ Jakie parametry (wymiary, miary) będziemy analizować? Jakie są ich kryteria oceny? Kto, co i w jaki sposób będzie otrzymywał? Prezentacja UŻYTKOWNIK WIELE SPOSOBÓW DOSTĘPU MS Office Digital Dashboard PowerPoint Excel Przeglądarka www Program specjalizowany Architektura logiczna hurtowni danych 6

Konwerter Zadaniem konwertera jest transformowanie danych z formatu wykorzystywanego w źródle, do formatu wykorzystywanego w hurtowni danych. Etapy konwersji danych: - ekstrakcja danych - czyszczenie danych - ładowanie danych -odświeżanie danych Etapy konwersji danych (1) Ekstrakcja danych odbywa się przez bramki (gateways) lub standardowe interfejsy (ODBC, JDBC, Oracle Open Connect, Informix Enterprise Gateway, itd.) Czyszczenie danych ma na celu zapewnienie jakości i poprawności danych. Metody czyszczenia: konwersja i normalizacja, czyszczenie specjalne, czyszczenie oparte na regułach. Etapy konwersji danych (2) Ładowanie danych tym procesem zarządza moduł integratora. Najczęściej odbywa się to w trybie wsadowym. Dodatkowe przetwarzanie, np.: sortowanie danych, budowanie indeksów Odświeżanie danych proces propagowania zmian zachodzących w źródłach danych do hurtowni. Repozytorium metadanych Jest to składnik hurtowni danych, w którym przechowywane są informacje wspomagające zarządzanie hurtownią. (Przykład narzędzia do zarządzania metadanymi: IBM DataGuide) Zawiera ono zazwyczaj metadane: fizyczne; logiczne; operacyjne; historyczne; administracyjne; personalizacyjne 7

Wielowymiarowy model danych Dostępne narzędzia i technologie Podstawowym modelem logicznym dla OLAP jest wielowymiarowy model danych (MDD model - multidimensional data model). Dane są postrzegane przez użytkowników w postaci wielowymiarowej perspektywy. Obiektem analizy w modelu MDD jest zbiór miar numerycznych (faktów). Wartość każdej miary zależy od zbioru wymiarów. Development tools Microsoft Office End User Environment Reporting Services Repository & Distribution Bussines Inteligence OLAP & Data Mining Integration Services Extract Transform & Load Microsoft SQL Server Relational Engine Management tools Cechy charakterystyczne systemu analitycznego Model danych Zrozumiały dla użytkownika Łatwy w zastosowaniu Interaktywność Dowolne analizy dostępne od ręki Elastyczność Modelowanie widoków Zwiń / rozwiń Wejdź do wewnątrz / wyjdź na zewnątrz Pokaż dokumenty źródłowe OLAP Raportowanie relacyjne Modele aplikacji analitycznych - ewolucja Kostka Kostka Data mart Data mart Model danych Model danych Model danych Przeglądarka OLAP 2 Przeglądarka OLAP 1 Aplikacja 3 Aplikacja 2 Hurtownia Aplikacja 1 Duplikacja danych Duplikacja modeli 8

Raportowanie relacyjne czy OLAP? Właściwość Elastyczny, pełny schemat (wiele tabel faktów) Dane w czasie rzeczywistym Pojedyncza kopia danych Łatwe zarządzanie Raportowanie detali Wysoka wydajność Zorientowane na użytkownika Łatwość użycia Bogate możliwości analiz SQL OLAP Połączy nas Unified Dimensional Model Wiele tabel faktów Atrybuty dla wymiarów Raportowanie do poziomu dokumentu Gwiazda, płatek, 3FN Skomplikowane relacje (M2M, RPD ) Rekurencyjne join y Wymiary zmienne w czasie (SCDs) Wielowymiarowa nawigacja Hierarchiczna prezentacja Ekspozycja modelu biznesowego Doskonały aparat obliczeniowy (MDX) Wskaźniki (KPIs) Akcje Partycje, agregacje Unified Dimensional Model Ewolucja narzędzi do budowy aplikacji Kostka Kostka Data mart Data mart SQL 2005 Analysis Services UDM Cache XML / ODBO Przeglądarka OLAP 2 Przeglądarka OLAP 1 Aplikacja 3 Aplikacja 2 Enterprise Manager Query Analyzer Analysis Manager SQL 2000 SQL Management Workbench + BI Development Workbench Yukon Hurtownia Aplikacja 1 9

Schemat przetwarzania w technologii OLAP (ONLINE ANALYTICAL PROCESSING) Miejsce hurtowni danych w systemie Oczyszczanie SYSTEMY ŹRÓDŁOWE EXTRACTION TRANSFORM LOAD MANAGE DATA WAREHOUSE DATA MARTS PREZENTACJA / OLAP DOSTĘP UŻYTKOWNIKÓW I ANALIZY Baza A Synchronizacja Ekstrakcja Przesyłanie Data Warehouse / Data Mart i OLAP : - HOLAP -ROLAP -MOLAP OLE DB XML/A Ad-hoc Query Tools Raporty Operational Data Store Aplikacje na zamówienie Baza B Integracja Hurtownia Danych Data Mining Modele OLE DB XML/A Aplikacje analityczne Web Services i Aplikacje mobilne Baza X OLAP Analizy wspierające proces podejmowania decyzji biznesowych Analiza przekrojów Oddział Poznań Kraków Gdańsk ROR Kredyt Produkt 69,059,440 PLN 8,755 szt. 7,888 PLN Depozyt Rach. Inwest. Inne Q1 Q2 Q3 Czas Q4 10

Analiza przekrojów Business Intelligence architektura Informacja Wiedza Wnioski Działanie Wyniki Systemy źródłowe DM Kostka OLAP ETL Hurtownia danych DM Kostka OLAP Użytkownicy: - Raporty - Zapytania do bazy - Analizy OLAP - EIS - Budżetowanie - Data Mining Budowa systemu BI Etapy procesu Projekt aplikacji analitycznych Systemy źródłowe SQL DB2 Oracle SQL Server Data Warehouse Data Marts SQL SQL Analysis Services Analysis Services 1 2 3 Klienci Stworzenie struktury bazy Stworzenie Dostęp i zasilanie hurtowni danych kostek OLAP do danych Narzędzia Query Raportowanie Analizy Data Mining SQL Server Oracle DB2 Excel ZBIORY DANYCH Microsoft SQL Server HURTOWNIA DANYCH Sprzedaż Produkcja Koszty MICROSOFT OLAP & ANALYSIS SERVICES UŻYTKOWNICY 11

MS Analysis Services Integracja z dowolnym źródłem danych (OLEDB) Skalowalność - wsparcie wszystkich sposobów przechowywania danych (MOLAP, ROLAP, HOLAP) Analysis Services - Wymiary Wspólne/prywatne Regularne/nieregularne Hierarchia drzewiasta (relacja rodzic potomek) Dane w węzłach O dużej liczbie elementów (grupowanie) Wymiary o liczbie potomków większej niż 64k Atrybuty Wiele hierarchii Własne formuły podsumowujące Struktura hurtowni danych Schemat pojęciowy hurtowni - schemat gwiazdy Problem wielowymiarowości Dwie podstawowe struktury Model gwiazdy Model płatka śniegu - tablica faktów - hierarchia wymiaru 12

Schemat pojęciowy hurtowni - schemat płatka śniegu Modele przechowywania dla hurtowni danych ROLAP - Relational OLAP - hurtownie wykorzystujące model relacyjny MOLAP - Multidimensional OLAP - hurtownie wykorzystujące wielowymiarowy model danych HOLAP -HybridOLAP -hurtownie łączące w sobie cechy MOLAP i ROLAP Efektywność hurtowni danych W celu poprawy efektywności działania hurtowni danych stosuje się wiele technik: - materializowanie agregatów - przetwarzanie równoległe - partycjonowanie danych - indeksowanie danych SQL Server 2005 Bussines Inteligence Zabezpieczenia, zarządzanie Uprawnienia Dla bazy OLAP / poszczególnych kostek Dla poszczególnych wymiarów ( hierarchii ) Zakres poziomów, zakres elementów, wyrażenia Opcjonalne uprawnienia w zbiorze danych Do poziomu poszczególnych komórek dla zapisu i/lub odczytu Zarządzanie Narzędzie graficzne Programowo - Decision Support Objects 13

Analysis Services - Kostki Kostki wirtualne Distributed Partitions Cubes Partycje Jednostka przetwarzania Storage (MOLAP, ROLAP, HOLAP) Optymalizacje Lokalne/zdalne Rozproszone Miary wyliczane Drillthrough Odczyt danych źródłowych Writeback Lazy aggregations Analysis Services - Aggregation Wizard w MS SQL 2000 AW znajduje regułę 80-20 dla danych 20% wszystkich możliwych agregacji, które zapewniają 80% zysku wydajności Wyszukuje agregacje najczęściej wykorzystywane przez inne agregacje Niezależny od modelu danych OLAP Optymalizacja dla partycji Data source MS SQL 2005 Data view 14

Dimension Dimension Dimension Dimension 15

Cube Cube miara obliczana Cube rezultat Cube definicja złączenia 16

Cube definicja złączenia - zaawansowane Cube rezultat Cube rezultat Schemat przetwarzania w technologii DSS (DECISION SUPPORT SYSTEM) Raporty bieżące Dane bieżące Dane nadmiarowe DSS Usługi Pivot Table Dane archiwalne Hurtownia Danych 17

Systemy analizujące dane Data Mining dla SQL 2000 Systemy poszukujące w danych wiedzy (Data Mining) - do tych systemów zaliczyć można wszelkie hurtownie danych posługujące się narzędziami typu OLAP (OnLine Analitical Processing - przetwarzanie analityczne na bieżąco). Systemy wspomagania decyzji (Decision Support System) - stanowią one rozwinięcie i uzupełnienie narzędzi OLAP Data mining zintegrowane z Analysis Services Niezależne od postaci bazy ( [ R H M ] OLAP ) Dwa wbudowane algorytmy Income Good (2) Microsoft Decision Trees Poor (3) Klasyfikacja, predykcja High Microsoft Clustering Good (2) Poor (1) Wyszukiwanie podobieństw Married Mechanizm rozszerzalny Good (2) Poor (0) Poor (1) OLE DB for Data Mining MDX Extensions for Data Mining Not married Good (0) Low Good (0) Poor (2) Algorytmy zgłębiania danych w Bussines Inteligence MS SQL 2005 Maining model definiowanie kolumn Decision Trees (Algorytm klasyfikacji ) Naive Bayes (Algorytm klasyfikacji ) Neutral Network (Algorytm klasyfikacji ) Time Series (Algorytm regresji) Linear Regression (Algorytm regresji) Logistic Regresion (Algorytm regresji) Clustering (Algorytm grupowania) Sequence Clustering (Algorytm grupowania sekwencyjnego) Association Rules (Algorytm tworzenia reguł) 18

Maining model - Drzewo decyzyjne Maining model - Drzewo decyzyjne Stan domyślny Pozycja REGRESOR musi być odznaczona bo kolumna ma zmieniony typ z CONTINOUS na DISCRETIZED Histogramy dla węzła ALL i wybranego węzła potomnego Maining model - Drzewo decyzyjne Maining model - Drzewo decyzyjne Sieć zależności Przypadek dla wielu kolumn przewidywanych (PREDICT) Typy kolumn KEY INPUT PREDICT PREDICTONLY IGNORE 19

Maining model - Drzewo decyzyjne Maining model - Drzewo decyzyjne Ustawianie parametrów dla modelu zgłębiania danych Sprzężenia dla różnej siły powiązań Przypadek dla wielu kolumn przewidywanych (PREDICT) SCORE_METHOD metoda tworzenia drzewa 1 ENTROPIA 3 BAYES z predykcją 4 BAYES z porządkowaniem Dirichleta 4 Bayes uniform prior - domyślny Drzewo decyzyjne Drzewa otrzymywane dla różnych algorytmów są różne. To samo dotyczy zmiany typu danych pomiędzy CONTINOUS, DISCRETIZED, DISCRITE NumberEmployees DISCRETIZED Drzewo decyzyjne Drzewa otrzymywane dla różnych algorytmów są różne. To samo dotyczy zmiany typu danych pomiędzy CONTINOUS, DISCRETIZED, DISCRITE NumberEmployees CONTINOUS 1- Entropia 3 Bayes z predykcją K2 NumberEmployees DISCRETED 20

Grupowanie klastering Grupowanie klastering Parametry modelu Diagram cieniowany dla wartości zmiennej przewidywanej Definicja zawartości klastra w postaci mapy barwnej Grupowanie klastering Grupowanie klastering 1 i 4 1 i (NOT 1) Definicja prawdopodobieństwa przynależności do klastra (Cluster1) dla różnych wartości zmiennych wejściowych Definicja rozróżnialności między klastrami na podstawie wartości zmiennych wejściowych 21

Assosiation Rules Naive Bayes Może być tylko jedna kolumna przewidywana. Ze względu na dużą ilość wartości atrybut City pominięto Zależności między atrybutami Charakterystyka atrybutu Różnice między atrybutami Definicje reguł stowarzyszonych Opis atrybutu Neural Network Logistic Regresion Może być tylko jedna kolumna przewidywana. Ze względu na dużą ilość wartości atrybut City pominięto Może być tylko jedna kolumna przewidywana. Ze względu na dużą ilość wartości atrybut City pominięto Różnice między atrybutami Różnice między atrybutami 22

Drzewa decyzyjne -każdy węzeł reprezentuje test przeprowadzony na atrybucie -każda gałąź reprezentuje wynik testu -każdy liść reprezentuje klasę Prawo jazdy<3 nie tak Wiek >28 Ryzyko duże tak nie Auto >10 Ryzyko małe nie tak Rys. 6. Ryzyko małe Ryzyko duże Drzewa decyzyjne Drzewo decyzji: Ogólne => Szczegółowe węzeł - test atrybutu rozgałęzienie - wartość atrybutu lub podzbiór liście - przypisane do klas Testy: podział pojedynczej cechy, lub kombinacji Attrybut={wartość i } lub Attrybut < wartość i Kryteria: maksymalizacja ilości informacji, maksymalizacja liczby poprawnie podzielonych obiektów, czystość węzła Przycinanie: usuń gałęzie, które zawierają zbyt mało przypadków prostsze drzewo może lepiej generalizować oceń optymalną złożoność na zbiorze walidacyjnym. Kryterium stopu: osiągnięta dokładność podziałów, zbyt wiele gałęzi. Wybór atrybutu Który atrybut powinien być najpierw? p + i p - proporcje w lewej i prawej gałęzi. Zbiór wektorów S Obliczenia ilości informacji (entropi) E: E( p1, p2,... pn) = pilg 2 pi i q r E( p, q, r) = E( p, q+ r) + ( q+ r) E, q + r q + r Ile informacji zawiera dany podział? (Entropia) Średnia l. bitów do zakodowania dowolnego wektora z S wynosi: IS ( ) = plg p plg p + 2 + 2 S+ S GSA (, ) = IS ( ) IS ( + ) IS ( ) S S Informacja dla czystych węzłów = 0; jest max dla najbardziej pomieszanych. 23

14 7 7 9 5 3 4 6 1 0,642857143 0,357143 0,428571429 0,571429 0,857142857 0,142857143-0,63742992-1,48543-1,22239242-0,80735-0,22239242-2,80735492 0,409776378 0,53051 0,523882466 0,461346 0,190622075 0,401050703 0,940286 0,985228 0,591673 0,151835501 3 3 4 4 E = log log 2 7 7 7 7 2 = 0,985 Humidity = High S:[3+,4-] E=0,985 Entropia Humidity S:[9+,5-] E=0,94 Humidity = Normal S:[6+,1-] E=0,592 7 7 Gain= 0,94 0,985 0,592= 0,151 14 14 9 9 5 5 E = log log2 14 14 14 14 2 = 6 6 1 1 E = log log 2 7 7 7 7 2 = 0,94 0,592 TDIDT - Top Down Iterative Decision Tree function DT(E: zbiór przykładów) returns drzewo; T' := buduj_drzewo(e); T := obetnij_drzewo(t'); return T; function buduj_drzewo(e: zbiór przyk.) returns drzewo; T := generuj_tests(e); t := najlepszy_test(t, E); P := podział E indukowany przez t; if kryterium_stopu(e, P) then return liść(info(e)) else for all E j in P: t j := buduj_drzewo(e j ); return węzeł(t, {(j,t j )}; Tworzenie drzewa Tworzenie drzewa: szukanie w przestrzeni hipotez. Granice decyzji Podział hierarchiczny na hiperprostokąty. ID3 - podział w oparciu o zysk informacyjny. Lepsze mniejsze drzewo. Dość odporne na szum. Lokalne minima. 24

Drzewa proste i skośne Granice skośne Niestabilność DT Brzytwa Ockhama Czemu preferować prostsze drzewa? Mało prostych hipotez, więc mała szansa, że przypadkiem pasują do danych. Proste drzewa nie powinny zbytnio dopasować się do danych. Przetrenowanie modelu dla zbyt złożonych drzew, zła generalizacja. Ale: Dla małych zbiorów o wielu atrybutach można tworzyć wiele prostych opisów danych. 25

DT => reguły Zamień DT na reguły i uprość: łatwo ocenić, które reguły można usunąć i optymalizować pozostałe. 1R: najprostsze drzewo (Holte 1993), Niezłe rezultaty. Jeden poziom, atrybuty nominalne. Algorytm: Dla każdego atrybutu A dla każdej wartości atrybutu A : i policz częstości występowania klas znajdź klasę C występującą najczęściej utwórz regułę: IF A i THEN C Oblicz dokładność tej reguły. Wybierz reguły o największej dokładności. Wartość brakująca? traktowana jest jak każda inna. Ciągłe wartości numeryczne w DT Podziel obszary na interwały i traktuje je jak nominalne. Dla każdego atrybutu A porządkuj przypadki zgodnie z wartościami tego atrybutu ustal granice przedziałów dla wartości, przy których zmienia się klasa mająca większość. Minimalizuje to liczbę błędów w algorytmie 1R. Przykład: temperatura i jej korelacja z decyzją gracza: By uniknąć szumu można wprowadzić minimalną liczbę danych/interwał: ID3: Interactive dichotomizer version 3 Pierwotnie CLS (Concept Learning System), R. Quinlan (1986) Tylko do atrybutów nominalnych (nieuporządkowanych). Dla atrybutów rzeczywistych: konieczna dyskretyzacja. Ocena podziałów - za pomocą zysku informacji, Gain(D,A) Podział węzła na kilka podgałęzi, dla różnych wartości A Preferencje: wszystkie hipotezy możliwe, ale te dla drzew o dużym zysku informacyjnym w pobliżu korzenia preferowane - lokalne minima. Brakowało przycinania i dyskretyzacji. Rozwinięcie ID3 => drzewo C4.5 i C5 26

C 4.5 R. Quinlan (1993), jedno z najbardziej popularnych DT Typowy algorytm TDIDT Testy: A=? dla nominalnych, A<t, dla t=(a + i A i+1 )/2 (wystarczy sprawdzić tylko te wartości, dla których zmienia się klasa) Ocena podziałów - za pomocą zysku informacji, Gain(D,A) Dla testu atrybutu A o k wynikach: k Di GDA (, ) = ID ( ) I( Di ) i= 1 D k D i D i Split( D, A) = lg2 i= 1 D D GR ( D, A) = G( D, A)/ Split( D, A) Największy zysk dla największego k Informacja zawarta w podziałach. Końcowe kryterium C4.5. NewID Algorytm: dane przykłady E, atrybuty A i klasy c=1..c Lista bieżących przykładów D = E w korzeniu drzewa Jeśli D ma czyste liście (przykłady z pojedynczej klasy) to zatrzymaj. Dla każdego węzła i jeszcze nie użytych atrybutów powtarzaj: jeśli dostępne atrybuty nie mają określonych wartości utwórz węzeł typu Konflikt else: oblicz max j Gain(A j,c); utwórz węzły potomne dzieląc D k na podzbiory Końcowe drzewo jest zbytnio dopasowane. Drzewo do regresji: wybierz podział tak, by wariancja wewnątrz klas po podziale była jak najmniejsza: ( C X ) min Var ( ) v X Dv NewID cd. Brakujące wartości? i wartości obojętne * Jeśli niektóre A=? dla atrybutu binarnego w danych treningowych to węzłom potomnym przypisujemy wektory z A=T i A=N zgodnie z rozkładem a priori lub oceną Laplace a: N(T) = (N(c,A=T)+1)/(N(c)+N(A)); N(A)=2, l. wartości A Dla testu ocena l. wszystkich wektorów, a nie tylko w klasie c Wartości * są powielane. Przycinanie: ( C X ) min Var ( ) v X D Ocena na zbiorze walidacyjnym, próg R (zwykle R=10): Jeśli poddrzewo T W poprawia o R% dokładność klasyfikacji węzła W to schodź niżej; else zamień W na liść. NewID używa podzbiorów, atrybutów porządkowych, w. ciągłych. v NewID regresja. Drzewo do regresji: klasy ciągłe C(X) Wybierz podział tak, by wariancja wewnątrz klas po podziale była jak najmniejsza: ( C X ) min Var ( ) v X D v Kryterium stopu: nie rozwijaj węzła jeśli σ(d k ) < κσ(e). 27

CHAID CHi-squared Automatic Interaction Detection Kryterium podziału atrybutu A jest test χ 2 Hipoteza: jeśli test A<A 0 (lub A=A 0 ) jest skorelowany z podziałem na klasę C i pozostałe to test χ 2 da małą wartość. Przykład: podział gatunków. Atrybut = dł. ogona. Tabela kontyngencji: Gatunek N. ptaki N. gady N. ssaki N. ryby Suma Długi n 11 n 12 n 13 n 14 N 1o Krótki n 21 n 22 n 23 n 24 N 2o Brak n 31 n 32 n 33 n 34 N 2o Suma N g1 N g2 N g3 N g4 N Oczekiwane: e ij = N io x N gj / N Rozkład χ 2 dla: 2 n e / e ( ) ij ij ij ij 2 ( χ ) = erf (, χ ) p k k k=(n io -1) x (N gj -1) stopni swobody. CART Classification and Regression Trees (Breiman 1984). Kryterium podziału: indeks Gini; w danym węźle p c określa procent wektorów z klasy c; czystość węzła można zmierzyć za pomocą: C C 2 Gini = p p = 1 p c d c c d c= 1 Mi = 1 max p c c Kryterium stopu: MDL, złożoność drzewa + informacja w liściach αsize( Tree) + I( l) l leaf SSV Kryterium separowalności par danych z różnych klas. Oddziel maksymalnie dużo par z różnych klas. Jeśli różne podziały dają to samo minimalizuj l. podziałów wewnątrz klasy { x D: f( x) < s}, f ciągłe LS ( s, f, D) = { x D: f( x) s}, f dyskretne RS s, f, D = D LS s, f, D Kryterium: ( ) ( ) ( ) I c ( ) I( c) c C ( LS( s f D) IDc RS( s f D) IDc ) SSV() s = 2 LS s, f, D D RS s, f, D D D c C min,,,,, Proste kryterium, różne metody obcinania drzewa, dobre wyniki. DT: szybkie i proste. Ocena i wyniki Zalety: Zwykle bardzo dobre wyniki w porównaniu z innymi klasyfikatorami. Łatwe w użyciu, prawie nie mają parametrów do ustawiania. Dane nominalne lub numeryczne. Zastosowania: klasyfikacja i regresja. Prawie wszystkie pakiety Data Mining mają drzewa decyzji. Problemy z DT: mało danych, duża liczba ciągłych cech; niższe partie drzewa mają b. mało danych, przypadkowe podziały; nie wszystkie koncepcje dają się dobrze ująć za pomocą DT, np. większość jest za. 28

Zadania do rozwiązania Drzewa wieloczynnikowe: skośne granice decyzji; drzewa sieci neuronowych; rekursywny podział za pomocą LDA lub FDA Kryteria podziału: informacja w pobliżu korzenia, dokładność w pobliżu liści. przycinanie na podstawie reguł - działa również przy korzeniu; Komitety drzew: wielokrotne uczenie na randomizowanych danych (boosting) uczenie z różnymi parametrami obcinania Drzewa rozmyte Mechanizmy wspomagania decyzji Do mechanizmów używanych w systemach OLAP i DSS zaliczają się: Reguły asocjacyjne Np.: 75% reklamowanych w 2002 dysków twardych zawierających bad sektory i okresowo zawieszajacych komputer miało ślady uszkodzeń mechanicznych. Takie dyski stanowiły 0,6% produkcji Bad sektory ^ wieszanie systemu uszkodzenie mechaniczne s=0,6 c=75 Klasyfikacja Grupowanie (klasteryzacja) NIE Dysk w serwerze TAK Użytkownik >17 NIE TAK Wiatrak systemowy TAK NIE NIE Klimatyzacja =1 NIE TAK UPS=1 TAK Ryzyko duże Ryzyko średnie Ryzyko małe Rys. 2. Rys. 3. 29

Algorytmm Fuzzy K-means Algorytmm Fuzzy K-means należy do grupy nie-hierarchicznych algorytmów grupowania. Jego istotą jest początkowy losowy wybór położenia środków grup. W kolejnych krokach iteracji po obliczeniu funkcji przynależności poszczególnych punktów od środków grup są one każdorazowo przeliczane. Takie postępowanie powoduje, że środki grup "wędrują" do swoich prawidłowych położeń. gdzie p( ω i x j ) n b p( ωi x j ) j= 1 = j n b p( ωi x j ) jest prawdopodobieństwem warunkowym przynależności j-go elementu do i-tej grupy, b - parametr, którego wartość musi być różna od 1, najczęściej jest przyjmowana jako 2. Funkcja przynależności jest normalizowana według: c j= 1 ( ) μ j= 1 p ω = 1 gdzie j=1,2 n i x j x j k-means clustering Przykład klasteryzacji algorytmem k-means K=2 K=3 m m 2 m 2 m 2 2 m 1 m 1 m m2 m 2 2 m 1 m 2 m 1 m 3 m 1 3 m m 3 1 m 1 Algorytmm Fuzzy K-means Przynależność elementu do każdej z grup obliczane jest według: p ( ω x ) i j = 1 dij p( ω i x j ) r= 1 rj gdzie 2 2 dij = x j μ j jest odległością punktu x j od środka grupy μ i, natomiast b jest parametrem, którego wartość musi być różna od 1, najczęściej jest przyjmowana jako 2. c 1 b 1 1 d 1 b 1 Algorytmm Fuzzy K-means Schemat działania algorytmu K-means można przedstawić w kilku punktach: 1. Losowe wyznaczenie środków poszukiwanych grup, 2. Obliczenie odległości punktów od środków grup, 3. Obliczenie wartości funkcji przynależności wszystkich elementów, 4. Obliczenie środków grup μ i Jeżeli: brak zmian w μ i oraz p( ωi x j ) w przeciwnym wypadku skok do p.2. - zwróć μ, μ, K, 1 2 ( ) p ω i x j μ c 30

Algorytm Fuzzy C-means Algorytm Fuzzy C-means należy do grupy nie-hierarchicznych algorytmów grupowania. Jego istotą jest początkowe usytuowanie położenia środków grup w środkowej części rozpatrywanej przestrzeni. W kolejnych krokach iteracji po obliczeniu funkcji przynależności poszczególnych punktów od środków grup są one każdorazowo przeliczane. Takie postępowanie powoduje, że środki grup "wędrują" do swoich prawidłowych położeń. Mając do obliczeń skończony zbiór elementów X={x 1,...,x N ) oraz liczbę C środków grup, wyznaczamy N elementów dla C grup i przedstawiamy w postaci macierzy przynależności U=[u ik ]. Z k=1,...,n, i=1,...,c oraz u ik wyraża rozmytą przynależność elementu v k do środka grupy v i. Algorytm Fuzzy C-means Środki zgrupowań oraz przynależność elementów wyznaczamy z zależności: gdzie 1 i C u ik ν k = 1 i = n = c j= 1 n ( uik ) ( uik ) k = 1 1 d d ik jk m 2 m 1 m - parametr fuzyfikacji, d ik - miara odległości pomiędzy środkiem v i oraz elementem x k, która w tym wypadku jest odległością Euklidesową. m x k Algorytm Fuzzy C-means Schemat działania algorytmu K-means można przedstawić w kilku punktach: 1. Ustalanie liczby C środków grup. Inicjalizacja macierzy przynależności, ( 0) U Metoda górska Pierwszy etap metody górskiej polega na stworzeniu dyskretnej przestrzeni X x Y przez podział X i Y za pomocą odpowiednio r1 i r2 równomiernie oddalonych od siebie linii. Przecięcia tych linii siatkowych, zwane węzłami, tworzą nasz zbiór potencjalnych środków grupowania. Oznaczamy element N przez N ij, (X i,y j ). 2. Obliczenie C środków grup v i zgodnie z aktualna macierzą przynależności, ( 0) ( l+1) 3. Przeliczenie U do U zgodnie z aktualnymi środkami grup v i, Jeżeli: () l ( l+1) U U < ε -zwróć macierz przynależności w przeciwnym wypadku skok do p.2. ( l ) U dla każdego punktu N ij, (X i,y j ) w zbiorze N funkcję górską określa zależność M ( N ) = ij q k = 1 ( αd ( N ij, Ok )) e przy czym O k jest k-tym punktem danych (x k,y k ), α jest stałą dodatnią i d(n ij,o k ) jest miarą odległości miedzy N ij i O k. Najczęściej, ale nie koniecznie tą miarą jest miara Euklidesowa d ( N O ) = ( X x ) 2 + ( Y y ) 2 ij, k i k j k 31

Metoda górska Trzeci etap metody górskiej polega na wykorzystaniu funkcji górskiej do tworzenia środków grupowania. Niech węzeł N 1 * będzie punktem siatki o maksymalnej sumie całkowitej, szczytem funkcji górskiej. Jego wygraną będziemy oznaczali M 1 *=Max[M(N ij )]. Jeżeli jest więcej niż jedno maksimum, to wybieramy losowo jeden z nich. Wyróżniamy ten węzeł jako pierwszy środek grupowania i oznaczamy jego współrzędne N 1 *=(x 1 *,y 1 *). Aby otrzymać następny środek grupowania, musimy wyeliminować wpływ dopiero co zidentyfikowanego środka, ponieważ zazwyczaj ten szczyt jest otoczony przez pewną liczbę punktów siatki, które również mają wysokie wygrane. W tym celu musimy usunąć wpływ szczytu będącego ostatnio zidentyfikowanym środkiem grupowania i skorygować funkcję górską. Dokładniej mówiąc, tworzymy skorygowaną funkcję górską M 2, określoną na N, taką że M ( N 2 ij ) = M 1 ( N ij ) M * 1 * ( βd ( N1, N ij )) e przy czym M 1 jest pierwotną funkcją górską M, β jest stałą dodatnią, N 1 * i M 1 * są to położenie i wygrana środka grupowania ostatnio zidentyfikowanego i d=(n 1 *,N ij ) jest miarą odległości. Klastrowanie algorytmem górskim Przykład: m 1 m 2 2 m 2 m 1 m 1 m 4 m 3 m 3 m 4 m3 K=3 Metoda górska Teraz użyjemy skorygowanej funkcji górskiej M 2 do znalezienia następnego środka grupowania, określając jego położenie N 2 * i wygraną M 2 * o wartości maksymalnej. N 2 * staje się nowym drugim środkiem grupowania. Następnie korygujemy naszą funkcję, aby otrzymać M 3 Mówiąc ogólnie, startując od skorygowanej funkcji górskiej M k, którą otrzymujemy w rezultacie znalezienia (k-1)-szego środka grupowania, postępujemy następująco: 1. Znajdź M k *=Max[(M k (N ij )] 2. Oznacz k-ty środek grupowania w N k * - położenia maksymalnego węzła, znalezionego w punkcie 1. 3. Utwórz skorygowaną funkcje górską M k+1 jako M k + 1( N ij ) = M k ( N ij ) 4. Jeżeli: -M* m+1 d - zakończ proces - w przeciwnym wypadku skok do punktu 2. * ( βd ( N k, N ij )) M e * k Metoda górska Ważną cechą metody funkcji górskiej jest brak wymagania założenia liczby środków grupowania. Metoda ta wyznacza m pierwszych środków, które spełniają kryterium zakończenia obliczeń, począwszy od najważniejszych, które mają maksymalne wartości funkcji górskiej w węzłach N 1 *,N 2 *,...,N m *. u ik = d d 2 m 1 j= 1 jk m - parametr fuzyfikacji, d ik - miara odległości pomiędzy środkiem v i oraz elementem x k, która w tym wypadku jest odległością Euklidesową. c 1 ik 32