Wprowadzenie do zagadnienia Data Cleaning Łukasz Ciszak Instytut Informatyki Politechniki Warszawskiej 11.06.2008
Agenda Definicje Klasyfikacja Rozwiązaniazania 2008-06-11 Wprowadzenie do Data Cleaning 2
2008-06-11 Wprowadzenie do Data Cleaning 3
Mówimy o danych wysokiej jakości ci,, jeśli są poprawnym odwzorowaniem obiektów świata rzeczywistego, których dotyczą. 2008-06-11 Wprowadzenie do Data Cleaning 4
Dane wysokiej jakości: (miary) Pełne (Complete) Poprawne (Valid) Spójne (Consistent) Aktualne (Timely) Dokładne (Accurate) Istotne (Relevant) Dostępne i interpretowalne (Accessibility/ Accessibility/interpretability) 2008-06-11 Wprowadzenie do Data Cleaning 5
25% of critical data within Fortune 1000 companies will continue to be inaccurate through 2007. Poor quality customer data costs U.S. business an estimated $611 billion dollars a year in postage, printing, and staff overhead. Raport Gartner Inc., 2005 2008-06-11 Wprowadzenie do Data Cleaning 6
Data quality is the reliability and effectiveness of data, particularly in a data warehouse. Maintaining data quality requires going through the data periodically and scrubbing it 2008-06-11 Wprowadzenie do Data Cleaning 7
Czyszczenie danych (data cleaning, data cleansing, data scrubbing) to proces wykrywania i usuwania błędów w danych w celu zapewnienia, Ŝe dane są wysokiej jakości. Computational processing to remove noise and artifacts from digital data prior to storage. Data cleaning is the process of improving the quality of the data by modifying its form or content, for example, by removing or correcting erroneous data values. MineSet Enterprise Edition User's Guide 2008-06-11 Wprowadzenie do Data Cleaning 8
Gdzie się z tego korzysta: MDM DW OLTP Po co to jest potrzebne: Garbage Input Garbage Output 2008-06-11 Wprowadzenie do Data Cleaning 9
Przykłady z praktyki zwroty korespondencji, obsługa rezygnacji lotnicy, podwójne kredyty. 2008-06-11 Wprowadzenie do Data Cleaning 10
Klasyfikacja błęb łędów w danych 2008-06-11 Wprowadzenie do Data Cleaning 11
Problemy jakości danych Problemy dla jednego źródła Problemy dla wielu źródeł Poziom modelu danych Poziom rekordu Poziom modelu danych Poziom rekordu 2008-06-11 Wprowadzenie do Data Cleaning 12
Błędy na poziomie modelu danych (1 źródło): Przyczyny Brak więzów w integralności Nieumiejętny projekt bazy Konsekwencje Nieunikalność Złamane więzy integralności Sprzeczne dane 2008-06-11 Wprowadzenie do Data Cleaning 13
Niedopuszczalne wartości Data urodzenia: 30.13.1970 ZaleŜności między atrybutami Data urodzenia: 1970; Wiek: 15 Nieunikalność R1={ID=100; Nazwisko=X} R2={ID=100; Nazwisko=Y} Więzy referencyjne Wydział: : 25 (nieistniejący) 2008-06-11 Wprowadzenie do Data Cleaning 14
Błędy na poziomie rekordu (1 źródło) Przyczyna: błędy wprowadzania danych Konsekwencje Niepoprawny zapis (literówki, błęb łędy ortograficzne, przestawienia, OCR) Duplikaty / nadmiarowość 2008-06-11 Wprowadzenie do Data Cleaning 15
Brakujące wartości Telefon: 999-999 999-99999999 Błędna pisownia: Miasto: Baiłystok, Łudź,, Warsxawa Niejasne znaczenie: Doświadczenie: B Połą łączone wartości: Nazwisko: Stefan Batory Źle umieszczone wartości: miasto: mazowieckie 2008-06-11 Wprowadzenie do Data Cleaning 16
ZaleŜno ności między atrybutami Miasto: Pruszków, województwo: podlaskie Przestawienia: Imie_i_Nazwisko 1 : Anna Nowak ; ; imie_i_nazwisko 2 : Kowalski Jan Duplikaty: R 1 ={ Jan Nowak,...} R 2 ={ J. Nowak,...} Sprzeczne rekordy: R 1 ={ Jan Nowak, 09.03.1981 09.03.1981,...} R 2 ={ Jan Nowak, 03.09.1981 03.09.1981,...} Błędne referencje: R 1 ={ Jan Nowak,17} 2008-06-11 Wprowadzenie do Data Cleaning 17
Błędy na poziomie modelu danych (wiele źródeł): Przyczyny RóŜne modele danych Konsekwencje Konflikty nazewnicze homonimy synonimy Konflikty strukturalne róŝne modele danych, róŝne typy danych, róŝne więzy integralności. 2008-06-11 Wprowadzenie do Data Cleaning 18
Błędy na poziomie rekordu Występuj pują wszystkie błęb łędy związane zane z pojedynczymi źródłami danych RóŜne reprezentacje tych samych danych (domeny, poziomy agregacji, jednostki, róŝne r daty powstania danych) Te same rekordy w dwóch róŝnych r bazach 2008-06-11 Wprowadzenie do Data Cleaning 19
2008-06-11 Wprowadzenie do Data Cleaning 20
Rozwiązania zania 2008-06-11 Wprowadzenie do Data Cleaning 21
Rozwiązania zania Obszary czyszczenia danych: Wykrywanie duplikatów transformacje schematów Standaryzacja danych Poprawa danych 2008-06-11 Wprowadzenie do Data Cleaning 22
Rozwiązania zania Wymagania dla rozwiązań czyszczenia danych Wykrywać i usuwać wszystkie powaŝne błędy i niespójności danych pochodzących zarówno z jednego, jak i wielu źródeł Powinno być wykonywane automatycznie w celu ograniczenia ludzkiej interwencji Rozszerzalne Powiązane z metadanymi. Wiarygodne i wydajne 2008-06-11 Wprowadzenie do Data Cleaning 23
Rozwiązania zania 2008-06-11 Wprowadzenie do Data Cleaning 24
Rozwiązania zania Kroki czyszczenia danych: Analiza danych (profilowanie) Definicja transformacji Weryfikacja Transformacja danych Propagacja poprawnych danych wstecz Monitorowanie jakości danych 2008-06-11 Wprowadzenie do Data Cleaning 25
Rozwiązania zania Profilowanie danych (profiling) Niedopuszczalne wartości Kardynalność wartości max, min Wariancja, odchylenie standardowe Błędny zapis Wartości atrybutów - sortowanie Brakujące wartości null Wartości domyślne RóŜniące się wartości kolumn Wartości tego samego atrybutu z innej tabeli Duplikaty Kardynalność + unikalność 2008-06-11 Wprowadzenie do Data Cleaning 26
Rozwiązania zania Transformacje Ekstrakcja wartości Standaryzacja Walidacja/poprawa błędów Ekrany standaryzacyjne Geocoding Wykrywanie duplikatów Normalizacja/denormalizacja Agregacja 2008-06-11 Wprowadzenie do Data Cleaning 27
Rozwiązania zania Transformacje Narzędzia ETL Informatica, DataStage, AbInitio, OWB,... Baza danych Widoki Procedury składowane 2008-06-11 Wprowadzenie do Data Cleaning 28
Rozwiązania zania Pomysły Zastosowanie metod data mining do automatycznej generacji ekranów standaryzacyjnych Zastosowanie grupowania do znajdywania duplikatów Zastosowanie data mining do klasyfikacji duplikatów 2008-06-11 Wprowadzenie do Data Cleaning 29
Bibliografia The Data Warehouse ETL Toolkit,, Ralph Kimball, Joe Caserta The Data Warehouse Toolkit,, Ralph Kimball, Margy Ross Data Cleaning: Problems and Current Approaches,, Erhard Rahm, Hong Hai Do Data Quality and Record Linkage Techniques,, Thomas N. Herzog, Fritz J. Scheuren, William E. Winkler 2008-06-11 Wprowadzenie do Data Cleaning 30
Dziękuj kuję za uwagę.