Wizualizacja danych w Data Science
Biznes,  Edukacja,  Podcast

Wizualizacja danych



Dane zawierają w sobie ogrom informacji, jednak kluczem do tego jest ich właściwa interpretacja. Pomocna temu będzie wizualizacja danych i to jest właśnie temat mojej rozmowy z Anną Kozak. Z jednej strony jest wykładowcą, skończyła Politechnikę na kierunku matematyka stosowana. Z drugiej strony pracuje jako Data Scientist, więc jest w zawodzie. Z trzeciej strony angażuje się w przeróżne inicjatywy, aby szerzyć wiedzę. Wykonuje sporo różnych rzeczy, ale jedna, która się bardzo wyróżnia, to wizualizacja. Jest wielką entuzjastką wizualizacji. 



Ania zajmuje się również dziedziną XAI albo interpretowalność modeli czy sztucznej inteligencji. O tym postaram się nagrać osobny odcinek. Nie chciałem się za bardzo rozdrabniać, bo to jest wątek nieco szerszy, który zasługuje co najmniej na własny odcinek. Dzisiaj natomiast porozmawiamy o tym, czym jest zły wykres, jak zrobić poprawny oraz czy można robić Data Science na wysokim poziomie bez wizualizacji.


Cześć Ania. Przedstaw się: jak się nazywasz, czym się zajmujesz, gdzie mieszkasz?

Cześć Vladimir. Nazywam się Anna Kozak. Mieszkam obecnie w Warszawie. Jestem absolwentką matematyki na Politechnice Warszawskiej. Obecnie też jestem wykładowczynią na tej samej uczelni, na Wydziale Matematyki i Nauk Informacyjnych. Prowadzę zajęcia z eksploracji danych i wizualizacji danych dla studentów. Dodatkowo pracuję też w grupie badawczej MI2, prowadzonej przez profesora Biecka, która działa między Wydziałem Politechniki Warszawskiej a Wydziałem Matematyki Uniwersytetu Warszawskiego. 

Jeszcze pracuję biznesowo w firmie Quantee. Zajmuję się tam prowadzeniem badań w obszarze Data Science w aktuariacie. 


Dużo rzeczy robisz i postaramy się dzisiaj o tym porozmawiać. Zgodnie z tradycją, jaką mamy w Biznes Myśli zapytam: jaką ostatnio książkę przeczytałaś i dlaczego warto ją przeczytać? 

Ogólnie dużo ostatnio czytałam książek o wizualizacji, ponieważ przygotowywałam się do zajęć, które prowadzę, ale gdy już odchodzę od typowego świata Data Science, czyli tego, którego mam na co dzień, którego faktycznie jest sporo, skupiam się na kryminałach. Są to w 100% kryminały, które po prostu przenoszą mnie do innego świata. Takim moim ulubionym autorem jest Remigiusz Mróz, czyli polski pisarz, który pisze tak dużo, że nie nadążam czytać zazwyczaj. Więc jeżeli ktoś lubi kryminały, bardzo polecam. 

A jeżeli chodzi o takie książki, które bym mogła polecić Data Science, które ostatnio czytałam i które faktycznie rozszerzyły jeszcze moją wiedzę o tych wizualizacjach, to jest książka Alberto Cairo, który jest znanym, światowym wizualizatorem danych, który napisał książkę “How Charts Lie”. Autor opisuje tam różne historie, czego nie robić. Myślę, że w tej książce jest kilka powiązań z tym, czego ja uczę, przez co jeszcze bardziej obrazuje to wszystko, czym się zajmuję. 




Jest to bardzo ciekawy temat. Będziemy dzisiaj dużo mówić o wykresach, bo widać, że czujesz miłość do wykresów, wizualizacji. 

Jaki najpiękniejszy wykres widziałaś? Dlaczego akurat według Ciebie to był najpiękniejszy wykres?


To jest bardzo trudne pytanie, ponieważ ja z tymi wykresami widuję się codziennie i myślę, że było ich w setkach, tysiącach. Może nie będę wskazywać jednego konkretnego wykresu, ale chciałabym zwrócić uwagę, że najciekawsze wykresy są takie, które pokazują nam jakąś ciekawą historię. 

Właśnie wspomniany wcześniej Alberto Cairo – udało mi się być na jego wykładzie, kiedy był w Polsce. Opowiadał historię tworzenia wykresów, konkretnie też jednego, który obrazował poparcie w wyborach prezydenckich w Stanach Zjednoczonych – jak ta historia się składała, jakie wątki z niej wynikały i jak obrazował poszczególne kroki. Zbiór takich wizualizacji, które on przygotował, były dla mnie czymś, co jeszcze bardziej zainspirowało do bycia tą osobą, która faktycznie lubi wizualizacje danych i chce się tym zajmować. To było parę lat temu, więc jak najbardziej, dalej się w tym rozwijam.


To, co powiedziałaś, brzmi tak, że przy pomocy wykresu możemy sprawić, że historie stają się bardziej soczyste i kolorowe. 

Tak, zdecydowanie. Myślę, że istnieje bardzo dużo wykresów, które faktycznie przekazują nam bardzo dużo informacji, a jednocześnie wizualną swoją formą przyciągają oko niejednego z nas.


Myślę, że możemy powiedzieć, że już wyczuwamy, czym jest dobry wykres. Czyli musi być historia, najlepiej krok po kroku pokazując poszczególne grafiki albo w inny sposób wizualizację, zrozumieć, że coś się działo w tym procesie. Natomiast z drugiej strony reguły są czasem po to, aby je łamać. Jak można podejść do wykresów albo gdzie można się nauczyć tworzyć dobre wykresy? Od czego zacząć?

Myślę, że od teorii, co może wydawać się jakimś absurdem: „Dlaczego ja się muszę uczyć teorii, jak chcę narysować zwykły wykres?”. Ale tak jak wcześniej powiedziałam, wykresy są historią. Jak chcemy napisać jakąś historię, w jakimkolwiek języku, to musimy się go nauczyć, musimy się nauczyć gramatyki, tego, jak w danym języku posługiwać się słowami. 

Może wydawać się to dziwne, ale jest coś takiego jak gramatyka języka wizualizacji. Jest to pojęcie, wprowadzone już w latach 70. XX w. przez wielu naukowców. Pozwala nam ono na zdefiniowanie pewnych form wykresu, które opisują poszczególne struktury. To jest trochę tak jak opisywanie jakiegoś super wydarzenia słowami, tylko my opisujemy historie za pomocą pewnych atrybutów, pewnych warstw, danych, które otrzymamy, statystyk, kolorów i jakichś innych atrybutów, które pozwalają nam ten wykres lepiej zrozumieć. 

Oczywiście, mogłoby się wydawać, że takie czytanie i tworzenie wykresów jest wiedzą wrodzoną. Nic bardziej mylnego, ponieważ jak każdy z nas uczy się jakiegoś języka i gramatyki, poświęca na to czas, to żeby właśnie zrozumieć te wykresy i wiedzieć, jak je stworzyć, co na nie powinno się składać, też musi się tego nauczyć. Być może ktoś ma taki wrodzony talent, że po prostu widzi i będzie rozumiał wykres, ale nie każdy z nas będzie od razu wiedział i rozumiał nawet najprostszy wykres.


Jesteś po matematyce, czyli umysł ścisły, ale z tego, co teraz opisujesz o wizualizacji, tak trochę wybrzmiewa, że tu jest więcej humanistyki. Tak się zastanawiam, według Ciebie, wizualizacja to jest bardziej dziedzina dla osób z umysłem ścisłym, humanistycznym czy może kombinacja obu? 

Myślę, że każdy z nas może wykresy tworzyć. To nie jest tak, że matematycy będą lepiej tworzyć wykresy niż osoby, które studiują nauki humanistyczne. Ja jestem matematykiem z wykształcenia, ale byłam przekonana przez prawie całe swoje dzieciństwo, że będę artystą, malarką. W tym momencie, kiedy jestem matematykiem i mam możliwość tworzenia wykresów, wizualizacji, to faktycznie te dwie moje pasje się ze sobą łączą. Nie widzę przeciwwskazań czy predyspozycji, dzięki którym któraś grupa będzie się w tym lepiej sprawdzała. 


Myślę, że w Twoim przypadku te dwie strony się łączą. Warto powiedzieć, że łączenie ścisłych nauk też może być przydatne. Nie każdy wykres jest wartościowy, to już powiedzieliśmy, musi być historia, ale pomyślmy w taki sposób: z punktu widzenia biznesu, wartościowym wykresem jest taki, który daje namacalną wartość. Jak to w zachodniej literaturze nazywają actionable insights, czyli patrzysz na to i wiesz, co masz zrobić. Nie tylko, że coś tam wzrasta lub spada, tylko Ty wiesz jakie działania trzeba wykonać. W jaki sposób warto robić wykresy, aby dawały wartość dodaną dla biznesu?


To tych wątków będzie bardzo dużo. Postaram się wybrać najbardziej istotne. Jest taka długa lista, czego nie robić oraz to, co robić. Myślę, że trochę połączę jedne i drugie. Zacznę od pierwszych dwóch głównych aspektów. 

Pierwszy będzie kolor.

Może się wydawać, że wykresy kolorowe są super wesołe i przyjemne, ale każdy dobry wykres powinien bronić się tym, że jeżeli usuniemy ten kolor i zastosujemy skalę szarości, to nadal będzie przekazywać nam takie same informacje jak w wariancie kolorowym. Nieraz nasze wykresy tych kolorów mają pewnie za dużo i robi się bałagan, który nie jest jasny w komunikacji. 

Też warto pamiętać o tym, że nasze oko przypisuje pewnym barwom jakieś określone znaczenia. Zazwyczaj kojarzy się tak, że jak jest coś pozytywnego, to łączymy to z kolorem zielonym. A jak mamy coś negatywnego to łączymy to z kolorem czerwonym. Chociażby wykresy giełdowe tak są tworzone. Teraz wyobraźmy sobie, że tworzymy sobie taki wykres i zamieniamy te wartości, czyli coś negatywnego opisujemy kolorem zielonym, a czerwonym kolorem opisujemy coś pozytywnego. Wtedy nasz mózg wariuje. Bo jak ten wykres poprawnie odczytać? To jest zupełnie taka zależność, której byśmy się nie spodziewali, zupełnie odwrotnie niż myślimy na co dzień.

Drugim ważnym aspektem są wszechobecne iluzje. 

Ludzkie oko dużo gorzej odczytuje kąty niż porównywanie np. długości słupków. Jesteśmy w stanie w dobrym stopniu ocenić, czy kąt jest prosty. Po prostu patrzymy na rysunek i jesteśmy w stanie określić, czy kąt jest prosty, czy nie. A jeżeli nie, to jak mu brakuje, czyli czy jest ostry, czy rozwarty. Ale gdy np. mamy ostre kąty, to bardzo często je zawyżamy. Jak mamy kąty rozwarte, to zawsze zaniżamy. Nasze oko tego nie wyłapuje. Tak naprawdę, wszystkim wykresom kołowym albo wykresom, które są w 3D, czyli wykresom kołowym 3D, wykresom słupkowym 3D, jakimkolwiek wykresom, które są w więcej niż dwóch wymiarach, powinniśmy powiedzieć nie, bo one wpływają na założenia naszego odbioru. Będziemy widzieć coś, czego tak naprawdę tam nie ma. 

To są takie dwa z główniejszych aspektów przy budowaniu wizualizacji, na które trzeba uważać. Ale oczywiście jest jeszcze długa lista np. co robić, typu ciągły spór o to, czy oś Y powinna zaczynać się w 0. Czy możemy po prostu odciąć sobie na dowolnym poziomie, czy powinna zaczynać się w 0? Jeżeli chcemy mieć jakieś sensowne porównanie dwóch wartości, to zawsze zaczepiajmy tę wartość w 0. Jeżeli będziemy mieć np. wartości 30 330 000 i 30 320 000 to na tym wykresie, gdy zaczniemy naszą oś od 0, to będą to bardzo zbliżone wartości, nie będzie tej różnicy. Ale jeżeli byśmy zaczęli naszą oś w wartości prawie bliskiej tym wartościom to nagle ta wielkość różniąca te dwa słupki, będzie kolosalna. Co może wpływać właśnie na podejmowanie decyzji biznesowych, że mamy jakiś zauważalny wzrost, a tak naprawdę to by były jakieś ułamki ułamków.


Co jeszcze z takich bardzo ważnych rzeczy?


Na pewno trzeba zwrócić uwagę, aby na każdym wykresie pojawił się tytuł. Jeżeli mamy tytuł, to jesteśmy w stanie przekazać odbiorcy, na czym powinien się skupić. Ciężko jest czytać wykresy, gdy tego tytułu nie ma, bo patrzymy na wykres, są jakieś punkty, są jakieś kropki, słupki albo wykres liniowy i po opisach osi naszego wykresu (o ile one w ogóle tam są) jesteśmy w stanie w jakikolwiek sposób coś wywnioskować. Tytuł jest naprawdę bardzo ważny.


Wspomniałam już, że uważajmy na kolory, nie przesadzajmy z ich ilością i żeby jednak te wykresy miały jakąś wartość. Jeżeli używamy kolorów, to starajmy się, żeby one były kontrastowe. Żeby te kolory były też tak dobrane, żebyśmy wzięli pod uwagę osoby, które widzą kolory inaczej. Ja wiem, że procent osób, które mają problem z odbieraniem barwy, może nie jest jakiś drastyczny, ale gdy możemy zadbać o wizualizację, żeby one też bez problemu mogły te kolory odróżnić bez względu na swoją wadę wzroku, to zadbajmy o to jak najbardziej.




To nie jest trudne. Są nawet takie specjalne aplikacje, do których możemy po prostu wrzucić kolory, które chcemy zaprezentować na wykresie i one pozwalają nam zobaczyć, jak ten wykres będzie wyglądał ze względu na jakiś defekt.



Fajne rzeczy wymieniłaś. Właśnie kolory chciałem poruszyć, bo prowadząc kursy związane z machine learning zauważyłem, że to problem z widzeniem kolorów jest częstszy niż sądziłem. Uświadomiłem sobie, że to nie jest problem abstrakcyjny – on jest tu i teraz. To jest takie ciekawe doświadczenie. Pomijając to, że właśnie mamy etykietki kolorów, to też jest tak, że jak chcemy komunikować do szerszego grona niż 2-3 osoby w swojej rodzinie, to zwykle trzeba wziąć to pod uwagę.

Jeszcze taką fajną rzecz powiedziałaś a propos wykresu z odległościami i kątami. Wykres kołowy według mnie jest w top 3, z tego co widzę. W szczególności jak w telewizji się pokazuje, bo tam to chyba się robi świadomie. Natomiast w firmach też czasem wykorzystuje się wykresy kołowe. Nie wiem, z czego wynika ten fenomen. Czy to na studiach było pokazywane? Jak myślisz, z czego to wynika? Czemu wykres kołowy jest taki popularny?

Myślę, że to jest wpajane w szkole, bo zawsze się te wykresy kołowe rysuje, żeby pokazać, jaki procent tego koła powinien być zamalowany. Ale wydaje mi się, że to także kwestia narzędzi, którymi posługujemy się w pracy. Jak otwieram Excela, to pierwszy wykres, który mi się pokazuje do wyboru, jest wykresem kołowym. Widzę taki wykres, dużo kolorów, oko cieszy, mamy tych kolorów mnóstwo, z kolei na wykresie słupkowym kolor mamy jeden, za to te słupki faktycznie odzwierciedlają wielkości. 

Dlaczego mówię o słupkach i kątach, których lepiej nie używać, ale używajmy np. długości słupków? To nie wzięło się tak po prostu z kosmosu. Są prowadzone badania od kilkudziesięciu lat. Po prostu są robione różnego typu ankiety, pokazywane wykresy osobom, które oceniają, w jaki sposób było im łatwiej te wykresy odczytać. Wylicza się taki błąd, który pokazuje nam, jak ta poprawność wykresu była przez tych użytkowników zauważalna. Najmniejszy błąd w odczytywaniu wykresów jest zawsze w wykresach słupkowych, a te wszystkie wykresy kołowe, punktowe, gdzie np. wielkość punktu jeszcze znaczy jakąś inną zmienną, czyli można powiedzieć, że takie wykresy bąbelkowe albo jakieś takie jeszcze bardziej złożone są coraz trudniejsze do odczytania dla przeciętnego Kowalskiego, który zobaczy ten wykres w telewizji.

Mówiąc o telewizji – tych wykresów się pojawia tam bardzo dużo. Często mamy takie wrażenie, że mają taką wyrwaną historię. To nie jest pełen obraz sytuacji tylko wybieranie poszczególnych danych, tak żeby to wyglądało tak, jak my byśmy chcieli. 

Pamiętajmy o tym, że jeżeli chcemy przekazać jakąś historię, to nie zatajajmy pewnych aspektów, tylko pokazujmy cały obraz, aby faktycznie ten odbiorca mógł sobie sam zdecydować, co z tego wykresu wynika, a nie sugerujmy, jak to powinno być odczytane.


Opowiem Ci taką historię, bo też byłem zainspirowany w swoim czasie takim eksperymentem, że ludzie lepiej odczytują porównania odległości i to robiłem też na swoich kursach. Też był taki ciekawy fenomen, że zawsze jest co najmniej jedna osoba, która wyłamuje się ze standardów, czyli próbuje się wykazać, ale nawet to nie zaburza wyników. 


Zmienię trochę wątek. Z jednej strony, jak teraz rozmawiamy, to czujemy, że wizualizacja jest ważna, ale z drugiej strony, mimo tego, że część firm to robi, dość często to nie wpływa na decyzje. Oferując konsultacje w firmach, z którymi pracuję, często pytam o dashboardy. Jakie decyzje ostatnio podjęli na podstawie tych dashboardów? Odpowiedź często brzmi, że żadne lub prawie żadne.



Nawet jeżeli te wykresy są, to nie są traktowane poważnie. Spróbujmy wymienić 3-5 argumentów, dlaczego wykresy są ważne? Dla wszystkich osób niedowiarków, technicznych i mniej technicznych. Nie chodzi o to, żeby je zrobić i zapomnieć, nie podejmować decyzji, tylko właśnie, żeby one wpływały na decyzje.


Dobrze, ale skoro robią już te wykresy i mają super dashboardy i właśnie tak jak mówisz, nie wyciągają z nich wniosków, to po co w ogóle marnować czas na robienie tych wykresów? To jest też interesujące, bo żeby przygotować taki dashboard, to naprawdę potrzeba czasu, chęci i mobilizacji, żeby to wszystko wyklikać. 

Wykresy umożliwiają nam przede wszystkim to, że nie musimy patrzeć na ogromne tabele danych. Nie musimy tego przeglądać, nie musimy liczyć różnic, średnic, jakichkolwiek innych statystyk, tylko po prostu możemy sobie wyrysować pewne rzeczy i na tzw. pierwszy rzut oka zobaczyć, co w tych danych jest. To jest taka główna wartość wizualizacji. Nie przeglądamy tysiąca arkuszy, wierszy, kolumn w tych zestawieniach, bo kto z nas lubi czytać suche liczby? Ja wiem, że pewnie znajdą się tacy fanatycy, dla których przeglądanie komórek w Excelu jest ulubionym zajęciem, ja do takich nie należę. Dla mnie, jeżeli mogę zwizualizować dane, to po prostu to robię, tabelki są ostatecznością. 


Nie neguję oczywiście wszystkich tabelek, bo jeżeli mamy np. do przedstawienia 3 wartości, to skorzystajmy z tabelki, ale nie róbmy wykresu kołowego o dwóch polach – to totalnie mija się z celem.

Patrząc z perspektywy czasu, z biznesowego punktu widzenia mam wrażenie, że klienci biznesowi dużo lepiej reagują, jak są wykresy kolorowe, estetyczne, niż na tabele. Mimo wszystko jesteśmy wzrokowcami. Dla nas łatwiej jest porównać słupki, ich długości niż dane w tabeli. Wracam do tej tabeli, bo to jest główny aspekt, dlaczego dużo bardziej wolimy wizualizować niż czytać tabele, sprawozdania. Jeden wykres wyraża więcej niż tysiąc słów, o ile wiemy, jak go interpretować.


Przy okazji wybrzmiała metryka sukcesu. Jak robimy wizualizację, to dobry wykres to jest taki, który wzmacnia pewne decyzje. Jeżeli nie ma takiej potrzeby, to prawdopodobnie coś nie tak zrobiliśmy z wykresem. 


Porozmawiajmy też o wykresach w dziedzinie data science, bo pracujesz jako Data Scientist. Spróbujmy połączyć te dwa obszary. Jak wizualizacja może wzmocnić data science?


Myślę, że musimy po prostu przejść przez proces, który każdy Data Scientist pewnie w swoim życiu przechodzi nieraz w pracy. Na początku mamy dane. Następnie musimy przygotować te dane do modelowania. Faktycznie możemy robić agregaty, wyliczać statystyki, ale myślę, że dużo łatwiej jest np. nanieść dwie wartości, zrobić wykres punktowy i tę zależność wyłapać samemu. Czy np. mamy zmienną kategoryczną i zobaczyć, która kategoria jest dominująca? Czyli to jest wstęp do eksploracji danych. Coś, co jest takim pierwszym, kluczowym krokiem przed samym modelowaniem. 


Jak mamy już przygotowane dane, przechodzimy do etapu modelowania. Teraz mamy jakiś super model, nasze wyniki są bardzo wysokie, wszyscy są zadowoleni, że takie dobre osiągamy wyniki. Robimy predykcję i okazuje się, że mimo że na jednej mierze ten model jest bardzo wydajny, to np. inna miara nam mówi, że coś jest nie tak. Coś się w tych danych musiało zadziać. Możemy szukać w wierszach tabeli, gdzie ten duży błąd jest, ale możemy stworzyć wykres wartości prawdziwych versus predykcje z naszego modelu. To będzie widać jak na dłoni, które obserwacje faktycznie odstają, gdzie nasz model np. dał dużo wyższą wartość, niż powinien, a może gdzieś nie doszacował, może mamy jakąś zależność, której wcześniej nie widzieliśmy. 


Tak samo do oceny modeli np. klasyfikacyjnych używamy krzywej ROC. To też jest pewnego rodzaju wykres. Patrzymy na krzywą, która nam określa pole, jak ta krzywa wynika, co z niej możemy odczytać i jaka ta metryka faktycznie jest. 


Następnie przechodzimy od modelowania, od wyników do kolejnej części. Teraz pewnie większość się zastanowi, jaka jest kolejna część. Mamy model, była już walidacja. A tą kolejną częścią jest sprawdzenie, czy ten model faktycznie daje to, co powinien. Tutaj pojawia się Wyjaśnialne Uczenie Maszynowe, czyli wyjaśnialna sztuczna inteligencja (XAI). Jest to dość nowy obszar w Data Science, od kilku lat dość głośno się o tym mówi. Oczywiście ten XAI to zbiór pewnych metod, które pozwalają zajrzeć  do modeli. 


Warto zaznaczyć, że modele możemy podzielić. Mamy np. te interpretowalne, czyli łatwe. Patrzymy na nie i rozumiemy, widzimy, co w nich siedzi. Np. taka regresja – mamy współczynniki, wszystko jest jasne, popatrzymy na współczynniki, ten maleje, ten rośnie i jeśli tutaj coś zmienimy, to wiemy, jak to wpłynie na wynik. Tak samo będzie z drzewem decyzyjnym. Mamy po kolei rozpisane gałęzie w tym drzewie, korzenie, przechodzimy po kolejnych węzłach, otrzymujemy ostateczną odpowiedź.




Ale zazwyczaj te proste modele stosuje się do pewnego czasu. Potem potrzeba modeli, które będą bardziej zaawansowane, lepsze, będą miały lepsze hiperparametry, będziemy mogli je optymalizować. Tu mamy do czynienia z lasami losowymi albo gradient boostingami, czyli wzmacniane boostingi, lasy losowe, sieci neuronowe itd. Ale te modele nie są już dla nas w pełni zrozumiałe. Dokładnie w środku nie wiemy, co się dzieje. Metody Wyjaśnialnego Uczenia Maszynowego pozwalają zajrzeć do takiego skomplikowanego modelu i dzięki pewnym metodom wyłuskać z niego informacje. Oczywiście te wszystkie informacje, które otrzymamy używając tych metod, również mogą być tabelkami (jak ktoś woli tabele, może czytać tabele), ale każdą z tych metod można wyrysować.



Można przyjrzeć się wykresom i zobaczyć, które zmienne wpływają na predykcję modelu albo co się stanie, jeżeli zmienimy np. wiek pacjenta na inny, czy jest jakieś wyższe ryzyko np. na chorobę albo np. rozłożyć predykcję na pewne atrybuty i ważność tych poszczególnych zmiennych dla konkretnej, jednej jednostki. 

XAI jest potężnym narzędziem, które jest tym ostatnim etapem. Jak każdy Data Scientist wie, ten proces się zapętla, czyli jesteśmy w tym momencie na Wyjaśnialnym Uczeniu Maszynowym, ale gdy coś z niego wyłuskamy, to wracamy do eksploracji danych, bo może coś jednak pominęliśmy i może uda nam się zrobić lepszy model. Takie kółko z wizualizacją i machine learningiem myślę, że jest obecne w każdym projekcie Data Scientisty. 

Jaki problem rozwiązujemy przy pomocy XAI?

Pierwszym głównym problemem jest to, że nie rozumiemy tych trudnych modeli. Nie jesteśmy w stanie zrozumieć, dlaczego dla przykładowego Kowalskiego predykcja modelu jest taka, a dla przykładowego Nowaka predykcja jest inna, chociaż mają bardzo zbliżone cechy, które ich opisują. Właśnie ten XAI pomaga zrozumieć te trudne modele, które zazwyczaj są często używane, bo mają lepszą moc predykcyjną i lepsze wyniki niż proste modele. 


Popieram używanie skomplikowanych modeli, bo to daje lepsze wyniki. Czy zrozumienie modeli to oznacza, że mamy tego Jana Kowalskiego, Nowaka i porównujemy te dwa przypadki lokalne i to jest zrozumienie modelu? Czy właśnie, zrozumieć model tak globalnie? To już jest znacznie trudniejsze. Gdzie jest granica, kiedy powiem: „Ok, rozumiem, jak model działa”.


Myślę, że nigdy nie powiemy w 100%, że wiemy, jak model działa, ponieważ jest tak złożony, że to jest zbyt trudne. Ale tak jak właśnie o tym mówisz, czy jesteśmy w stanie powiedzieć na poszczególnych jednostkach, czy globalnie? XAI dzieli się na dwie grupy: metody lokalne i globalne. Istnieją pewne metody, które pozwalają w całości wyjaśnić taki model, czyli wskazać, które zmienne są ważne dla niego albo jak zachowuje się predykcja, gdy zmienimy jedną wartość w tej zmiennej, a wszystkie inne pozostaną takie same.




Możemy po prostu patrzeć na poszczególną jednostkę, jednego klienta, jednego pacjenta, jedno ubezpieczenie, jeden samochód, cokolwiek i popatrzeć dokładniej na tę konkretną jednostkę, jakie atrybuty ona posiada, co wpływa na taką predykcję, a nie inną, a co by się stało, gdyby ten Kowalski zamiast 35 lat miał 45, jakby ta predykcja się zachowywała. Tutaj ten podział jest obecny.


Z ważnością cech przypomniała mi się trochę inna historia. Jak np. mamy Random Forest, tam już jest ważność cech, ale ona sama w sobie jest mega myląca w niektórych przypadkach. Dodając random feature, czyli randomową cechę, ona potrafi czasem skończyć bardzo wysoko przez to właśnie, że jest ciągłą zmienną. To jest też bardzo ciekawa rzecz, na ile trzeba ostrożnie to interpretować.




Tam są różne metody, jak to można robić lepiej. Sama wizualizacja i patrzenie na słupki daje poczucie znacznie lepszego rozumienia, że np. to jest duży słupek, a ten jest pięciokrotnie mniejszy. Wydaje mi się, że całe XAI to jest z jednej strony o tym, żeby zrozumieć,  jak działa model i mieć większą kontrolę nad tym i pewność, ale z drugiej strony XAI byłoby w ogóle niemożliwe, jakby tam nie było wizualizacji. Dobra wizualizacja napędza dobre XAI. Dobrze kombinuję?


Myślę, że w dużej mierze tak. Nawet jak mówisz o słupkach, że widzisz je dla poszczególnych zmiennych i ten jest ileś razy większy niż inne, to właśnie odzwierciedla tę wizualizację, o której mówiliśmy też wcześniej, że jesteśmy w stanie dużo łatwiej odczytać zależności między długościami słupków a wykresami kołowymi. Ja nie widziałam nigdy wykresu kołowego w XAI, zazwyczaj są to słupki, ewentualnie wykres liniowy, gdy mamy zmienne ciągłe.


Więc można użyć tego stwierdzenia, że dobry XAI napędza dobrą wizualizację. Myślę, że też może trochę odwrotnie, bo gdyby nie ta wizualizacja, to byśmy pewnie utonęli w tysiącach tabeli dla poszczególnych obserwacji, a tak jesteśmy w stanie narysować sto krzywych na jednym wykresie i zobaczyć czy któraś odbiega od tego, zamiast porównywać do różnych tabelek. Jak najbardziej jest to ze sobą ściśle połączone. 


Czy według Ciebie to podejście rozumienia modeli przez wizualizację bądź XAI albo też rozumienie problemu jako problemu, który chcemy rozwiązać, już przybiera formę takiego trendu, że wizualizacja jest tam coraz bardziej potrzebna? Czy to nadal jest tak, że niby ludzie wiedzą, że jest wizualizacja, ale za bardzo tego nie używają? 


Wydaje mi się, że coraz więcej zwracamy uwagę na wizualizacje. Nawet na te, które nas otaczają każdego dnia w prasie, w telewizji, w social media. Tych wizualizacji przewija się bardzo dużo i myślę, że z każdym dniem jesteśmy coraz bardziej w stanie zauważyć te dobre aspekty wizualizacji, wyhaczyć coś, co jest złe, co myli nasze postrzeganie pewnych wartości. Można powiedzieć, że wizualizacja coraz bardziej napędza nas wszystkich.



Pewnie młodsze osoby, które zaczynają teraz liceum albo studia, żyją już trochę w świecie wykresów. Tych wykresów naprawdę jest dookoła nas bardzo dużo i bardzo szybko się rozprzestrzeniają, więc te osoby tak naprawdę już będą wyuczone, że wykresy są wokół nas i warto z nich korzystać. 


Rozmawiając ze studentami na zajęciach widzę, że też zauważają dużo więcej rzeczy, niż patrząc z perspektywy swojego czasu, jak to było np. u mnie, kiedy rozpoczynałam swoją karierę w edukacji.


Jakie rzeczy wizualizujesz albo jakie decyzje podejmujesz przy pomocy wizualizacji w pracy?

Muszę się zastanowić, bo ja tych wizualizacji robię naprawdę dużo i mam czasami wrażenie, że chyba za dużo. Po prostu jest to moje podstawowe narzędzie pracy, bo ciągle o tym mówię, co tydzień zawsze o czymś nowym, nawet na zajęciach. Na pewno dużo wizualizacji powstaje przed samym modelowaniem, czyli dostaję dane, bo muszę jakiś problem zbadać i zapoznać się ze zbiorem danych, żeby zobaczyć, co w nim dostaję, jakie to są zmienne, czy są jakieś zależności. Jeszcze jest etap po modelowaniu, żeby zobaczyć, co poszło nie tak, czy jestem w stanie usprawnić dany model, czy może ta predykcja powinna być jeszcze jakoś inaczej zrobiona.



Nieodłącznym etapem mojej pracy jest XAI, ponieważ też jestem specjalistą w tej dziedzinie, od dłuższego czasu się tym zajmuję, więc XAI musi być obecny. Te wszystkie wykresy i wizualizacja z tym związana są na pewno w większej części mojej pracy.

Już nie liczę wykresów stworzonych na zajęciach ze studentami, bo to by pewnie zapełniało pół mojego miesiąca. 

Czy jest możliwość robienia dobrego Data Science bez wizualizacji?

Ja uważam, że nie, ale być może mam takie odczucie przez to, że wizualizacją się zajmuję. Wydaje mi się, że wzrokowcom ciężko jest pracować tylko na liczbach. Łatwiej będzie nam pracować na czymś, co jest obrazkiem, co nam po prostu w szybki sposób da odpowiedź na pytanie. 


Czas na podsumowanie. Wymień 3 najważniejsze rzeczy Twoim zdaniem, na które należy szczególną zwrócić uwagę podczas wizualizacji danych?

Niech historia przedstawiona na wykresie będzie przynajmniej trochę złożona. Niech to nie będą trzy liczby, tylko historia, która wymaga napracowania się i pokazania pewnych aspektów, wartości w sposób, który do odpowiedniego typu zmiennych pasuje. To jednocześnie wiąże się z tym, żebyśmy używali odpowiednich wykresów do różnych typów danych. Nie wszystkie wykresy pasują do wszystkich typów i warto o tym pamiętać.

Nie używajmy wykresów kołowych. Będę powtarzać to pewnie w kółko i w kółko, ale naprawdę odbiorcy naszego wykresu będzie dużo trudniej podjąć jakiekolwiek decyzje na podstawie takiego wykresu.


Zwracajmy uwagę na to, jak te wykresy wyglądają. Nie mówię o aspektach typowo estetycznych tylko o to, żeby np. gdy mamy wykres słupkowy i naszą oś Y, to żeby wartości na osi Y zgadzały się z tym, co mamy na słupkach. Nieraz spotykam takie wykresy, że oś swoją drogą, a na słupkach są zupełnie inne wartości. Wtedy zadaję sobie pytanie, czy czytać słupki z tej osi czy liczby na słupkach. Starajmy się dopracowywać elementy wykresów tak, żeby one w całości tworzyły przede wszystkim historie, ale były zrozumiałe dla naszego odbiorcy. Żebyśmy go nie wprowadzali przypadkiem w błąd w żadnym elemencie tego wykresu.



Więc tak, pierwszy punkt był na temat historii, drugi punkt to kołowe wykresy i trzecia rzecz – róbmy spójne i jednoznaczne wykresy. Ale jeszcze jedna rzecz mi przyszła do głowy. Co myślisz o wykresach, w których mamy dwie osie Y i one mówią o różnych rzeczach?

Totalnie nie. Ja wiem, że w niektórych sektorach pracy, czy to w finansach, czy ubezpieczeniach, jesteśmy przyzwyczajeni do tych dwóch osi i może to ułatwia faktycznie czytanie pewnych aspektów, ale przeciętny Kowalski może mieć z tym problem. Jeżeli chcemy do szerszego grona odbiorców dotrzeć z takim wykresem, to nie róbmy dwóch różnych osi, skupmy się na jednej, zróbmy drugi wykres obok i niech ta osoba sobie na spokojnie porówna wyniki z tych dwóch, a nie stosujmy dwóch osi, które zaburzają cały odbiór tego wykresu.

Teraz mamy taki moment na kreatywność, a mianowicie zadajmy naszym czytelnikom zadanie domowe, które pokłóci ich myślenie i zmotywuje do działania, bo to jest najlepszy sposób, aby tę wiedzę utrwalić. Oczywiście w kontekście wizualizacji. Jakie zadanie domowe damy naszym czytelnikom?

Damy takie zadanie, które często się pojawia na moich zajęciach i moi studenci też takie zadania otrzymują. Znajdź z ostatnich dwóch tygodni, czy to w prasie, telewizji czy jakichkolwiek mediach społecznościowych, czy jakichś portalach internetowych, wykres, który nie do końca jest poprawny i zastanów się, co należałoby zrobić, żeby ten wykres nie był porażką, a zmienić tak, żeby był faktycznie dużo lepszy, czytelniejszy i żeby spełniał te wszystkie aspekty, które dobry wykres powinien mieć.

Super, bardzo fajne zadanie. Będziemy czekać na informacje zwrotne. Już na sam koniec spróbujmy dokonać pewnej predykcji. Jak Twoim zdaniem będzie wyglądała dziedzina machine learning, data science za 5 lat? Co z tego mogą mieć końcowy użytkownicy, czyli klienci? W jakich ramach produktów najbardziej ML może to wszystko wspierać? 


Myślę, że to dość trudne pytanie. Nie wiem, co będzie w przyszłym roku, a co dopiero za 5 lat. Patrząc na to, jak np. rozwija się Wyjaśnialne Uczenie Maszynowe i jak coraz częściej jest używane, możemy spodziewać się jeszcze większego wykorzystania.



Chodzi mi tutaj też o taki poboczny wątek Wyjaśnialnego Uczenia Maszynowego, czyli uczciwość modeli, tzw. Fairness. Jest to też temat, który ostatnio jest często poruszany, którym też mój zespół się tym zajmuje. Tak naprawdę wydaje mi się, że to pójdzie w tym kierunku. Ponieważ są pewne regulacje nakładane przez nas – czy to przez jakieś instytucje, czy nawet przez firmy. U mnie np. z doświadczenia pracy przy ubezpieczeniach, tu mamy Komisję Nadzoru Finansowego, która mówi, co można, a co nie można. W tym momencie są pewne ograniczenia, które nie pozwalają na wykorzystanie lepszych modeli, które mają większą moc predykcyjną. 


Może faktycznie, dzięki tym narzędziom, które się jeszcze bardziej rozwiną względem tego co mamy teraz, uda się Wyjaśnialne Uczenie Maszynowe jakoś zaaplikować jeszcze bardziej do biznesu. 


A z perspektywy machine learningu?

Mam nadzieję i wierzę w to, że powstaną pewne modele, może nowe algorytmy, które jeszcze bardziej będą uważały właśnie na tę uczciwość. Nieraz słyszymy o takich przypadkach, zazwyczaj w prasie zagranicznej, że jakiś model dyskryminuje pewną część klientów, np. jakiejś instytucji. Liczę, że będziemy na to po prostu bardziej zwracać uwagę i może faktycznie regulacje, o których już wspomniałam, pomogą z tym walczyć.


Mam nadzieję, że za te 5-10 lat już nie będziemy używać wykresów kołowych. 

Dzięki wielkie Aniu za dzisiejszą rozmowę. Można byłoby ją ciągnąć przez kilka różnych wątków, w szczególności w kierunku XAI, ale to będzie poruszone osobno. Dziękuję wielkie za podzielenie się wiedzą i życzę, aby udało się zrobić wiele fajnych wykresów i żebyś jak najmniej widziała w swoim życiu wykresów kołowych.


Super, bardzo dziękuję.


========

Czy wizualizacja Cię przekonuje? Czy myślisz, że dobra wizualizacja może zmienić świat na lepszy? Co myślisz o wykresach kołowych? Czy też już ich nie lubisz i jak często się z nimi spotykasz?

Wracając do zadania domowego od Ani. Wbrew pozorom to nie zabierze aż tak dużo czasu. Obserwuj świat, który Cię otacza. Jeżeli oglądasz telewizję, to zwróć uwagę, czy są tam wykresy. Spróbuj zanotować, czemu ten wykres jest zły, na podstawie chociażby tej informacji, która dzisiaj wybrzmiała. Podziel się też swoimi spostrzeżeniami – zachęcam do sekcji komentarzy czy kontaktu mailowego.


Podziel się przynajmniej z jedną osobą tym artykułem. Dzięki temu ja będę wiedzieć, że docieramy do właściwych ludzi we właściwy sposób, a też przy okazji będę czuć, że warto kontynuować to, co robię. 


Od 2013 roku zacząłem pracować z uczeniem maszynowym (od strony praktycznej). W 2015 założyłem inicjatywę DataWorkshop. Pomagać ludziom zaczać stosować uczenie maszynow w praktyce. W 2017 zacząłem nagrywać podcast BiznesMyśli. Jestem perfekcjonistą w sercu i pragmatykiem z nawyku. Lubię podróżować.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *