Kim jest Data Scientistka?
Na początek zacznijmy od wyjaśnienia, czym zajmuje się osoba pracująca w tym zawodzie. Data Science to podobno najseksowniejszy zawód XXI wieku, według Harvard Business Review[1]. Nauka o danych to nic innego jak interdyscyplinarna dziedzina wiedzy, która znajduje się na pograniczu matematyki i statystyki, informatyki i programowania oraz wiedzy branżowej. W codziennej pracy – każdy z tych aspektów jest istotny, jednak na poszczególnych etapach pracy – ich proporcje czasowe się zmieniają.
Rola Data Scientistki (Data Scientisty) sprowadza się zatem, do zbierania, przetwarzania, analizy i wizualizacji danych w sposób, który pozwala na wyciągnięcie z nich wartości biznesowej.
Zaczynamy nowy projekt
Wyobraźmy sobie, że naszym klientem jest dział marketingu i sprzedaży, którego celem jest zwiększenie sprzedaży produktu A na rynku klientów indywidualnych. Naszym zadaniem jest wsparcie klienta poprzez zbudowanie modelu predykcyjnego, który będzie wskazywał klientów najbardziej skłonnych do zakupu produktu A w kolejnym miesiącu.
Jak się zabrać do takiego wyzwania?
Na początku pracy w każdym projekcie analitycznym, najważniejsze jest ustalenie zakresu prac, uszczegółowienie wymagań biznesowych i ustalenie produktów końcowych. W tym miejscu niezwykle istotna jest wiedza branżowa tj. jakiego produktu ma dotyczyć model, komu chcemy oferować dany produkt, a kto na pewno nie może znaleźć się w kampanii sprzedażowej. Współpraca z właścicielami biznesowymi produktu, innymi jednostkami biznesowymi, a zwłaszcza przedstawicielami działu marketingu i sprzedaży – w celu zrozumienia zasad działania produktu – jest tutaj kluczowa do dobrego zrozumienia celu naszego zadania. W punktu widzenia modelowania predykcyjnego należy określić zakres danych, które mogą zostać wykorzystane w modelu oraz jaką historią tych danych dysponujemy, czy jest ona wystarczająca do budowy modelu?
Jaki model wybrać?
Dysponując podstawowymi informacjami odnośnie zakresu dostępnych danych, możemy przejść do projektowania modelu ekonometrycznego – tutaj wiedza z matematyki, statystyki i ekonometrii jest niezbędna do prawidłowego wyboru algorytmów uczenia maszynowego. Czy lepsza będzie regresja liniowa, klasyfikacja logarytmiczna, czy może lasy losowe? A może wystarczy klasteryzacja, czyli znalezienie grup podobnych klientów?
W naszym przykładzie w bazie danych historycznych mamy oznaczonych klientów, którzy kupili produkt A – to jest nasza zmienna celu. Mamy zatem do czynienia z nadzorowanym uczeniem maszynowym, gdyż znamy wynik, jaki chcemy osiągnąć. Maszyna ma za zadanie samodzielnie nauczyć się drogi dojścia od danych wejściowych (input data) do danych wyjściowych (output data), w taki sposób aby zminimalizować błąd. W naszym projekcie jako dane wejściowe do modelu mamy do dyspozycji informacje o kliencie, które dotyczą okresu przed zakupem danego produktu np. miesiąc wcześniej.
Jest to typowy przykład modelowania klasyfikatora binarnego, gdyż predykcja będzie polegać na przyporządkowaniu klienta do jednej z dwóch klas: 1 dla klientów, którzy najprawdopodobniej kupią produkt, 0 dla pozostałych.
Możemy tutaj zastosować różnego typu klasyfikatory np. regresję logistyczną, drzewa losowe, XGBoost, LightGBM, czy też sieci neuronowe.
Jak przygotować dane?
Zanim jednak przejdziemy do właściwego budowania modelu, bazę danych należy odpowiednio przygotować. Preprocessing danych polega w szczególności na analizie braków danych i ich uzupełnieniu bądź usunięcie zmiennych z niepełną informacją.
W dalszej kolejności dane dzielimy na tekstowe i liczbowe. Pierwszą kategorię danych powinno się przekształcić do postaci liczbowej. W jaki sposób to osiągnąć? Zmienną porządkową typu wykształcenie przyjmującą wartości „szkoła podstawowa”, „szkoła średnia”, „studia wyższe” można zamienić na wartości liczbowe odpowiednio: 1, 2 i 3 zachowując uporządkowanie pod kątem poziomu wykształcenia. Jeśli jednak zmienne tekstowe nie można uporządkować w konkretnej kolejności, a poszczególne wartości są względem siebie równoważne np. „województwo” rekodowanie zmiennej polega na utworzeniu zmiennych binarnych dla każdej występującej w bazie wartości (dla każdego województwa).
W przypadku zmiennych liczbowych transformacja sprowadza się najczęściej do normalizacji, czyli przekształcenia wartości do zbliżonego zakresu liczbowego w celu umożliwienia ich wzajemnego porównywania i dalszej analizy. Przykładowo, zmienna „wynagrodzenie” może przyjmować wartości rzędu tysięcy złotych, podczas gdy liczba posiadanych dzieci to liczby jednocyfrowe. Ich rozbieżność liczbowa utrudnia znalezienie istotnych zależności, stąd standaryzacja jest często stosowana i wymagana do zastosowania większości algorytmów ML.
Jeśli liczba zmiennych do analizy przekracza możliwości poznawcze przeciętnego analityka (np. kilka tysięcy zmiennych) warto zastosować metody redukcji wymiarowości.
Na koniec weryfikacji danych do modelowania, nie sposób pominąć analizy wartości odstających (outlier), których istnienie znacząco wpływa na wyniki modelowania. Ich usunięcie bardzo często pozwala poprawić rezultaty, gdyż nie zaburzają etapu uczenie się.
Na tym etapie bardzo przydają się umiejętności informatyczne tj. znajomość języków zapytać SQL, programowania w R, czy Pythonie. Obróbka danych zajmuje około 80% całkowitego czasu potrzebnego na przygotowanie modelu, co wskazuje, iż im lepiej umiemy się poruszać w środowisku programistycznym – tym będzie nam łatwiej.
Jak zastosować model do przewidywania przyszłości?
Posiadając odpowiednio przygotowaną bazę danych ze zmiennymi objaśniającymi oraz zmienną objaśnianą (target) możemy przystąpić do właściwego modelowania danych. Na podstawie danych historycznych algorytmy uczenia maszynowego szukają matematycznych zależności między danymi wejściowymi i wyjściowymi. Jako wynik otrzymujemy parametry modelu, który za pomocą równania matematycznego opisują problem badawczy. W naszym przykładzie szukamy korelacji między decyzją o zakupie, a zachowaniem danego klienta przed podjęciem decyzji.
Znając już parametry modelu, możemy dokonać prognozy na kolejny okres. Te same wzorce przekłada się na bieżącą populację klientów, by wyliczyć prawdopodobieństwo zakupu produktu A np. za miesiąc.
Jak sprawdzić, czy nasz model dobrze działa?
Budując kolejne wersje modeli Data Scientistka ocenia ich stabilność i skuteczność na danych testowych, czyli próbce danych, która nie była wykorzystywana do uczenia się modelu. Taka „zewnętrzna” próbka pozwala określić, czy model dobrze będzie prognozował na nowych danych, których wcześniej nie widział. Pozwala to uniknąć tzw. overfittingu, czyli nadmiernego dopasowania do danych uczących.
Jakość prognoz ocenia się wyliczając mierniku oceny, które są inne dla poszczególnych typów algorytmów. W przypadku naszego binarnego klasyfikatora możemy zastosować macierz błędów, która określa w ilu przypadkach prognoza okazała się trafiona, a gdzie model wskazał inaczej niż było w rzeczywistości.
Jak zatem porównać uzyskane wyniki?
Czy 80% skuteczność modelu to dużo, czy mało? Warto wrócić do etapu wyboru algorytmu i przeliczyć ponownie model z zastosowaniem innej techniki uczenia maszynowego w celu porównania wyników.
Etapy te powtarzamy aż do uzyskania najlepszych, lub satysfakcjonujących nas wyników.
Jak można wykorzystać model w biznesie?
Jako rezultat otrzymuje się bazę klientów, którzy są najbardziej skłonni do zakupu produktu A w następnym miesiącu. Do tych klientów powinna zostać skierowana kampania marketingowa promująca produkt A. Prezentacja wyników dla zamawiającego kończy realizację omawianego projektu.
Konkludując, tak wygląda codzienna praca Data Scientistki. Na początku każdego projektu ważna jest praca zespołowa, na kolejnych etapach jest to już typowa praca indywidualna, z ewentualnymi konsultacjami z innymi Data Scientistami.
Czy warto rozwijać się w kierunku Data Science?
Biorąc pod uwagę, że obecnie organizacje w każdej dziedzinie dążą do pełnej automatyzacji i robotyzacji to rola Data Scientisty jest potrzebna w każdej branży. Przyszłość data science rysuje się zatem bardzo rozwojowo, tym bardziej, że obecnie najcenniejszą walutą na świecie są dane. W dobie cyfrowej transformacji, posiadanie i umiejętność wyciągania cennych informacji z wielkich zbiorów danych stanowi w dzisiejszych czasach zasób ważniejszy niż ropa naftowa[2]. O tym najlepiej wiedzą największe światowe korporacje GAAFA[3], których zbiory danych przekraczają setki petabajtów. Podążając za tym trendem można stwierdzić, że ten kto potrafi czytać z danych i odkrywać z nich cenne informacje biznesowe – będzie bogaty dosłownie i w przenośni.
W przyszłości w każdej dziedzinie życia będzie obecna sztuczna inteligencja, czyli roboty wykorzystujące uczenie maszynowe. W sklepie – wkładając produkty do koszyka system automatycznie naliczy płatność z naszego konta bankowego, nie trzeba będzie „iść do kasy”. W szpitalu nie spotkamy lekarza, który będzie oglądał nasze wyniki badań obrazowych – zamiast tego dostanie już gotowy opis z diagnozą sporządzoną przez AI. Autonomiczne samochody będą na porządku dziennym, bez udziału kierowcy. Bo tego wszystkiego niezbędne jest data science, gdyż każdego robota trzeba zaprogramować, nauczyć i przetestować.
Z drugiej jednak strony w przyszłości uwaga powinna zostać skupiona na takich zagadnieniach jak etyka, czy odpowiedzialność za decyzje robotów. Jeśli autonomiczny samochód spowoduje wypadek, kto powinien wziąć za to odpowiedzialność? Autor oprogramowania, ubezpieczyciel, czy właściciel samochodu? Co zrobić z błędna diagnozą lekarską, która przyczyniła się do pogorszenia stanu zdrowia z powodu braku leczenia? Co jakiego stopnia robotyzacja jest przydatna? W którym momencie roboty mogą zacząć stwarzać zagrożenie? Na te i inne pytanie odpowiedzi będziemy szukać już niedługo.
O autorce
Marzena Ołubek
Data Scientist, Ekspert R&D, Orange Innovation Poland. Absolwentka Informatyki i Ekonometrii na Uniwersytecie Łódzkim. W przeszłości realizowała projekty badawcze dotyczące analiz i prognoz rynku pracy. Autorka kilkudziesięciu publikacji w tym temacie. W Orange odpowiedzialna m.in. za planowanie i kreowanie strategii analitycznych na potrzeby marketingu usług finansowych. Posiada wieloletnie doświadczenie w analityce dużych zbiorów danych poczynając od danych klienckich ‘customer data’ kończąc na danych dotyczących sieci telekomunikacyjnej ‘network data’. Na co dzień w ramach działalności B+R projektuje i wdraża algorytmy sztucznej inteligencji przy użyciu najbardziej odpowiednich technik uczenia maszynowego dla sieci telekomunikacyjnych. Jej silną stroną jest umiejętności połączenia świata biznesu ze światem technologii. W swojej pracy skupia się na dostarczaniu wartości biznesowej dla klienta. Kreuje i zmienia rzeczywistość na podstawie budowanych modeli predykcyjnych. Jest wróżką, która zamiast z talii kart przewiduje przyszłość z danych. Marzena angażuje się też mocno w aktywizacje i promowanie kobiet w świecie IT oraz wysokich technologii m.in. jako ambasadorka programu WłączOne, czy jako prelegentka na konferencjach dotyczących budowania kariery wśród kobiet.
Bibliografia
[1] Data Scientist: The Sexiest Job of the 21st Century, 2012 r. https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century
[1] Data Is The New Oil, Forbes 15.11.2019 https://www.forbes.com/sites/forbestechcouncil/2019/11/15/data-is-the-new-oil-and-thats-a-good-thing/?sh=7c44cc247304
[2] Google, Apple, Alibaba, Facebook and Amazon