Narzędzia i metody skutecznego modelowania predykcyjnego

Czy spłacisz zaciągniętą pożyczkę, przestaniesz być klientem firmy czy też zaakceptujesz jej ofertę? Na takie, kluczowe z biznesowego punktu widzenia pytania, instytucje finansowe i firmy mogą uzyskać obiektywną odpowiedź, jeśli wdrożą systemy modelowania predykcyjnego.

Według dr inż. Artura Suchwałko, Data Scientist oraz właściciela firmy QuantUp, „modelowanie predykcyjne na dużych danych z wykorzystaniem darmowych narzędzi jest łatwe, wygodne i przyjemne”.

dr inż. Artur Suchwałko, Data Scientist, QuantUp

Model zmienia rzeczywistość. Kiedy zaczynamy wykorzystywać model, podejmować decyzje biznesowe, to, czego zachowanie modelujemy, zachowuje się już trochę inaczej

Powołując się na Hadleya Wickhama, profesora statystyki na Uniwersytecie Rice w Teksasie i Chief Scientist w RStudio, a także na własne doświadczenia w analizie i modelowaniu danych, dr Suchwałko stwierdza, że tak naprawdę modelowanie Big Data z zasady daje się wykonać także na mniejszych zbiorach danych: „90% projektów uwzględniających modelowanie predykcyjne można zrobić na próbce mniejszej lub większej – bez dużej straty właściwości modelu”. Następne 9% to projekty, w ramach których należy właściwie podzielić dane (np. w zależności od populacji czy segmentu), a następnie wielokrotnie budować modele umożliwiające analizę wyłonionych w ten sposób pomniejszych zagadnień. Jedynie pozostały 1% projektów wymaga faktycznego wykorzystania wielkich wolumenów danych i znacznego nakładu pracy. W tej ostatniej kategorii mieszczą się tak skomplikowane projekty, jak np. systemy rekomendacyjne. To zadania, których nie da się rozwiązać, rozdzielając na mniejsze czy też analizując próbki danych.

Zobacz również:

Narzędzia Big Data nie tylko do wielkich danych

Artur Suchwałko podkreśla przy tym, że nawet mając do wykorzystania względnie małe wolumeny danych, warto używać narzędzi do analiz Big Data. „Są wygodne, szybkie i pracuje się z nimi naprawdę dobrze” – mówi. Dr Suchwałko propaguje wykorzystanie R, czyli „narzędzia do analizy danych, do modelowania i do grafiki, które jest de facto językiem programowania”. Argumentuje, że narzędzie to dostępne jest za darmo (open source), ma bardzo dużo pakietów do modelowania predykcyjnego oraz wykorzystuje stosunkowo krótkie, czytelne linie kodu. R posiada także pakiety umożliwiające importowanie danych z komercyjnych rozwiązań, takich jak SPSS czy SAS.

Co istotne, narzędzi R można wygodnie używać zarówno na lokalnych maszynach, jak i w chmurze obliczeniowej. Przykładowo, w ramach usług chmurowych Amazona dostępne są gotowe obrazy maszyn z zainstalowanym R Studio. Tak skonstruowane środowiska są nie tylko łatwe w konfiguracji, ale również wydajne oraz skalowalne.

Wybrane pakiety do analiz predykcyjnych z R

Dr Suchwałko podaje przykłady najlepszych jego zdaniem pakietów do modelowania predykcyjnego przy pomocy R, w tym dwa najciekawsze: Caret oraz mlr. Bez dodatkowych pakietów modelowanie predykcyjne jest w bazowym R niewygodne i trudne.

Caret to zestaw narzędzi do budowy modeli klasyfikacyjnych i regresyjnych. Takich modeli jest w nim ponad 200” – mówi Artur Suchwałko. Autorzy pakietu Caret wzięli modele z innych pakietów, ujednolicili ich interfejsy, dołożyli reprocessing, walidację krzyżową czy dobór parametrów modeli. Caret jest powszechnie stosowany i rozwijany od blisko 10 lat. Choć nie ma kompletnej dokumentacji, autorzy pakietu wydali książkę o praktycznym modelowaniu predykcyjnym przy zastosowaniu tego narzędzia.

Drugi z wymienionych pakietów to wydany w lutym 2016 mlr. Choć zawiera mniej modeli niż Caret, posiada wbudowaną wizualizację oraz zintegrowane algorytmy H2O. Pakiet mlr cechuje krokowy, bardziej czytelny przebieg analizy; jest łatwiejszy w użytkowaniu niż Caret. Ma także dobrze przygotowaną dokumentację. „Dodatkowo, oprócz klasyfikacji, regresji i analizy przeżycia ma ujednolicone metody analizy skupienia. Tego w Carecie nie ma, to jest wyraźna przewaga mlr” – wskazuje dr Suchwałko. Inne warte uwagi, mniejsze pakiety do pracy z dużymi porcjami danych wymieniane przez dr Suchwałko, to biglm, ff, speedglm, bigmemory, gputools czy xgboost.

Więcej uwagi dr Suchwałko poświęca pakietowi H2O: „to narzędzie do rozproszonego przechowywania danych w pamięci i wykonywania na nich obliczeń. Przy czym nie są to obliczenia ogóle – jak w przypadku Sparka – ale metody Machine Learning i Data Science”. W porównaniu do rozbudowanych pakietów Caret czy mlr, H2O wyróżnia się niewielkim wyborem dostępnych metod analizy – posiada raptem kilka klasyfikatorów, jedną metodę analizy skupień, jedną metodę redukcji wymiaru. Ich zaletą jest za to łatwość użycia oraz wydajność narzędzia. Co więcej, dzięki H2O można poprzez przeglądarkę uzyskać dostęp do interfejsu graficznego Flow.

Kolejnym wartym zainteresowania pakietem jest Sparklyr, umożliwiający agregację, filtrowanie i analizowanie pakietów danych pochodzących ze Sparka oraz MLlib, a także sterowanie nimi (orkiestrację) z poziomu R.

Computerworld DATA+ Big Data & Business Analytics

Dr Artur Suchwałko prowadził prelekcję oraz warsztaty techniczne na temat modelowania predykcyjnego podczas VI edycji konferencji Computerworld DATA+ Big Data & Business Analytics.

Wydarzenie poświęcone jest metodom skutecznego przetwarzania i analizowania danych z uwzględnieniem podstawowego celu: osiągania pożądanych efektów biznesowych. Uczestnicy konferencji mieli okazję poznać najnowsze trendy oraz najciekawsze zastosowania analityki w polskich firmach na przykładzie case studies rozwiązań stosowanych przez liderów.

Program DATA+ dzielił się na dwie dostosowane do potrzeb uczestników konferencji ścieżki tematyczne:

  • DATA+ Biznes. Ścieżka adresowana do osób odpowiedzialnych za procesy biznesowe: analityków biznesowych i big data, dyrektorów Business Insights, Business Intelligence. Ścieżka poświęcona zagadnieniom takim jak np. podejmowanie decyzji biznesowych na podstawie analiz predykcyjnych.
  • DATA+ Technologie. Ścieżka o profilu technicznym, dotycząca np. integracji systemów, dostępnych narzędzi do analizy danych, przeznaczona m.in. dla dyrektorów i architektów IT.

Konferencja Computerworld DATA+ odbyła się 17-18 listopada br. w Warszawie.

Co jest ważne w modelowaniu predykcyjnym?

Dobrze jest rozumieć, co się robi. Wiedzieć, jaki problem się rozwiązuje, i nie zgubić czegoś w tłumaczeniu problemu biznesowego na problem analityczny” – podkreśla dr Suchwałko. Można oczywiście uruchamiać modele bez wiedzy na temat ich zastosowań czy właściwych parametrów, istnieje jednak ryzyko, że taki model będzie błędny. Co więcej, stopień komplikacji będzie wzrastał w przypadku analiz prowadzonych na większych, rozproszonych środowiskach.

Zrozumienie i przygotowanie danych do analizy to ważny i zajmujący najwięcej czasu etap pracy. Cała reszta pracy będzie na tyle dobra, na ile rzetelnie przeprowadzono wstępne przygotowania. To w tym momencie definiowany jest cel analiz.

W modelowaniu predykcyjnym kluczowa jest budowa zbiorów uczących i testujących, a także walidacja otrzymywanych efektów. „Na jednej próbce budujemy, na drugiej walidujemy” – mówi Artur Suchwałko. Oprócz tego, „byłoby jeszcze dobrze zobaczyć, jak ten model będzie się zachowywał na próbce z innego okresu. Dość często do modelowania trzeba wziąć stare dane” – dodaje dr Suchwałko. „Modelując np. churn czy ryzyko kredytowe, bierzemy stare dane. Ważna jest walidacja ‘out of time’, czyli w innym okresie”.

Istotna jest kontrola przeuczenia – nie można dopuścić do sytuacji, w której danemu modelowi przypisano za dużo parametrów w stosunku do rozmiaru próby. W tym przypadku oprócz skupienia analityka ważna jest wielkość analizowanego wolumenu danych. „Mając większe dane, mamy mniejsze ryzyko przeuczenia modelu” – mówi Artur Suchwałko. Analizy prowadzone na wolumenach Big Data dają ponadto możliwość wykorzystania bardziej złożonych modeli oraz zapewniają lepsze prognozy.

Warto pamiętać, że oprócz wydajności czy dostępności szerokiej gamy modeli o różnym stopniu skomplikowania, poszczególne pakiety rozwijające funkcjonalność R potrafią różnić się między sobą również pewnymi szczegółami dotyczącymi tych samych funkcji. Inaczej prowadzi się np. operacje preprocessingu czy schematy walidacji. Mimo tego, „warto wykorzystywać różne inne narzędzia, nie ograniczać się do bazowego R. Gdybym miał wskazać jedno – wskazałbym H2O. Gdybym miał wskazać drugie – wskazałbym Careta” – podpowiada dr Suchwałko.