Metody eksploracji danych

By Weronika Skotnicka

Techniki zgłębiania danych (data mining)

© Copyright StatSoft, Inc., 1984-2011

Przeszukaj Internetowy Podręcznik Statystyki

Techniki zgłębiania danych (data mining)

Zgłębianie danych (data mining)

Zgłębianie danych (data mining) to proces analityczny, przeznaczony do badania dużych zasobów danych (zazwyczaj powiązanych z zagadnieniami gospodarczymi lub rynkowymi) w poszukiwaniu regularnych wzorców oraz systematycznych współzależności pomiędzy zmiennymi, a następnie do oceny wyników poprzez zastosowanie wykrytych wzorców do nowych podzbiorów danych. Finalnym celem data mining jest najczęściej przewidywanie (zachowań klientów, wielkości sprzedaży, prawdopodobieństwa utraty klienta itp.), dlatego też predykcyjny data mining jest bardzo popularny. Predykcyjny data mining daje bezpośrednie korzyści biznesowe. Proces ten składa się z trzech zasadniczych etapów: (1) wstępnej eksploracji, (2) budowania modelu (z określaniem wzorców) oraz oceny i weryfikacji oraz (3) wdrożenia i stosowania modeli (ang. deployment) dla nowych danych, w celu uzyskania przewidywanych wartości lub klasyfikacji.

Etap 1: Eksploracja. Zazwyczaj etap ten zaczyna się od przygotowania danych. Obejmuje ono czyszczenie i przekształcanie, wybór podzbiorów rekordów (przypadków) oraz jeśli analizowane dane zawierają wiele zmiennych (kolumn, pól) wstępny wybór zmiennych (cech) , którego celem jest zredukowanie liczby analizowanych zmiennych do poziomu pozwalającego efektywnie wykonywać analizy (poziom ten zależy od stosowanych metod data mining). Po przygotowaniu danych dalszy przebieg eksploracji zależy od konkretnego problemu, który chcemy rozwiązać. Eksploracja może obejmować bardzo różne metody, od prostego wyboru predyktorów za pomocą regresji liniowej do wyrafinowanego badania danych różnymi metodami graficznymi i statystycznymi (zob. Techniki eksploracyjnej analizy danych i zgłębiania danych (EDA) ), którego celem jest wybranie najważniejszych cech i wyznaczenie ogólnej natury i stopnia złożoności modelu (dla potrzeb drugiego etapu data mining).

Etap 2: Budowanie i ocena modelu. Na tym etapie rozważane są różnorodne modele, po czym wybierany jest najlepszy z nich. Kryterium oceny jest jakość predykcji (tzn. poprawność wyznaczania wartości modelowanej zmiennej i stabilność wyników dla różnych prób). Na pierwszy rzut oka wybór najlepszego modelu, może wydawać się dosyć prostym zadaniem, ale w praktyce czasami jest to skomplikowany proces. Istnieje wiele różnych metod oceny modeli i wyboru najlepszego z nich. Często stosuje się techniki bazujące na porównawczej ocenie modeli (ang. competitive evaluation of models) polegającej na stosowaniu poszczególnych metod dla tych samych zbiorów danych, a następnie wybraniu najlepszej z nich lub zbudowaniu modelu złożonego. Techniki oceny i łączenia modeli (uważane często za kluczową część predykcyjnego data mining ) to m.in.: agregacja modeli (głosowanie i uśrednianie) (ang. bagging), wzmacnianie (nazywane też losowaniem adaptacyjnym i łączeniem modeli, ang. boosting), kontaminacja modeli (ang. stacking, stacked generalizations) i metauczenie (ang. meta-learning).

Etap 3: Wdrożenie i stosowanie modeli. Jest to końcowy etap, na którym stosujemy dla nowych danych model uzyskany i uznany za najlepszy w drugim etapie. Celem stosowania modelu jest uzyskanie przewidywanych wartości lub klasyfikacji.

Zgłębianie danych zdobywa coraz większą popularność jako narzędzie zarządzania informacją biznesową, wykorzystywane w celu odkrywania struktur wiedzy wspomagającej proces podejmowania decyzji w warunkach ograniczonej pewności. Ostatnio obserwuje się wzrost zainteresowania rozwijaniem nowych technik analitycznych, projektowanych specjalnie pod kątem zagadnień odnoszących się do zgłębiania danych o charakterze ekonomicznym (np. Drzewa klasyfikacyjne ), z tym, że zgłębianie danych nadal opiera się jednak na zasadach tradycyjnie rozumianej eksploracyjnej analizy danych (EDA) i modelowaniu, a także wykorzystuje podobne podejście ogólne oraz techniki szczegółowe.

Istotna różnica pomiędzy zgłębianiem danych a tradycyjną eksploracyjną analizą danych (EDA) , odnośnie sposobu podejścia i przeznaczenia, polega na tym, że zgłębianie danych jest bardziej ukierunkowane na praktyczne zastosowania niż na istotę branego pod uwagę zjawiska. Inaczej mówiąc, zgłębianie danych jest stosunkowo mniej nastawione na wykrywanie konkretnych związków pomiędzy rozważanymi zmiennymi. Na przykład odkrywanie postaci branych pod uwagę funkcji lub określonych typów wzajemnych, wielowymiarowych zależności pomiędzy zmiennymi nie jest głównym celem zgłębiania danych. Zamiast tego nacisk jest kładziony na utworzenie rozwiązania pozwalającego uzyskiwać użyteczne prognozy. Dlatego też technika zgłębiania danych akceptuje m. in. stosowanie metody "czarnej skrzynki" do eksploracji danych lub odkrywania wiedzy i wykorzystuje nie tylko tradycyjne techniki eksploracyjnej analizy danych (EDA) , ale także takie techniki, jak np. sieci neuronowe , które umożliwiają generowanie poprawnych prognoz, ale nie pozwalają na identyfikację szczegółowej natury współzależności pomiędzy zmiennymi, na których opierają się prognozy.

Zgłębianie danych (data mining) jest często traktowane jako "zagadnienie z pogranicza statystyki, sztucznej inteligencji [AI] oraz badania baz danych" (Pregibon, 1997, str. 8), które do niedawna nie było powszechnie akceptowane jako obszar zainteresowań dla statystyków, a nawet uznawane było przez niektórych za "niepożądane słowo w statystyce" (Pregibon, 1997, str. 8). Jednak ze względu na swą praktyczną użyteczność, to podejście badawcze przyjmuje charakter głównego i gwałtownie rozwijającego się obszaru (także w statystyce), w którym dokonuje się istotny postęp w zakresie teorii (np. organizowana corocznie konferencja poświęcona wiedzy i zgłębianiu danych (International Conferences on Knowledge and Data Mining), w 1997 była organizowana m.in. przez Amerykańskie Towarzystwo Statystyczne).

Omówienie metod data mining można znaleźć poniżej, w niniejszym rozdziale tego podręcznika. Istnieje bogata (niestety przede wszystkim angielskojęzyczna) literatura poświęcona zarówno teorii jak i praktyce data mining. Poniżej wymienione podręczniki prezentują różne podejścia do data mining:

Berry, M., J., A., & Linoff, G., S., (2000). Mastering data mining. New York: Wiley.

Edelstein, H., A. (1999). Introduction to data mining and knowledge discovery (3rd ed). Potomac, MD: Two Crows Corp.

Fayyad, U. M., Piatetsky-Shapiro, G., Smyth, P., & Uthurusamy, R. (1996). Advances in knowledge discovery & data mining. Cambridge, MA: MIT Press.

Han, J., Kamber, M. (2000). Data mining: Concepts and Techniques. New York: Morgan-Kaufman.

Hastie, T., Tibshirani, R., & Friedman, J. H. (2001). The elements of statistical learning : Data mining, inference, and prediction. New York: Springer.

Pregibon, D. (1997). Data Mining. Statistical Computing and Graphics, 7, 8.

Weiss, S. M., & Indurkhya, N. (1997). Predictive data mining: A practical guide. New York: Morgan-Kaufman.

Westphal, C., Blaxton, T. (1998). Data mining solutions. New York: Wiley.

Witten, I. H., & Frank, E. (2000). Data mining. New York: Morgan-Kaufmann.

Kluczowe pojęcia data mining

Agregacja modeli (bagging): głosowanie (voting) i uśrednianie (averaging).

Agregacja modeli stosowana jest w predykcyjnym data mining . Polega ona na agregacji przewidywań wielu modeli tego samego typu uzyskanych dla różnych zbiorów uczących lub wielu modeli różnego typu uzyskanych dla tego samego zbioru danych (w tym drugim znaczeniu termin ten jest używany nieco rzadziej). Jeśli modelujemy zmienną ciągłą (problemy regresyjne) to procedurę taką nazywamy uśrednianiem (averaging), a w przypadku zmiennych jakościowych (zagadnień klasyfikacyjnych) stosujemy termin głosowanie (voting). Dzięki zastosowaniu agregacji modeli możemy uzyskiwać dokładniejsze i pewniejsze przewidywania dla skomplikowanych zależności. Jest ono stosowane także, aby rozwiązać problem "wrodzonej" niestabilności wyników uzyskiwanych, gdy stosujemy skomplikowaną metodę dla małego zbioru danych. Załóżmy, że naszym celem jest zbudowanie modelu klasyfikacyjnego i dysponujemy niewielkim zbiorem uczącym (w którym mamy dane o obserwowanej klasyfikacji). Możemy wtedy wielokrotnie losować ze zwracaniem próby ze zbioru uczącego i dla każdej z nich budować model (np. metodą C&RT lub CHAID ). W praktyce uzyskane w ten sposób modele (drzewa klasyfikacyjne) będą się bardzo różnić od siebie. W takim przypadku jednym ze sposobów przewidywania do jakiej klasy trafi dany obiekt jest proste głosowanie: wybieramy klasę, którą wskazało najwięcej modeli. Można także zastosować ważone głosowanie lub uśrednianie; taką zaawansowaną techniką jest wzmacnianie (boosting) .

Wzmacnianie (boosting).

Technikę tę stosuje się w predykcyjnym data mining , a polega ona na zbudowaniu sekwencji modeli dla danych i wyznaczeniu wag dla modelu zbiorczego (zob. agregacja modeli ). Pierwszy model budowany jest przy równych wagach wszystkich przypadków, a w kolejnych krokach wagi przypadków modyfikowane są tak, aby uzyskać dokładniejsze przewidywania dla tych przypadków, dla których wcześniejsze modele dawały błędne przewidywania.

Prosty algorytm wzmacniana wygląda następująco: Stosujemy metodę (np. drzewa klasyfikacyjne C&RT lub CHAID ) dla próby uczącej, przy czym wszystkie obserwacje mają taką samą wagę. Wyznaczamy klasyfikacje przewidywane i każdej obserwacji przypisujemy wagę, tym większą im większy był błąd klasyfikacji dla tej obserwacji (lub dla klasy do której ona należy). Innymi słowy większe wagi przypisujemy tym obserwacjom, które są trudne do klasyfikacji (które zostały błędnie zaklasyfikowane przez dotychczasowy model). W przypadku metody C&RT możemy zastosować różne koszty błędnych klasyfikacji dla każdej klasy, tym większe im więcej było błędnych klasyfikacji dla tej klasy. Następnie dopasowujemy model do danych z wagami (lub stosujemy różne koszty błędnych klasyfikacji). Całą procedurę powtarzamy, aż do osiągnięcia odpowiednich wyników.

Wzmacnianie powoduje utworzenie sekwencji modeli, z których każdy jest "ekspertem" w przewidywaniu dla przypadków, z którymi nie radziły sobie poprzedzające go modele. Przy stosowaniu modelu (do przewidywania wartości dla nowych przypadków) wyniki działania wszystkich modeli są łączone w celu uzyskania najlepszej prognozy.

Zauważmy, że wzmacnianie możemy stosować dla metod, które nie pozwalają na korzystanie z wag lub różnych kosztów błędnych klasyfikacji. W tym przypadku, na każdym kroku do budowy kolejnego modelu wykorzystujemy losowy podzbiór próby uczącej. Prawdopodobieństwo umieszczenia obserwacji w tym podzbiorze jest tym mniejsze im dokładniejsze prognozy uzyskano dla tej obserwacji w poprzednim kroku iteracji.

CRISP

Patrz modele data mining .

Przygotowanie danych (dla data mining).

Przygotowanie i weryfikacja danych jest nadzwyczaj ważne w procesie data mining. Powiedzenie "bezsensowne dane - bezsensowne wyniki" (ang. "garbage-in-garbage-out") jest szczególnie słuszne w przypadku zgłębiania danych, gdzie analizujemy bardzo duże zbiory danych, tworzone przez wiele różnych osób, w różnych miejscach, generowane automatycznie (przez systemy, których głównym celem jest sterowanie produkcją, a nie gromadzenie informacji na potrzeby analityczne) lub z serwerów WWW. W praktyce często (prawie zawsze) w procesie zbierania danych występują błędy, powodujące zapisywanie niemożliwych wartości (np. przychód = -100) lub kombinacji wartości (np. Płeć= Mężczyzna, Liczba porodów=1). W danych często występuje mnóstwo zmiennych (kolumn) w żaden sposób nie wpływających na badane zjawisko. Analiza takich "zachwaszczonych" danych, bez rozwiązania powyższych problemów powoduje uzyskanie mylących wyników, szczególnie w predykcyjnym data mining .

Redukcja danych (w data mining).

W data mining termin redukcja danych dotyczy projektów, których celem jest agregacja (amalgamacja) danych do postaci łatwiejszej do percepcji i przetwarzania. Do redukcji danych wykorzystuje się proste techniki np. tabelaryzację, statystyki opisowe oraz bardziej wyrafinowane techniki np. analizę skupień i składowych głównych .

Informacje uzupełniające znajdują się w omówieniu predykcyjnego data mining i drążenia danych .

Wdrożenie i stosowanie modeli (deployment).

Wdrożenie modeli w data mining oznacza zastosowanie wyników analizy dla nowych danych, stosuje się go w predykcyjnym data mining i w klasyfikacji bezwzorcowej. Po uzyskaniu zadawalającego modelu lub podziału na segmenty, należy stosować te wyniki, tak aby szybko można było uzyskać przewidywane wartości lub przynależność do segmentu. Przykładowo bank może wykorzystać model lub zespół modeli (np. sieci neuronowe, model złożony uzyskany w wyniku metauczenia ) do szybkiej identyfikacji transakcji o dużym prawdopodobieństwie nadużycia (ang. fraud detection).

Drążenie danych (drill-down analysis).

Drążenie danych w data mining polega na interakcyjnym badaniu danych (najczęściej dla dużych baz danych). Proces drążenia danych rozpoczyna wykonanie prostych przekrojów względem kilku zmiennych (np. płci, regionu itp.). Dla każdej grupy wyznaczane są statystyki, tabele i podsumowania graficzne (histogramy, wykresy kołowe i wykresy ramka-wąsy itp.). Następnie badacz może chcieć "drążyć dane" w celu wyeksponowania i zbadania "głębszych" struktur danych dla wybranej kategorii. Przykładowo po zbadaniu rozkładu danych dla mężczyzn, możemy zadać sobie pytanie jak będzie on wyglądał dla mężczyzn mieszkających w wybranym regionie. W kolejnych krokach drążenia danych możemy używać statystyk i wykresów, które zasugerują w jakim kierunku należy drążyć dane w następnym kroku (np. badać grupy wyznaczone przez przychód, wiek itd.). Na najniższym poziomie ("dnie") mamy pojedyncze dane surowe (komórki tabeli danych surowych). Przykładowo po określeniu kategorii wszystkich zmiennych (np. płci, przychodu, wykształcenia itd.) możemy przejrzeć adresy badanych osób np. aby zaoferować im konkretną usługę lub towar (które są odpowiednie dla grupy wyłonionej drążeniem danych).

Wybór cech (feature selection).

Jednym z pierwszych kroków procesu data mining jest wstępna selekcja cech (zmiennych) uwzględnianych w dalszej analizie. Stosujemy ją w przypadku, gdy w badanych danych występuje więcej zmiennych (cech) niż można efektywnie i wydajnie uwzględnić na etapie budowy modelu lub nawet we wstępnej eksploracji danych. Przykładowo, jeśli dane są gromadzone w systemie w sposób automatyczny, nie jest niczym niezwykłym, jeśli liczba predyktorów przekracza tysiące lub nawet setki tysięcy. Standardowe metody analizy, takie jak sieci neuronowe , C&RT , uogólnione modele liniowe czy ogólne modele liniowe , w predykcyjnym data mining stają się niepraktyczne, jeśli ilość zmiennych przekracza kilka setek.

Przy doborze zmiennych wybiera się podzbiór predyktorów z dużej listy kandydatów zakładając, że związki pomiędzy predyktorami a zmiennymi zależnymi (odpowiedzi) są liniowe lub monotoniczne. Dlatego wybór cech może stanowić etap wstępny predykcyjnego data mining, w którym wybiera się rozsądnej wielkości podzbiór predyktorów, które są prawdopodobnie powiązane ze zmiennymi zależnymi. Następnie przechodzi się do dalszych analiz innymi metodami regresyjnymi i klasyfikacyjnymi.

Uczenie maszyn (machine learning).

Termin uczenie maszyn jest często stosowany w data mining , jako ogólne określenie algorytmów dopasowywania modeli (klasyfikacyjnych, regresyjnych jak również w metodach uczenia bez nauczyciela). W odróżnieniu od tradycyjnej statystycznej analizy danych, w której szacujemy parametry populacji metodami statystycznymi, w uczeniu maszyn (i data mining) nacisk położony jest na dokładność i użyteczność przewidywań (w regresji i klasyfikacji) lub opisu danych, a możliwość interpretacji i zrozumienia zjawiska jest sprawą drugorzędną. Dobrym przykładem takiej techniki są sieci neuronowe lub algorytmy metauczenia . W uczeniu maszyn stosujemy zazwyczaj skomplikowane modele, w przypadku których nie ma teoretycznego uzasadnienia, że będą one dobrze opisywać badane zjawisko. Jednak można sprawdzić czy modele dają dobre przewidywania dla cech opisujących dane zjawiska poprzez badanie ich zachowania dla prób do oceny krzyżowej .

W predykcyjnym data mining metauczenie stosuje się do łączenia wyników wielu modeli. Technika ta jest w szczególności użyteczna, gdy modele są różnego typu. W tym znaczeniu metodę tą nazywamy również kontaminacją modeli (stacking, stacked Generalization).

Rozważmy na przykład projekt data mining, w którym stosujemy metody C&RT , CHAID , liniową analizę dyskryminacyjną (zob. GDA ) i sieci neuronowe . Każdy model wyznacza przewidywane klasyfikacje dla próby do sprawdzianu krzyżowego . Na podstawie tych danych obliczamy ogólne statystyki dopasowania (stopy błędnych klasyfikacji). Z doświadczenia wiadomo, że połączenie wielu metod daje lepsze przewidywania niż każda z metod z osobna (zob. Witten i Frank, 2000). Przy kontaminacji modeli wyniki działania poszczególnych modeli są danymi wejściowymi dla metauczenia. Przykładowo wyniki drzew klasyfikacyjnych, modelu liniowego i sieci neuronowych mogą stanowić dane wejściowe dla sieci neuronowej, która "nauczy się", jak połączyć wyniki różnych modeli, tak aby uzyskać najlepszy finalny model prognostyczny.

Możliwe jest zastosowanie tej techniki w stosunku do wyników modelu zbiorczego, uzyskanego przez metauczenie (taką technikę możemy nazwać metametauczeniem); taką procedurę możemy stosować wielokrotnie. Jednak w praktyce zwiększa to ilość obliczeń, a uzyskiwana poprawa modeli jest coraz mniej znacząca.

Modele data mining

Realizacja złożonych projektów data mining (zgłębiania danych) w przedsiębiorstwie (i innych dużych organizacjach) wymaga skoordynowanego wysiłku ekspertów, właścicieli i różnych działów organizacji. W literaturze data mining proponowane są różne metodyki, mogące służyć jako scenariusz, w jaki sposób należy zorganizować proces zbierania i analizy danych, rozpowszechniania wyników i sprawdzania korzyści z wdrażania projektu.

Jednym z modeli data mining jest CRISP (Cross-Industry Standard Process for data mining) zaproponowany w połowie lat dziewięćdziesiątych przez europejskie konsorcjum przedsiębiorstw, jako powszechnie dostępny standard dla procesu data mining. Model ten postuluje następujący ciąg etapów projektu data mining (raczej nie budzą one większych kontrowersji):

Innym podejściem jest metodyka Sześć Sigma (Six Sigma) . Jest to dobrze zorganizowana, bazująca na danych strategia unikania wad i problemów z jakością we wszystkich rodzajach produkcji i usług, zarządzaniu i innej działalności biznesowej. Metodyka Sześć Sigma staje się ostatnio coraz bardziej popularna (ze względu na wiele udany wdrożeń) w USA i na całym świecie. Zaleca ona następujące etapy (tzw. DMAIC):

Wywodzą się one z tradycji doskonalenia jakości i sterowania procesami i szczególnie dobrze nadają się do zastosowania w produkcji i świadczeniu usług.

Inna metodyka (w istocie do pewnego stopnia podobna do Sześć Sigma) to zaproponowana przez SAS Institute strategia SEMMA.

Skupia się ona bardziej na technicznych aspektach projektów data mining.

Wszystkie te modele dotyczą sposobu korzystania z metodyki data mining przez organizację, "przekształcania danych na wiedzę", tego jak zaangażować kluczowe osoby (właścicieli, zarząd) w proces data i jak udostępnić wiedzę, w takiej postaci, aby łatwo było podejmować na jej podstawie decyzje.

Niektóre aplikacje data mining zostały zaprojektowane i udokumentowane, tak aby spełniać wymogi jednej z tych strategii.

Natomiast system STATISTICA Data Miner , stworzony przez firmę StatSoft, został zaprojektowany jako środowisko data mining, które ma zastosowanie w dowolnej organizacji, gałęzi przemysłu i kulturze organizacyjnej, bez względu na ogólny model procesu data mining, na który zdecydowała się dana organizacja. Przykładowo system STATISTICA Data Miner może zawierać pełny zakres narzędzi wymaganych do wdrożenia, metodyki Sześć Sigma w całej organizacji, a użytkownicy mogą korzystać ze środowiska zorientowanego na DMAIC (które jest jedną z wielu opcji do wyboru). System równie dobrze spełni rolę części projektu CRM (Customer Relationship Management), związanej z badaniami marketingowymi itp., zgodnymi z podejściem CRISP lub SEMMA - spełnia on bardzo dobrze wymogi obu tych metodyk nie faworyzując żadnej z nich. Ponadto system STATISTICA Data Miner ma zalety ogólnego, przeznaczonego do data mining systemu, zawierającego narzędzia, umożliwiające nie tylko stosowanie w projektach takich obiektów jak połączenia z bazami danych, interakcyjne zapytania do baz danych i własne algorytmy. Dodatkowo (korzystając z opcjonalnych aplikacji StatSoft, np. STATISTICA Enterprise Server) można korzystać z narzędzi pracy grupowej i tworzyć rozbudowane systemy korporacyjne obejmujące cała organizację i spełniające wymogi CRISP albo SEMMA lub ich kombinacji.

Predykcyjny data mining (predictive data mining).

Termin ten oznacza analizy, których celem jest uzyskanie modelu (statystycznego lub sieci neuronowych) przeznaczonego do przewidywania wartości pewnych cech. Przykładowo celem projektu data mining może być wykrycie tych transakcji dokonywanych kartą kredytową, które mają duże prawdopodobieństwo nadużycia. Inne, niepredykcyjne projekty data mining, mają charakter eksploracyjny (np. identyfikacja segmentów klientów) i wykorzystują metody eksploracyjne np. drążenie danych i statystyki opisowe. Innym celem data mining może być redukcja danych (tzn. przekształcenie wielkiego zbioru w postać nadającą się do percepcji).

SEMMA

Patrz modele data mining .

Kontaminacja modeli stosowana jest w predykcyjnym data mining . Polega ona na połączeniu przewidywań różnorodnych modeli. Kontaminacja modeli jest szczególnie użyteczna jeżeli w projekcie stosujemy bardzo różne modele.

Rozważmy na przykład projekt data mining, w którym stosujemy metody C&RT , CHAID , liniową analizę dyskryminacyjną (zob. GDA ) i sieci neuronowe . Każdy model wyznacza przewidywane klasyfikacje dla próby do sprawdzianu krzyżowego . Na podstawie tych danych obliczamy ogólne statystyki dopasowania (stopy błędnych klasyfikacji). Z doświadczenia wiadomo, że połączenie wielu metod daje lepsze przewidywania niż każda z metod z osobna (zob. Witten i Frank, 2000). Przy kontaminacji modeli wyniki działania poszczególnych modeli są danymi wejściowymi dla metauczenia. Przykładowo wyniki drzew klasyfikacyjnych, modelu liniowego i sieci neuronowych mogą stanowić dane wejściowe dla sieci neuronowej, która "nauczy się", jak połączyć wyniki różnych modeli, tak aby uzyskać najlepszy finalny model prognostyczny.

Inne metody łączenia modeli to wzmacnianie i agregacja .

Text Mining.

Data mining to wykrywanie wzorców w danych liczbowych, tymczasem bardzo często kluczowe informacje zapisane są jako tekst. Dane tekstowe nie mają określonej struktury, i w związku z tym trudno je analizować. Text mining składa się z analizy dokumentów w celu wyodrębnienia istotnych wyrazów, fraz itp. i przygotowania danych do stosowania data mining (np. przez określenie częstości występowania poszczególnych wyrazów).

Głosowanie (voting).

Zob. agregacja modeli.

Hurtownie danych

StatSoft definiuje tworzenie hurtowni danych jako proces polegający na organizowaniu przechowywania dużych, wielowymiarowych zbiorów danych w sposób umożliwiający pozyskiwanie informacji dla celów analitycznych.

Hurtownie danych o najefektywniejszej architekturze są w stanie objąć, lub co najmniej mieć dostęp do wszystkich danych korporacyjnego systemu zarządzania informacją. Używa się przy tym specjalizowanej technologii zarządzania korporacyjnymi bazami danych (jak Oracle, Sybase, MS SQL Server). Również systemy korporacyjne StatSoft, elastyczne, wysokowydajne (patrz technologia IDP ), o otwartej architekturze, integrują się doskonale z zastanymi systemami korporacyjnymi, pozwalając użytkownikowi skutecznie organizować dostęp do korporacyjnych repozytoriów danych, w celach analitycznych. Systemy korporacyjne StatSoft, jak SEDAS (STATISTICA Enterprise Data Analysis System) i SEWSS (STATISTICA Enterprise-Wide SPC System) pracują ze STATISTICA Data Miner i STATISTICA Enterprise Server .

On-Line Analytic Processing (OLAP)

Termin On-line Analytic Processing, (OLAP) lub Szybka analiza informacji wielowymiarowej (Fast Analysis of Shared Multidimensional Information - FASMI) odnosi się do technologii, która umożliwia użytkownikom wielowymiarowych baz danych interakcyjne generowanie opisowych lub porównawczych zestawień ("przekrojów") oraz innych zapytań analitycznych. Należy zauważyć, że analizy OLAP pomimo swej nazwy ("on-line") nie muszą być przeprowadzane na bieżąco (ani w czasie rzeczywistym). Termin ten odnosi się do analizy "wielowymiarowych" baz danych (które oczywiście mogą zawierać informacje uaktualniane dynamicznie) poprzez wydajne zapytania wielowymiarowe dotyczące danych różnego typu. Narzędzia OLAP mogą być integrowane z systemami baz danych (korporacyjnymi) i umożliwiają analitykom i menedżerom śledzenie wydajności przedsiębiorstwa (np. różnych aspektów procesu produkcyjnego lub ilości i rodzajów transakcji przeprowadzonych w różnych oddziałach) lub rynku. Rezultaty osiągane technikami OLAP mogą mieć bardzo prostą postać (np. tablice liczebności, statystyki opisowe, proste tabele krzyżowe) lub nieco bardziej złożoną (np. mogą uwzględniać korekty sezonowe, usuwanie odstających obserwacji oraz inne formy "czyszczenia danych"). Techniki zgłębiania danych (data mining) mogą operować na dowolnym typie nieprzetworzonej informacji, nawet informacji nie ujętej w określone struktury, mogą być stosowane do przeglądania i zestawiania danych generowanych za pomocą OLAP w celu dostarczenia bardziej dogłębnej, a często również bardziej wieloaspektowej wiedzy. W tym sensie można uważać, iż techniki data mining prezentują odmienne podejście analityczne (służące innym celom niż OLAP) lub analityczne rozszerzenie technik OLAP.

Techniki eksploracyjnej analizy danych i zgłębiania danych

Eksploracyjna analiza danych (EDA) a testowanie hipotez

W odróżnieniu od tradycyjnego testowania hipotez przeznaczonego do weryfikacji hipotez stawianych a priori, odnoszących się do relacji pomiędzy zmiennymi (np. "Istnieje dodatnia korelacja pomiędzy WIEKIEM danej osoby a jej SKŁONNOŚCIĄ DO PODEJMOWANIA RYZYKA"), eksploracyjna analiza danych (EDA) jest stosowana do identyfikacji systematycznych relacji pomiędzy zmiennymi w sytuacji, gdy nie ma określonych z góry oczekiwań odnośnie natury tych relacji. W typowym procesie eksploracyjnej analizy danych bierze się pod uwagę i porównuje wiele zmiennych, przy zastosowaniu różnorodnych technik w poszukiwaniu systematycznych związków.

Techniki obliczeniowe EDA

Metody obliczeniowe eksploracyjnej analizy danych obejmują zarówno proste statystyki opisowe, jak i bardziej zaawansowane, specjalnie dedykowane wielowymiarowe techniki eksploracyjne przeznaczone do identyfikacji układów w obrębie wielowymiarowych zbiorów danych.

Podstawowe statystyczne metody eksploracyjne. Podstawowe statystyczne metody eksploracyjne obejmują takie techniki jak badanie rozkładów zmiennych (np. w celu wykrycia rozkładów skrajnie skośnych lub odbiegających od normalnego jak np. rozkłady dwumodalne), przeglądanie dużych macierzy korelacji w poszukiwaniu współczynników, które przekraczają określone wartości progowe (patrz przykład umieszczony powyżej) lub analiza wielodzielczych tabel liczności (np. systematyczne przeglądanie kombinacji poziomów ustalonej zmiennej, "przekrój za przekrojem").

Wielowymiarowe techniki eksploracyjne. Wielowymiarowe techniki eksploracyjne przeznaczone specjalnie do identyfikacji układów występujących w wielowymiarowych (lub jednowymiarowych, np. serie pomiarów) zbiorach danych obejmują m.in.: analizę skupień (taksonomiczną), analizę czynnikową , analizę dyskryminacyjną , skalowanie wielowymiarowe , analizę log-liniową , analizę kanoniczną , regresję liniową i nieliniową (np. logit) , analizę korespondencji , szeregi czasowe oraz drzewa klasyfikacyjne .

Sieci neuronowe. Sieci neuronowe stanowią techniki analityczne tworzone na wzór procesu uczenia w systemie poznawczym i funkcji neurologicznych mózgu i zdolne do przewidywania nowych obserwacji (określonych zmiennych) na podstawie innych obserwacji (dokonanych na tych samych lub innych zmiennych) po przeprowadzeniu procesu tzw. uczenia w oparciu o istniejące dane.

Więcej informacji można znaleźć w rozdziale Sieci neuronowe ; zob. także STATISTICA sieci neuronowe .

Techniki graficzne EDA (wizualizacja danych)

Szeroki wybór potężnych analitycznych technik eksploracji danych jest także dostępny dzięki możliwości zastosowania graficznych metod wizualizacji danych , które umożliwiają identyfikację relacji, trendów i systematycznych błędów "ukrytych" w zbiorach danych o nieustalonej strukturze.

Wyróżnianie. Prawdopodobnie najbardziej znaną i najwcześniej szeroko wykorzystywaną techniką, w sposób jednoznaczny identyfikowaną z graficzną eksploracyjną analizą danych jest technika wyróżniania . Jest to rodzaj interaktywnej techniki, pozwalającej na wybieranie bezpośrednio na wykresie określonych punktów lub podzbiorów danych i identyfikowanie ich (wspólnych) charakterystyk lub badanie ich wpływu na powiązania zachodzące pomiędzy odpowiednimi zmiennymi. Relacje pomiędzy zmiennymi mogą być wizualizowane przy zastosowaniu dopasowanych funkcji (np. linii 2W lub powierzchni 3W) oraz odpowiadających im przedziałom ufności. Dzięki temu można na przykład, badać zmiany tych funkcji przy interakcyjnym (tymczasowym) usuwaniu lub dodawaniu określonych podzbiorów danych. Przykładem wyróżniania może być wybranie (podświetlenie) na macierzowym wykresie rozrzutu wszystkich punktów należących do pewnej grupy (np. "osoby o średnim przychodzie"). Dzięki temu możemy zobaczyć, w jaki sposób wyglądają zależności między zmiennymi (np. wartością "aktywów" a "zadłużeniem") dla punktów należących do tej grupy i pozostałych punktów. Korzystając z "animowanego wyróżniania" możemy zbadać, jak wyglądają zależności między zmiennymi dla różnych zakresów wybranej zmiennej (zmiennej kategoryzującej). W animowanym wyróżnianiu obszar wyboru punktów przesuwa się w obrębie zakresu wartości zmiennej wyznaczającej grupy (może to być np. wartość przychodu lub wartości przychodu podzielone na trzy kategorie).

Inne graficzne techniki eksploracyjnej analizy danych (EDA). Inne graficzne techniki analizy eksploracyjnej obejmują dopasowywanie i wykreślanie funkcji, wygładzanie danych , nakładanie i scalanie wielu obrazów, kategoryzację danych, dzielenie lub scalanie podzbiorów danych na wykresach, agregowanie danych na wykresach, identyfikację i zaznaczanie podzbiorów danych, spełniających określone warunki , wykresy obrazkowe ,

cieniowanie, kreślenie przedziałów ufności i obszarów (elips ) ufności,

tworzenie wykresów mozaikowych , płaszczyzn spektralnych ,

zintegrowanej kompresji warstwowej ,

a także rzutowanie warstwic , techniki redukcji wymiaru danych i interakcyjne (płynne) obracanie

z animowaną stratyfikacją (tworzenie przekrojów) obrazów 3W oraz selektywne podświetlanie określonych serii i bloków danych.

Weryfikacja wyników eksploracyjnej analizy danych (EDA)

Eksploracja danych może stanowić jedynie pierwszy etap analizy danych a jej rezultaty mogą być w najlepszym przypadku traktowane jako próbne, dopóki nie zostaną potwierdzone, np. po poddaniu ocenie krzyżowej , przy użyciu różnych zbiorów danych (lub niezależnych podzbiorów). Jeśli rezultat etapu eksploracyjnego sugeruje określony model, wówczas jego trafność może zostać zweryfikowana poprzez zastosowanie go do nowego zbioru danych oraz ocenę jego dopasowania (np. testowanie jego trafności prognostycznej). Do szybkiego definiowania podzbiorów danych (np. dla potrzeb estymacji i weryfikacji) oraz dla oceny odporności wyników można wykorzystywać warunki selekcji przypadków.

Sieci neuronowe

(zob. także rozdział Sieci neuronowe )

Sieci neuronowe stanowią techniki analityczne tworzone na wzór procesu uczenia w systemie poznawczym i funkcji neurologicznych mózgu i zdolne do przewidywania nowych obserwacji (określonych zmiennych) na podstawie innych obserwacji (dokonanych na tych samych lub innych zmiennych) po przeprowadzeniu procesu tzw. uczenia w oparciu o istniejące dane. Sieci neuronowe są jedną z technik data mining .

Pierwszym krokiem jest zaprojektowanie specyficznej architektury sieci (zawierającej określoną liczbę warstw, z których każda posiada określoną liczbę neuronów). Wielkość i struktura sieci powinna odzwierciedlać naturę badanego zjawiska. Ponieważ na tym etapie nie jest ona jeszcze zbyt dobrze znana, nie jest to zadanie łatwe i często pociąga za sobą wiele prób i błędów. (Teraz, jednakże mamy do dyspozycji programy do sieci neuronowych, które pomagają nam znaleźć najlepszą architekturę sieci wykorzystując do tego techniki sztucznej inteligencji.)

Utworzona sieć następnie poddawana jest procesowi uczenia. Uczenie sieci polega na iteracyjnej prezentacji na wejściach sieci poszczególnych przypadków uczących. Uczenie ma na celu dopasowanie wartości wag sieci, by była ona w stanie odtwarzać zawarte w zbiorze uczącym zależności. Po zakończonym procesie uczenia należy jeszcze sprawdzić czy sieć jest zdolna do generalizacji przedstawionych jej zależności. W tym celu jej działanie jest sprawdzane na innym zbiorze danych nie biorącym udziału w procesie uczenia. Po fazie uczenia sieć może już być wykorzystywania do generowania prognoz.

Uzyskana w procesie uczenia sieć reprezentuje wzór ukryty w danych. Stąd, w tym podejściu, sieć jest odpowiednikiem modelu powiązań między zmiennymi, który jest tworzony w podejściu tradycyjnym. Jednakże, w odróżnieniu od tradycyjnych modeli, w sieci tych relacji nie da się określić za pomocą wzorów lub formuł używanych zazwyczaj do opisu relacji między zmiennymi (jak np. "A jest dodatnio skorelowane z B, ale tylko dla obserwacji, dla których wartość C jest niska, a D wysoka"). Pewne rodzaje sieci neuronowych mogą generować precyzyjne prognozy; jednakże reprezentują typowo praktyczne podejście nie oparte na rozważaniach teoretycznych (moglibyśmy powiedzieć, że działają na zasadzie czarnej skrzynki). W podejściu tym wykazujemy zainteresowanie jedynie praktycznymi czynnikami, takimi jak trafnością przewidywań, a nie naturą rozpatrywanego mechanizmu czy jego odniesieniem do teorii badanego zjawiska.

Należy wspomnieć, że techniki sieci neuronowych mogą być również wykorzystywane podczas eksploracyjnej analizy danych, ponieważ mogą one pomóc w badaniu zbioru danych pod kątem wyszukiwania istotnych zmiennych lub grup zmiennych. Rezultaty takiego przeszukiwania stanowią duże udogodnienie w procesie budowy modelu. Ponadto, obecnie mamy do dyspozycji programy do sieci neuronowych, które wykorzystują skomplikowane algorytmy do wyszukiwania najistotniejszych zmiennych, mających kluczowy wpływ na badane zjawisko.

Jedną z głównych zalet sieci neuronowych, jest fakt, iż (teoretycznie) są one w stanie aproksymować jakąkolwiek ciągłą funkcję, w związku z tym nie musimy stawiać hipotez dotyczących badanego modelu. Natomiast dużą wadę stanowi zależność końcowego rozwiązania od początkowych warunków sieci, a także fakt, iż (jak wspomniano powyżej) wyników nie można interpretować w sposób tradycyjny.

Niektórzy autorzy podkreślają fakt, iż sieci neuronowe stosują, (można powiedzieć oczekuje się by stosowały) równoległe modele obliczeniowe. Na przykład Haykin (1994) definiuje sieci neuronowe jako:

"liczne, równolegle rozmieszczane procesory, mające naturalną skłonność do gromadzenia eksperymentalnej wiedzy i czyniące ją dla nas dostępną. Przypomina mózg z dwóch względów: (1) wiedza jest "zdobywana" przez sieć w procesie uczenia oraz (2) połączenia neuronów zwane synapsami używane są do gromadzenia wiedzy.".

Jednakże, jak podkreśla Ripley (1996), ogromna większość współczesnych aplikacji sieci neuronowych uruchamiana jest na komputerach posiadających jeden procesor. W związku z tym twierdzi on, że duże przyspieszenie może zostać uzyskane nie tylko dzięki rozwojowi programów, które mogą zyskać poprzez wprowadzenie sprzętów dysponujących wieloma procesorami, ale także poprzez tworzenie bardziej efektywnych algorytmów nauczania.

Sieci neuronowe są jedną z technik wykorzystywanych w zgłębianiu danych (data mining) ; patrz także eksploracyjna analiza danych . Więcej informacji na temat sieci neuronowych można uzyskać z prac Haykin'a (1994), Masters'a (1995), Ripley'a (1996) oraz Welstead'a (1994). Informacje na temat wykorzystania sieci neuronowych jako narzędzia statystycznego, patrz Warner i Misra (1996). Zob. także STATISTICA Sieci Neuronowe .

Eksploracja danych

Rozwój oraz upowszechnienie rozwiązań technologicznych służących gromadzeniu informacji sprawiły, że we wszystkich obszarach działalności człowieka mamy do czynienia z przechowywaniem i przetwarzaniem danych. Zazwyczaj są one wykorzystywane jedynie w bieżącej działalności instytucji je gromadzących; analiza i interpretacja danych może jednak dostarczyć istotnej wiedzy na temat reguł i zależności rządzących procesami biznesowymi, zachowaniami konsumentów i zagrożeniami funkcjonowania firmy.

Eksploracja danych to nowa dziedzina informatyki odpowiadająca na potrzebę zaawansowanej i automatycznej analizy informacji. Jej dynamiczny rozwój wynika z konieczności integracji istniejących algorytmów w celu efektywnego przetwarzania dużej ilości nowych typów danych. Obecnie, wraz z rozwojem narzędzi do generowania i przechowywania danych, eksploracji poddawane są coraz bardziej złożone informacje: multimedialne (zdjęcia, filmy, muzyka), przestrzenne (mapy), przebiegi czasowe, struktury chemiczne (sekwencje DNA), sieci społecznościowe.

Niniejsza książka jest pierwszym na polskim rynku samodzielnym podręcznikiem przedstawiającym metody eksploracji danych w ujęciu algorytmicznym, a nie statystycznym. Zawiera omówienie podstawowych metod eksploracji, m.in. odkrywanie asocjacji, wzorców sekwencji, klasyfikację i grupowanie. Dla każdej z metod omówiono podstawowe algorytmy eksploracji ilustrowane licznymi przykładami. Dodatkowo, w celu sprawdzenia wiedzy czytelnika, przygotowano zestaw zadań i ćwiczeń do samodzielnego wykonania.

Głównymi adresatami podręcznika są studenci informatyki, ekonomii, psychologii,

socjologii – dziedzin, w których duże znaczenie ma przetwarzanie informacji. Z pewnością skorzystają z niego również doktoranci zajmujący się zagadnieniami eksploracji danych i odkrywania wiedzy.

Metody eksploracji danych

Podczas kursu studenci zapoznają się z kompletnym procesem eksploracji danych oraz zastosują zdobytą wiedzę w praktyce podczas analiz prawdziwych zbiorów danych. Szczególny nacisk położony zostanie na eksplorację danych o charakterze przestrzennym. Podczas zajęć praktycznych uczestnicy kursu nauczą się wykorzystywać język programowania Python oraz środowisko programistyczne Jupyter Notebook. Kurs obejmuje w szczególności:

●Zapoznanie się z bibliotekami programistycznymi dedykowanymi eksploracji danych, zarówno wizualnej jak i statystycznej: NumPy, Pandas, Scikit-learn, Matplotlib, Seaborn

●Zaznajomienie się oraz praktyczne wdrożenie kompletnego procesu eksploracji danych:

○Wstępna analiza danych, wizualizacja, zapoznanie się z charakterystyką zbioru, świadomy wybór technik przetwarzania danych w celu dalszej eksploracji;

○Czyszczenie i transformacja danych;

○Przygotowanie danych do zastosowania metod uczenia maszynowego, analiza korelacji, dobór odpowiedniej metody uczenia maszynowego;

○Zasady i techniki zastosowania metod uczenia maszynowego, poprawne wnioskowanie na podstawie otrzymanych wyników.

Przedstawione metody uczenia maszynowego obejmować będą najczęściej wykorzystywane typy algorytmów: regresję, klasyfikację oraz grupowanie.