O książce ,,Antykruchość” Nassima Taleba

Mając w pamięci poprzednią książkę Nassima Taleba, czyli sławną ,,Black Swan” moje oczekiwania w stosunku do jego kolejnej książki ,,Antykruchości” były bardzo wysokie. Jakie są więc wrażenia z lektury tej pozycji?

Początek jest świetny. Autor zręcznie wyjaśnia czym jest tytułowa antykruchość. A czym jest? Oczywiście przeciwieństwem kruchości, ale jednocześnie jest przeciwieństwem którego się nie spodziewamy. Dla większości osób przeciwieństwem kruchości jest odporność. Przyzwyczajeni jesteśmy do myślenia w granicach odporność – kruchość i nie widzimy, że jest coś poza tymi granicami. Jeżeli kruchość oznacza, że duże zmiany pogarszaj/psują, to antykruchość oznacza, że duże zmiany poprawiają/usprawniają system. W statystyce odpowiedzią na wrażliwe i niestabilne estymatory są estymatory odporne. Ale teraz można zapytać się, czy istnieją estymatory antykruche? Którym skrajne obserwacje jedynie służą? Czy można i co można zrobić, by nasze wnioskowanie było antykruche? Pod względem poszerzania perspektywy początek jest świetny.

Środek jest niezły. Autor na ilustracjach wykazuje potencjalne źródła kruchości, takie jak wielkość i złożoność systemów. Punktuje zachłyśnięcie się złożonymi modelami predykcyjnymi, za którymi nie idzie żadna odpowiedzialność w przypadku błędnych predykcji. Pokazuje jak często stosowane miary jakości predykcji są błędne, a same systemy predykcyjne nie tylko niczego nie przewidują, ale mogą być wręcz szkodliwe tworząc złudzenie kontroli niepewności. Im bardziej złożone, tym bardziej niezrozumiałe i kruche.

Na poletku analizy danych ta diagnoza jest wyjątkowo trafna. Coraz więcej osób buduje złożone modele, wierząc że dzięki złożoności będą mogli lepiej przewidzieć pewne zjawiska. Jednocześnie nie zadając sobie pytań o znaczenie i podstawy losowości. Niewiele z osób, dumnie nazywających się ,,data scientist” czy podobnie (w tym worku są też statystycy, machine learningowcy i ci co uważają, że to narzędzia rozwiązują problemy), zastanawia się nad własnościami wartości p, konsekwencjami aksjomatów Kołmogorowa i ich przystawaniem do rzeczywistości. Nie jest źle, jeżeli złożoność modelu bierze się z naszej (nie)wiedzy o rzeczywistości, ale gorzej jeżeli jest zasłoną dymną.

W analizie danych brakuje odpowiednika Bertranda Russella (dopiero niedawno przeczytałem Logikomiks, o którym pewnie też niedługo napiszę, ale już teraz polecam), który pomógłby opanować chaos w podejściu do analiz. Wielu badaczy zachłyśniętych regularyzacją, randomizacją, boostingiem zapomina o tym, że najczęściej dane nie pochodzą z symulacji i że używanie metody X tylko dlatego, że kolega ją lubi lub myśli, że ją rozumie, może nie być wystarczającym uzasadnieniem. Czy żyjemy na rosnącej bańce pompowanej przez szarlatanów? Z drugiej strony, cyrulicy z czasem przekształcili się w chirurgów.

Końcówka słaba. Aby nie było zbyt słodko, dodam że nie wszystko w książce Taleba mi się podoba. Wręcz wiele rzeczy mi się nie podoba. Autor niepotrzebnie, moim zdaniem, wplata w książkę wątki dotyczące etyki czy swojego światopoglądu. Nie chodzi nawet o to czy się z autorem zgadzam czy nie, ale o to, że książka przez to traci na precyzji. Są kontrowersyjne poglądy (np. że silna chemioterapia w przypadku niektórych nowotworów czyni więcej zła niż dobrego i nie wszystko co nie jest bardzo groźne warto leczyć), które moim zdaniem powinny albo iść w parze z konkretnymi dowodami albo się nie pojawiać. A nie żerować w sferze uogólnień i opinii. Miejscowe braki dowodów są spójne z tokiem rozumowania autora, a mianowicie, stwierdzeniem, że to twórcy terapii powinni dowodzić, że jest ona korzystna biorąc pod uwagę wszelkie, też długoterminowe, wyniki. Autor przyjmuje, że wszelkie interwencje są domyślnie niekorzystne o ile nie udowodni się, że jest inaczej.

Zdaniem Taleba czytamy książki, które są choć w części zgodne z naszymi poglądami. Co w książce Tabela spodobało mi się na tyle, że przeczytałem całość? Prawdopodobnie pochwała różnorodności, dzięki której złożone systemy mogą osiągnąć tytułową antykruchość.

Wrażenia z książki ,,Data points”, Nathan Yau, część trzecia

Dzisiejszy wpis poświęcony będzie ostatniemu rozdziałowi książki Nathana Yau ,,Data Points”, czyli rekomendacjom dotyczącym narzędzi do wizualizacji.

Nathan Yau podzielił narzędzia do wizualizacji danych na cztery grupy [wymieniam tylko wybrane narzędzia, pełna lista w w.w. książce]:

1. Ogólnego rażenia, można używać bez znajomości programowania i projektowania
Excel,
Google Spreadsheets,
Tableau (pisaliśmy o tym na naszym blogu tutaj),
Many Eyes (pisaliśmy o tym na naszym blogu tutaj).

2. Specjalistyczne narzędzia do wybranych typów danych
Gephi (do wizualizacji sieci, grafów i podobnych struktur),
Image Plot (do wizualizacji zbiorów zdjęć (też dużych zbiorów zdjęć),
TreeMap (narzędzie do przedstawiania danych za pomocą prostokątów),
TileMill narzędzie do pracy z mapami.

3. Wymagające znajomości programowania
R (głównie pakiet ggplot2 i pochodne),
Javascript (biblioteki D3, InfoVis Toolkit),
Processing (bardzo ciekawy język opisu animowanych wizualizacji ,,kompilowany” do java lub java script, świetna rzecz!),
Python.

4. Programy graficzne
Używane do ,,poprawiania” grafiki uzyskanej z użyciem powyższych narzędzi.
Adobe Ilustrator,
Inkscape (darmowy potężny program do grafiki wektorowej, choć do Ilustratora mu daleko).

Zachęcony tymi rekomendacjami zacząłem używać Ilustratora (jak na razie 30 dniowy trial, znacznie lepiej radzi sobie z pdf’ami niż Inkscape, co nie dziwi biorąc pod uwagę, że pdf to wymysł Adobe).
Jestem też po tygodniu nauki Processing. Pierwsze wrażenia są takie, że jest to fantastyczne narzędzie do animacji i tworzenia prostych gier (czy też interaktywnych wykresów).

Aktualnie najwygodniejszy schemat pracy: ołówek i gumka do szkieletu, R do pierwszych przymiarek, D3/Processing do elementów wymagających interakcji. Kod w Processing można kompilować do apletów Java lub Java Script. Pracowałem ostatnio nad interaktywnym wykresem na którym było 50 tys obiektów, niestety Java Script w takim wypadku jest wolny wiec możliwość kompilacji do apletu Java jest świetna.

Recenzja książki ,,Data points”, Nathan Yau, część druga

Początkowo planowałem komentować po rozdziale/dwóch z książki Nathana Yau ,,Data Points”. Jednak po przeczytaniu całości stwierdziłem, że nie miało by to sensu. W książce nie znajdziemy zbyt wielu propozycji reguł czy zasad jak tworzyć grafiki. Większość rozdziałów to bardzo rozbudowane zbiory przykładów wokół pewnego tematu. Przykładom towarzyszy próba syntezy, ale jakaś taka niezdecydowana. Autor książki preferuje drogę własnych eksperymentów, oglądania wizualizacji innych autorów i ćwiczenia zmysłu ,,wyczuwania” jak wizualizacja będzie stosowniejsza w danej sytuacji.

W całej książce bardzo przemawiająca dla mnie była analogia nauki wizualizacji danych do nauki gotowania. Można zaczynać od zupy z torebki, później można wiernie odtwarzać przepisy z książki kucharskiej by doskonaląc umiejętności kucharskie coraz więcej improwizować. Oddaje to też dobrze sposób w jakim Nathan Yau myśli o tworzeniu wizualizacji i w jaki opisuje ten proces w swojej książce.

O ile na próbę syntezy można narzekać, to wybór przykładów trzeba docenić. Nathan Yau zebrał naprawdę ciekawą i różnorodną kolekcję wykresów, wizualizacji czasem ocierającej się o grafikę artystyczną.

Dla mnie najbardziej ,,odkrywcze” były następujące przykłady:

Prawdziwa wielkość Afryki / True size of Africa

Bardzo ciekawa grafika ,,zmieniająca światopogląd”. Typowe odwzorowanie kartograficzne, z użyciem którego pokazywana jest mapa świata, zniekształca pola. Oczywiście są różne odwzorowania, ale te częściej oglądane powiększają pola bliżej biegunów a pomniejszają te bliżej równika. Najbardziej traci na tym Afryka, ponieważ mapy powodują, że wydaje nam się że Afryka jest mniejsza w stosunku do innych kontynentów niż w rzeczywistości jest.

Link do źródła.

Jak wybrać krój pisma / So you need a typeface?

Wizualizacja przedstawiająca drzewo decyzji przy wyborze kroju pisma. Bardzo ciekawa forma i treść

Link do źródła.

Mapa snu / Sleep schedule

Wizualizacja przedstawiająca zapotrzebowanie na sen w różnym wieku. Jak przyznaje autor dane zupełnie zmyślone, ale prawdopodobne.

Link do źródła.

Odcisk niewidocznego interface / Remnants of a Disappearing UI

Wizualizacja wykonana na podstawie pomiarów z badań ale nieprzetworzonych komputerowo. Przykład, że surowe dane mogą być piękne same w sobie.

Link do źródła.

Historia filmu / History of film

Mapa popularnych filmów z podziałem na dziedziny. Świetnie wykonana i z ciekawą treścią.

Link do źródła.

Historia zmian w Wikipedii na słodko

Mapa pokazująca jak zmieniał się wpis na Wikipedii dotyczący czekolady. Można prześledzić jak dodawano i usuwano fragmenty tekstu w czasie.

Link do źródła.

Schematy organizacyjne / Organizational charts

Bazujące na stereotypach (przez to zabawne) przedstawienie schematów organizacyjnych w różnych firmach.

Link do źródła.

Ilustrowany przewodnik po kawach / Coffe drinks

Schematy przedstawiające skład rodzajów kawy.

Link do źródła.

Recenzja książki ,,Data points”, Nathan Yau, część pierwsza

Ostatnio trafio w moje ręce sporo ciekawych książek o projektowaniu i o wizualizacji danych. Aby pomóc sobie w zdyscyplinowanym czytaniu kolejnych dzieł, postanowiłem przygotowywać mini recenzje dla czytanych pozycji. Nie będą to klasyczne recenzje ani rekomendacje, raczej zbiór ciekawostek, które w tych książkach znalazłem, a o których nie chciałbym zapomnieć. Może Was też zainteresują.

Zacznę od książki ,,Data points” Nathana Yau.

Autor jest statystykiem, który prowadzi bardzo ciekawy blog http://flowingdata.com/. Na swoim blogu przedstawia ciekawe i nieciekawe wizualizacje, które znalazł na sieci, w gazetach czy innych mediach. Poza blogiem pisze też książki o wizualizacji danych. Jak dotąd napisał dwie: ,,Visualize this” i ostatnio ,,Data points”. Dostałem obie, ale lekturę zacząłem od drugiej, zachęcony podtytułem ,,Visualization that means something”.

Właściwie ten podtytuł jest streszczeniem całej książki. Na różnych przykładach pokazywane jest co to właściwie znaczy, że wizualizacja ma znaczenie, coś znaczy, coś mówi. Dostępność narzędzi typu Excel, Tableau, D3, R pozawala na szybkie wygenerowanie dziesiątek wizualizacji. Ale podobnie jak w fotografii cyfrowej łatwość pstrykania idzie w parze z zalewem ,,wizualizacji”. Zachłyśnięci możliwościami programów renderujących wirujące wykresy w 3D, często nie zastanawiamy się co ta wizualizacja ma pokazać. Czy potrzebujemy kolejnych dwudziestu wykresów słupkowych? W rezultacie dostajemy kilkudziesięcio, kilkuset stronicowe raporty wygenerowane przez automat i które tylko automat chciałby czytać.

Nathan Yau ciekawie rozpoczął mówienie o wizualizacji. Mianowicie zaczął od tego, że wizualizacja jest abstrakcją danych. A dane są abstrakcją rzeczywistości, więc wizualizacja jest abstrakcją abstrakcji. Czymś co z założenia może być trudno zrozumieć. Aby ułatwić jej zrozumienie, ważne jest zrozumienie kontekstu w jakim dana wizualizacja będzie czytana.

Pierwszy przykład, który przedstawia, dotyczy wizualizacji fotografii zrobionych podczas dnia jego ślubu. Poniższy histogram pokazuje zarówno liczbę zdjęć zrobionych przez fotografa w czasie, z objaśnieniem ,,ciekawszych momentów”. Dodatkowo zaznaczono dominujący kolor na zdjęciu zrobionym o określonej porze, co osobom będącym na tym weselu pozwoli być może nawet odtworzenie co znalazło się w obiektywie fotografa.

Dalej autor kontynuuje temat wizualizacji danych bliskich osobie wykonującej wizualizacje. Powiedzielibyśmy ,,osobistych”. Znaczenie tych wizualizacji zależy od wiedzy obserwatora na temat danego przedmiotu.

Z wymienionych ciekawych projektów:

Nicholas Felton – projektant, który co roku na tej stronie publikuje raport o tym, co się działo w jego życiu w poprzednim roku. Wizualizuje informację o tym z kim się spotykał, co robił, gdzie był, co czytał. Gdy zmarł jego ojciec przygotował taki raport podsumowujący życie ojca, z informacjami np. jakie książki były w jego biblioteczce, które z nich dotyczyły podróżowania, które były przewodnikami dla turystów i do których z tych krajów ojciec się wybrał a do których nie. Bardzo osobiste, jednocześnie pokazujące znaczenie kontekstu. Ta sama wizualizacja ma zupełnie inne znaczenie dla osób znających ojca Nicholasa a inne dla przypadkowych odbiorców.

Tim Clark – projektant, autor między innymi ,,Atlas of the Habitual”, który można zobaczyć tutaj. Nie tylko zbierał dane o swojej lokalizacji przez kilka lat. Również je zwizualizował. Poszczególne lokalizacje otagował, tak by przy wizualizacji pogrupować pokonane trasy w zależności od celu wyprawy. Jedna z otagowanych aktywności to wizyty u jego dziewczyny, z którą po jakimś czasie zerwał. Powtarzający się przez jakiś czas wzorzec odwiedzin określonej dzielnicy znikł w chwili zerwania. Dla osoby znającej tę historię ,,analiza” tego wzorca ma inną wartość i jest inaczej odczytywana niż dla przypadkowego czytelnika.

Kristian Cvecek – fotograf robiący zdjęcia świetlikom. Przykładowe fotografie znaleźć można tutaj. Również w tym przypadku im więcej wiemy o kontekście tym bardziej losowe mazaje na fotografii zamieniają się w historię o przewidywaniu pozycji świetlika na bazie jego przeszłych pozycji.