Idź do:
Doszliśmy więc do takiego punktu w historii ludzkości, w którym dane przetwarzane przez dobrze prosperującą firmę stają się niemożliwe do przeanalizowania wyłącznie za pomocą tradycyjnych metod, czyli pracy ludzi i ich „mocy obliczeniowej”. Czasami także jakość danych utrudnia cały proces i potrzeba tutaj wsparcia, które odnaleźliśmy w komputerach. Dlatego właśnie metody eksploracji danych wykorzystują odpowiednie algorytmy – najważniejsze z nich opisuję w artykule.
Czym jest eksploracja danych (data mining)?
Data mining, inaczej eksploracja danych, to proces odkrywania reguł, zależności i wzorców w zebranych informacjach w celu uzyskania wiedzy. Jest to technologiczne połączenie tradycyjnych metod analizy (czyli relatywnie od dawna ludziom znanej statystyki) ze współcześnie stosowanymi algorytmami i rozwiązaniami szeroko rozumianej sztucznej inteligencji oraz sposobami na przetwarzanie dużych wolumenów danych przez jedną lub więcej jednostkę obliczeniową.
Proces eksploracji danych
„Every dataset, every database, every spreadsheet has a story to tell”
Stuart Frankel, CEO of Narrative Science
Data mining jest jednym z nieodłącznych elementów KDD (ang. Knowledge Discovery in Databases), czyli odkrywania wiedzy zebranej w bazach danych. Proces ten dzielimy na:
- Ustalenie celu analizy – zrozumienie problemu, zapoznanie się z danymi, potrzebami biznesowymi.
- Integrację danych – łączenie informacji różnego pochodzenia, niekiedy posiadających inną strukturę oraz różne modele danych.
- Przetwarzanie wstępne danych – pozbycie się błędów ludzkich, literówek, pustych wartości. Ujednolicenie typów danych dla poszczególnych informacji. Poszukiwanie i pozbycie się duplikatów.
- Transformację danych – to dalsza część przetwarzania, jednak skupiona już na potrzebach późniejszej eksploracji. Polega na wyróżnieniu potencjalnie użytecznych kolumn, części danych, według ustalonego wcześniej celu. Chodzi o uproszczenie danych tak bardzo, jak to tylko możliwe.
- Rozróżnienie metod eksploracji oraz wybór odpowiedniego algorytmu – punkt ten rozwinięty został w dalszej części artykułu.
- Eksplorację danych – zgodnie z powyższą definicją: poszukiwanie reguł, zależności i wzorców.
- Interpretację i wizualizację – zrozumienie otrzymanych wyników i doprowadzenie ich do stanu czytelnego dla biznesu, utworzenie tabelek, spisanie wniosków, udokumentowanie procesu i uzasadnienie użytych środków.
Główne metody eksploracji danych
Obecnie w paradygmacie rozróżniamy dwie główne grupy metod eksploracji, z których wybieramy jedną na potrzeby naszej analizy. Są to:
- Metody predykcyjne (ang. predictive)
- Metody deskrypcyjne / opisowe (ang. descriptive)
Techniki eksploracji danych
W obrębie każdej z nich są skategoryzowane 3 techniki eksploracji danych – najpopularniejsze podejścia do eksploracji. Oczywiście dziedzina ta ciągle się rozwija, przybywa algorytmów, jak również podejść, zatem w tym artykule skupimy się właśnie na tych kluczowych. Poniżej postaram się wyjaśnić każdą grupę oraz metodę oraz podać przykładowe użycia w celu lepszego zrozumienia.
1. Metody predykcyjne – skupiają się na próbie przewidzenia wyniku na podstawie wartości innych danych wejściowych. Wyniki tych metod nazywane są z języka angielskiego targetem lub wartościami zależnymi, natomiast atrybuty wykorzystane do ich uzyskania wartościami niezależnymi bądź wyjaśniającymi (ang. explanatory). Do tych metod zaliczamy:
- Technikę klasyfikacji (ang. classification) – działa na podstawie algorytmów skupiających się, jak sama nazwa wskazuje, na klasyfikacji obiektów danych. Jest wykorzystywana, gdy nasza wartość zależna ma charakter dyskretny (skategoryzowany). Zastosowanie znalazła np. w diagnostyce chorób u pacjentów na podstawie wcześniejszych klasyfikacji schorzeń.
Przykładowe algorytmy modelujące: naiwny klasyfikator Bayesowski, regresja logistyczna, K-najbliższych sąsiadów, drzewa decyzyjne, maszyna wektorów nośnych (ang. „Support Vector Machine”).
- Technikę predykcji (ang. prediction) – przewiduje najbardziej prawdopodobne wartości dla otrzymanych danych. Modele utworzone w tej technice można sobie wyobrazić jako funkcje ciągłe, dopasowane pod kątem otrzymanych informacji wejściowych. Dla przykładu może być wykorzystana do badań rynkowych zarobków pracowników danych sektorów, gdzie na podstawie edukacji, lat doświadczenia, pochodzenia i innych demograficznych warunków można by oszacować średnie wynagrodzenie, zależne od wyżej wspomnianych czynników.
Przykładowe algorytmy modelujące: regresja liniowa, regresja grzbietowa, aproksymacja wielomianowa
- Analizę szeregów czasowych (ang. Time-Series Analysis) – jest to technika opracowująca wyniki na podstawie analizy danych zmieniających się w czasie. Jeżeli krok (zmiana czasu względem danych) jest nieregularny, wtedy nazywamy tę technikę analizą szeregu czasowego rozmytego.
Przykładowe algorytmy modelujące: autoregresja (ang. Autoregressive Integrated Moving Average, ARIMA), ruchoma średnia, wygładzanie wykładnicze.
2. Metody deskrypcyjne – próbują wyciągnąć z otrzymanych wartości wejściowych wzorce (korelacje, tendencje danych, klastry, anomalie itp.), które są w stanie opisać relacje między otrzymanymi danymi. Metody te mają za zadanie scharakteryzować, dość ogólnie, właściwości danych wejściowych (odkryć wzorce, powiązania, odpowiednio zgrupować dane i wykryć charakterystyczne anomalie), jednak do wyciągnięcia konkretnych wniosków potrzebują dodatkowej pracy nad odpowiednim przygotowaniem i zwizualizowaniem danych. Techniki to:
- Odkrywanie asocjacji – technika odkrywania wzorców, które opisują silnie powiązane cechy między elementami ze zbiorów danych. Przykładem może być odnajdywanie grup genów, które mają podobne właściwości, bądź analiza koszyka kupionych przez klienta produktów w celu planowania rozłożenia produktów (np. tak, żeby klient kupujący pieczywo, idąc do kasy, przeszedł obok masła).
Przykładowe algorytmy: algorytm Apriori, algorytm Eclat
- Technika grupowania (ang. clustering) – tworzy skończoną ilość zbiorów, kategorii, które powstają na podstawie danych i ich podobnych cech. Liczba takich kategorii wynika z podobieństwa danych. Może być wykorzystywana np. w sportach zespołowych w celu sprawdzenia podobieństw między graczami z danej drużyny, dzięki czemu można mieć podstawę do utworzenia nowych taktyk na kolejne spotkanie.
Przykładowe algorytmy: algorytm centroidów (ang. K-means clustering), algorytm BIRCH (ang. Balanced Iterative Reducing and Clustering Using Hierarchies)
- Wykrywanie zmian i odchyleń – technika poszukająca fragmentów zbioru danych różniących się znacznie od pozostałej części. Takim fragmentom przypisuje się nazwę anomalii bądź odchyleń (ang. outliers). Techniki te cechują się wysokim wskaźnikiem detekcji i niskim wskaźnikiem fałszywych wyników. Wykorzystywane są przykładowo w AML (ang. Anti Money Laundring) oraz przy monitorowaniu zmian w ekosystemie.
Przykładowe algorytmy: ponownie algorytm K-najbliższych sąsiadów, sieci Bayesowskie, ukryte modele Markova (HMM).
Jaki model wybrać i jak skutecznie eksplorować dane?
Oczywiście odpowiedź na to pytanie brzmi: „to zależy”.
Data mining jest zaledwie częścią całego łańcucha KDD, a widzimy po wcześniejszym punkcie artykułu, jak obszerny jest to temat. Wpływ na nasze decyzje będzie miało wszystko to, co wydarzyło się z danymi po drodze. Jednak są pewne schematy, których można się trzymać. Jeżeli wiemy, że nasze wyniki mają być dyskretne – zastosujemy klasyfikatory; jeżeli mają być wynikami liczbowymi, różnymi – wykorzystamy techniki predykcji regresyjne. Natomiast jeżeli nie mamy oczekiwań bądź są one ogólne w stosunku do naszych danych i chcemy się na ich podstawie czegoś nauczyć, to wykorzystamy techniki deskrypcyjne.
Przeczytaj także: Data storytelling. Jak opowiadać historię za pomocą danych?
Algorytm dla wybranego modelu
Ustaliliśmy, jakiej metody / techniki użyjemy – teraz przed nami pytanie o algorytm, który stworzy z naszych danych model. No cóż, tutaj nie ma jednoznacznej odpowiedzi. Osobiście spotkałem się z podejściem, aby wybrać te algorytmy, które się najlepiej rozumie lub co do których wiemy, że najlepiej „zrozumieją” nasze dane – i porównać je. Jeżeli jednak możliwości wypróbowania kilku rozwiązań nie ma, warunki produkcji na to nie pozwalają bądź są inne ograniczenia – rozstrzygnie doświadczenie developera bądź zespołu, który wdraża te rozwiązania.
Eksploracja danych to potężne narzędzie firm data driven
Eksploracja danych to ogromny obszar wpisujący się w ważny obecnie trend budowania organizacji data driven, a o każdym ze wspomnianych algorytmów mógłby powstać osobny materiał. Przedsiębiorstwa, które chcą być napędzane przez dane, inwestują w technologie takie jak Microsoft Power BI, Tableau czy Qlik Sense. Służą one do wizualizacji wniosków otrzymanych przez opisane przeze mnie metody w zrozumiałej dla każdego formie. Takie rozwiązania pomagają znaleźć trendy i ukryte zależności pomiędzy danymi z różnych źródeł, wydobywać potencjał dużych zbiorów danych i podejmować trafne decyzje. Wiele przedsiębiorstw wykorzystuje je nie tylko do analizy danych historycznych, ale też prognozowania, tak aby np. zwiększać sprzedaż.