Plebiscyt na najgorszy wykres roku 2019

Jeszcze tylko cztery dni do końca roku! To idealny czas na podsumowania i zestawienia. Jeden z tematów, który mnie najbardziej interesuje to wizualizacja danych w przestrzeni publicznej. A trzeba przyznać, że w tym roku dużo się działo w Polsce i na świecie, wiele wydarzeń aż proszących się o zaprezentowanie za pomocą wykresów.

W ostatnich dniach pojawiło się kilka zestawień najlepszych projektów dotyczących wizualizacji danych, jak np. lista zebrana przez FlowingData czy Information is Beautiful czy lista zebranych najlepszych wizualizacji z The Economist. To świetne pomysłowe, przemyślane i dopracowane w każdym szczególe wizualizacje.

Po drugiej stronie barykady stoją wykresy-koszmarki. Wykresy, które w skutek celowego działania, lub braku umiejętności projektanta, wykrzywiają dane i zniekształcają prezentowaną treść. To te wykresy są gwiazdami plebiscytu ,,Najgorszy wykres roku”, który organizuję już po raz ósmy (edycja 2018, edycja 2017, edycja 2016, edycja 2015, edycja 2014, edycja 2013, edycja 2012).

Poniżej lista 12 wykresów wybranych z tych, które otrzymałem od Was w ciągu roku, lub które znalazłem gdzieś w otchłani internetu. Tworzenie epickich wizualizacji danych jest trudne, ale omijanie podstawowych błędów powinno być proste. Pomóżcie wybrać najgorszy z wykresów tego roku. Ja wyniki plebiscytu wykorzystuję między innymi na zajęciach o wizualizacji danych by ostrzegać studentów.

A przed tą dwunastką ostrzegać warto.

1. Prokuratura w liczbach

Pierwszy kandydat pochodzi z Twittera Arkadiusza Myrchy, który umieścił takie to zdjęcie z dokumentu Nowa prokuratura w świetle danych statystycznych. Do samego dokumentu nie udało mi się dotrzeć, był jednak krytykowany też tutaj.

Co jest nie tak w tym wykresie? Prokuratura Krajowa została ponownie utworzona (w miejsce Prokuratury Generalnej) w roku 2016. Nic więc dziwnego, że nie wpływały do niej wcześniej sprawy karne. Przecież nie istniała.

2. Diabelski wzrost składek

Po drugiej stronie politycznej barykady jest poniższy wykres opublikowany przez Platformę Obywatelską na Twitterze. Ten wykres zaprezentowany w lipcu miał pokazać znaczny wzrost wysokości składek ZUS dla przedsiębiorców.

Słupki nie zaczynają się w zerze. Z czasem słupki rosną w każdym wymiarze i dodatkowo zmieniają kolor. Dodatkowa strzałka sugeruje okrutnie wysoki wzrost składek ZUS. Gdy przeliczyć zaprezentowane liczby, okaże się, że wzrost składki w latach 2015-2019 to 20,5%. W tym czasie średnie wynagrodzenie wzrosło o prawie 27%.

.

3. Wykresy kołowe są złe

Na zajęciach z Technik Wizualizacji Danych często przywołuję słowa Edwarda Tuftego, że wykresy kołowe są złe. A od wykresu kołowego gorsze jest tylko wiele wykresów kołowych. Głównym problemem z wykresami kołowymi jest to, że są stosowane często bez żadnej refleksji, co do tego co jest pokazywane. Kółka są ładne, ale powinny być stosowane wyłącznie by pokazywać udział części w całości. Do tego zostały stworzone. Niestety, używane są do pokazywania dowolnych zestawień liczb. Tak jest np w raporcie GDDKIA dotyczącym przejść dla zwierząt.

Ceny metra bieżącego rury o różnych przekrojach przedstawiono jako fragment wycinka koła. Wykres kołowy aby miał sens musi przedstawiać część całości. A do czego sumują się te ceny? (Bonusowe punkty w moim zestawieniu za wykres kołowy w 3D).

4. Wykresy kopertowe są gorsze

Zazwyczaj narzekam na wykresy kołowe, ponieważ są często stosowanej niezgodnie z ich przeznaczeniem. Gorszą rzeczą od wykresów kołowych są wykresy kołowe przycięte do kwadratu. Nie często jednak można znaleźć taki wykres jak poniżej (dziękuję Gazeta Prawna) z wykresem kołowym przyciętym do koperty. Trzeba przyznać że to 12% wygląda na niepokojąco duży obszar w porównaniu z 29%.

Problem z wykresem: pola obszarów na wykresie nie są proporcjonalne do przedstawianych liczb. Rozumiem skojarzenia grafika, ale da się zrobić estetyczną wizualizację nie łamiącą proporcji.

5. Hiperprecyzyjnie o alkoholu

Wykres z TVN przedstawiający jak zwiększyła się wartość sprzedanego alkoholu pomiędzy latami 2014 a 2017. Gdyby podzielić dwie zaprezentowane liczby, okazałoby się, że ta wartość wzrosła o 5%.

Pokazanie 11 cyfr utrudnia szybkie porównanie tych dwóch liczb, a słupki oczywiście nie zaczynają się w zerze.
Zaciemnianie przez uszczegóławianie.

6. Wykres kłosowy

Ciekawymi wariantami wykresów słupkowych są wykresy, które zamiast nudnych słupków stosują fajne grafiki, np kłosy jak w raporcie apostel.pl. I tutaj jednak, trzeba zaczynać kłosy od zera, inaczej wykres prezentuje zaburzone proporcje.

Np. na poniższym wykresie pierwsze 103 jest od kolejnego 99 większe o 4% (i jednoczesnie o 4 punkty procentowe). Ale optycznie wygląda na ponad dwukrotną różnicę.

7. Pamiętaj o opisach

Na portalu forsal.pl w dziale Gospodarka, znajduje się taki ciekawy wykres. Prezentuje on prawdopodobnie spadek oczekiwań inflacyjnych, choć z samego wykresu trudno odgadnąć co oznaczają odcinki różnych kolorów. W oryginalnym artykule, po kliknięciu na wykres można przejść na inną stronę, gdzie kolory linii są już oznaczone (od lewej USA, Europa i Japonia, a szara linia to cel inflacyjny).

W wersji zaprezentowanej na stronie, bez opisów, wykres jest niezrozumiały.

8. Ale te pensje urosły

Skąd się bierze ta awersja do zaczynania wykresów słupkowych w zerze? Poniżej przykład z podsumowania badania losów absolwentów. Pensja absolwentów wzrosła o 6.6% a z poniższego wykresu można odnieść wrażenie, że wzrosła ponad dwukrotnie.

9. Takie cuda, to tylko w podręcznikach do historii

Kolejny przykład pochodzi z podręcznika do historii Historia. Po Prostu. Mamy ciekawy wykres pokazujący bezrobocie i zatrudnienie. Ale coś się złego dzieje z osiami na tym wykresie. Skala dla zatrudnienia ma inną jednostkę niż skala dla bezrobocia (w roku 1933 liczba 780 tys. bezrobotnych ma słupek niewiele krótszy niż 1730 tys. pracujących), skoki słupków są oderwane od skoków liczb (pomiędzy 1934 a 1936 zatrudnienie rosło o 70 tys, ale po słupkach tego nie widać), i skala też jest podejrzana (620 tys. bezrobotnych w 1936 ma krótszy słupek niż 240 tys. bezrobotnych w 1930).

I co mają zrobić wzrokowcy, którzy zapamiętają z wykresu trendy, ale nie wykują na pamięć liczb?

10. Czego się nie robi by być konsekwentnym

Ministerstwo Edukacji Narodowej w marcu na Twitterze umieściło taki to piękny wykres. Wymowa jest dosyć oczywista, będzie coraz więcej pieniędzy na podwyżki dla nauczycieli. Co rok więcej, a już pod koniec to tak dużo, że się ledwie mieści na wykresie.

Tylko, że ostatni słupek to suma lat 2017-2020 (równie dobrze mogłaby być suma 2014-2020). Gdy się od tego 6,3 mld odejmie liczby przedstawione w poprzednich latach to się okaże, że w roku 2020 na podwyżkę przeznaczone będzie 1,4 mld, a więc ponad dwa razy mniej niż w 2019. Liczby niby są, ale gdyby pokazano ten spadek to trend już nie byłby taki konsekwentny.

11. Większa 1/3

Poniższy wykres przedstawia wyniki ankiety z maja, gdzie zbierano odpowiedzi na pytanie ,,Czy PO chciałaby ograniczyć programy socjalne wprowadzone przez PiS”. Pomijam już kwestię sformułowania pytania, moją uwagę zwrócił nagłówek interpretujący wykres.

Na to pytanie 12% odpowiedziało zdecydowanie tak, a 25% odpowiedziało raczej tak (w sumie 37%). Te 37% wystarczyło by w nagłówku napisać ,,większość Polaków”. Jak widać Ci co nie mają zdania nie są prawdziwymi Polakami.

Wyniki tego badania trafiły do mediów w jeszcze bardziej okrojonej postaci.

12. Słupki, wszędzie słupki

Ostatnia pozycja nie pochodzi z polskiej prasy, ale muszę się podzielić tym znaleziskiem. W listopadzie trafiłem na dwie konferencje z przetwarzania języka naturalnego metodami AI/ML. Większość prezentacji pokazywała wyniki ilościowe dla różnych wytrenowanych modeli uczenia maszynowego. Zazwyczaj z użyciem słupków. Różnice są zazwyczaj małe, więc 3/4 prezentacji miała te słupki poucinane w losowych miejscach. Poniżej zdjęcie slajdu z pierwszego zaproszonego prelegenta.

Wojna o słupki zaczynające się od 0 nie jest przegrana! Naście lat temu pamiętam jak wyniki map ciepła w publikacjach bioinformatycznych były w mapie kolorów zielony – czerwony (a więc tragicznej dla osób z upośledzonym widzeniem barw). Zaledwie po kilkunastu latach widać zmianę trendu, bioinformatycy są coraz bardziej uświadomieni i coraz więcej map ciepła jest w kolorystyce niebieski – różowy!

Z wykresami słupkowymi też tak będzie! To moje noworoczne życzenie na najbliższą dekadę 😉

Zagłosuj!

Który wykres(y) zasługuje na miano najgorszego wykresu roku 2019?

Który wykres zasługuje na tytuł ,,Zniekształcenie roku 2019''?

View Results

Loading ... Loading ...

Dziękuję za wszystkie przesłane przez Was wykresy (a było ich sporo, i wokół afery z wynagrodzeniami w NBP, i wokół strajku nauczycieli i wokół wyborów). Do plebiscytu wybrałem tylko 12, ale za każde zgłoszenie bardzo dziękuję.
Osoba, która zgłosiła zwycięski wykres otrzyma dwie książki o wizualizacji Wykresy Unplugged i Odkrywać, Ujawniać, Objaśniać.

Zgłoszenia do tegorocznej edycji plebiscytu ,,Najgorszy wykresu roku”


Tak, tak, tak!
Zbliża się koniec roku, a z nim ósma (!!!) edycja plebiscytu na najgorszy wykres roku.

Jeżeli znaleźliście w papierowych lub elektronicznych mediach wykresy zniekształcające dane, powodujące, że prosta informacja staje się nieczytelna lub wprowadzająca w błąd zgłoście ją do plebiscytu!
Zgłoszenia można przesyłać na adres email: przemyslaw.biecek na serwerze gmail.com lub przez Facebook do końca dnia 28 grudnia.

W tym roku dodatkowo mam przygotowaną nagrodę (!!!) dla osoby, która prześle jako pierwsza wskazanie na wykres, który w plebiscycie wygra.
Są to dwie książki o wizualizacji Wykresy Unplugged i Odkrywać, Ujawniać, Objaśniać/

Zeszłoroczną edycję wygrał wykres z początku tego wpisu.

Jakie inne wykresy trafiły do plebiscytu w poprzednich latach?

Tell Me a Story: How to Generate Textual Explanations for Predictive Models

TL;DR: If you are going to explain predictions for a black box model you should combine statistical charts with natural language descriptions. This combination is more powerful than SHAP/LIME/PDP/Break Down charts alone. During this summer Adam Izdebski implemented this feature for explanations generated in R with DALEX library. How he did it? Find out here:

Long version:
Amazing things were created during summer internships at MI2DataLab this year. One of them is the generator of natural language descriptions for DALEX explainers developed by Adam Izdebski.

Is text better than charts for explanations?
Packages from DrWhy.AI toolbox generate lots of graphical explanations for predictive models. Available statistical charts allow to better understand how a model is working in general (global perspective) or for a specific prediction (local perspective).
Yet for domain experts without training in mathematics or computer science, graphical explanations may be insufficient. Charts are great for exploration and discovery, but for explanations they introduce some ambiguity. Have I read everything? Maybe I missed something?
To address this problem we introduced the describe() function, which
automatically generates textual explanations for predictive models. Right now these natural language descriptions are implemented in R packages by ingredients and iBreakDown.

Insufficient interpretability
Domain experts without formal training in mathematics or computer science can often find statistical explanations as hard to interpret. There are various reasons for this. First of all, explanations are often displayed as complex plots without instructions. Often there is no clear narration or interpretation visible. Plots are using different scales mixing probabilities with relative changes in model’s prediction. The order of variables may be also misleading. See for example a Break-Down plot.

The figure displays the prediction generated with Random Forest that a selected passenger survived the Titanic sinking. The model’s average response on titanic data set (intercept) is equal to 0.324. The model predicts that the selected passenger survived with probability 0.639. It also displays all the variables that have contributed to that prediction. Once the plot is described it is easy to interpret as it posses a very clear graphical layout.
However, interpreting it for the first time may be tricky.

Properties of a good description
Effective communication and argumentation is a difficult craft. For that reason, we refer to winning debates strategies as for guiding in generating persuasive textual explanations. First of all, any description should be
intelligible and persuasive. We achieve this by using:

  • Fixed structure: Effective communication requires a rigid structure. Thus we generate descriptions from a fixed template, that always includes a proper introduction, argumentation and conclusion part. This makes the description more predictable, hence intelligible.
  • Situation recognition: In order to make a description more trustworthy, we begin generating the text by identifying one of the scenarios, that we are dealing with. Currently, the following scenarios are available:
    • The model prediction is significantly higher than the average model prediction. In this case, the description should convince the reader why the prediction is higher than the average.
    • The model prediction is significantly lower than the average model prediction. In this case, the description should convince the reader why the prediction is lower than the average.
    • The model prediction is close to the average. In this case the description should convince the reader that either: variables are contradicting each other or variables are insignificant.

Identifying what should be justified, is a crucial step for generating persuasive descriptions.

Description’s template for persuasive argumentation
As noted before, to achieve clarity we generate descriptions with three separate components: an introduction, an argumentation part, and a summary.

An introduction should provide a claim. It is a basic point that an arguer wishes to make. In our case, it is the model’s prediction. Displaying the additional information about the predictions’ distribution helps to place it in a context — is it low, high or close to the average.

An argumentation part should provide evidence and reason, which connects the evidence to the claim. In normal settings this will work like that: This particular passenger survived the catastrophe (claim) because it was a child (evidence no. 1) and children were evacuated from the ship in the first order as in the phrase women and children first. (reason no. 1) What is more, the children were traveling in the 1-st class (evidence no. 2) and first-class passengers had the best cabins, which were close to the rescue boats. (reason no. 2).

The tricky part is that we are not able to make up a reason automatically, as it is a matter of context and interpretation. However what we can do is highlight the main evidence, that made the model produce the claim. If a model is making its’ predictions for the right reason, evidences should make much sense and it should be easy for the reader to make a story and connect the evidence to the claim. If the model is displaying evidence, that makes not much sense, it also should be a clear signal, that the model may not be trustworthy.

A summary is just the rest of the justification. It states that other pieces of evidence are with less importance, thus they may be omitted. A good rule of thumb is displaying three most important evidence, not to make the picture too complex. We can refer to the above scheme as to creating relational arguments as in winning debates guides.

Implementation
The logic described above is implemented in ingredients and iBreakDown packages.

For generating a description we should pass the explanation generated by ceteris_paribus() or break_down() or shap() to the describe() function.

There are various parameters that control the display of the description making it more flexible, thus suited for more applications. They include:

  • generating a short version of descriptions,
  • displaying predictions’ distribution details,
  • generating more detailed argumentation.

While explanations generated by iBreakDown are feature attribution explanations that aim at providing interpretable reasons for the model’s prediction, explanations generated by ingredients are rather speculative. In fine, they explain how the model’s prediction would change if we perturb the instance being explained. For example, ceteris_paribus() explanation explores how would the prediction change if we change the values of a single feature while keeping the other features unchanged.

Applications and future work

Generating natural language explanations is a sensitive task, as the interpretability always depends on the end user’s cognition. For this reason, experiments should be designed to assess the usefulness of the descriptions being generated. Furthermore, more vocabulary flexibility could be added, to make the descriptions more human alike. Lastly, descriptions could be integrated with a chatbot that would explain predictions interactively, using the framework described here. Also, better discretization techniques can be used for generating better continuous ceteris paribus and aggregated profiles textual explanations.

dime: Deep Interactive Model Explanations

Hubert Baniecki created an awesome package dime for serverless HTML interactive model exploration. The experimental version is at Github, here is the pkgdown website. It is a part of the DrWhy.AI project.

How does it work?

With the DALEX package you can create local and global model explanations for machine learning models. Each explanation can be visualized with a genetic plot() function.
Hubert created a generic plotD3() function which turns each explanation into an interactive D3 plot (with the help of r2d3 package). With the dime package you can combine few interactive explanations into a single dashboard. And the dashboard is serverless, you can host it at github or anywhere.

For example, the gif below shows how to combine a break down plot (local feature attribution) with ceteris paribus profiles (detailed analysis of a single variable). You can click a variable of interest to activate an appropriate ceteris paribus profile (click to play).

With the dime package you can combine any number of interactive widgets into a single dashboard. You can connect local, global explanations or EDA tools like histograms or barplots.

It’s very easy to generate such website. Just create an explainer and call the modelStudio() function.

Find examples and R codes here: https://github.com/ModelOriented/dime/blob/master/README.md

The dime package is still in the experimental phase. Your feedback is welcomed. Feel free to submit an issue with comments or ideas.

Learn about XAI in R with ,,Predictive Models: Explore, Explain, and Debug”

XAI (eXplainable artificial intelligence) is a fast growing and super interesting area.
Working with complex models generates lots of problems with model validation (on test data performance is great but drops at production), model bias, lack of stability and many others. We need more than just local explanations for predictive models.

The more complex are models the better tools are needed to understand how models are working, explore model behaviour and debug potential errors.

Two years ago I’ve initiated work on the DALEX package. Library packed with functions for local and global model exploration.
Over the time the package went through few architectural changes and now it is part of a larger universe of tools for model exploration developed at MI2DataLab with an increasing support of external contributors (join us).

To explain our philosophy behind the model exploration we (together with Tomasz Burzykowski from Hasselt) started a book ,,Predictive Models: Explore, Explain, and Debug’’.

First part, devoted to local exploration, is ready to read. It explains how to use DALEX with iBreakDown and ingredients packages for instance level explanations.
Later we will describe other packages from our universe.

Find the book-down version of here.

Find a one-page-cheatsheet here.

Let us improve these descriptions by adding pull requests or issues at the GitHub repo.
One day there will be a paper version 😉

Rozstrzygnięto konkurs na komiks o matematyce, informatyce i analizie danych!

Miesiąc temu pisałem o konkursie na najlepszy komiks o matematyce, informatyce i analizie danych. W ubiegłym tygodniu rozstrzygnęliśmy pierwszą edycję!
Nie było to proste. Z ponad 25 zgłoszeń trzeba było wybrać najlepsze w dwóch kategoriach: kategorii szkoły średnie i w kategorii otwartej (w której nagrody funduje nasza fundacja). Komisja w składzie: Kamila Łyczek (Delta), Barbara Roszkowska-Lech (MiNI PW), Tomasz Biernacki (znawca komiksu) i niżej podpisany Przemysław Biecek obradowała zaciekle. Głosy były zróżnicowane, ale koniec końców wybraliśmy bardzo ciekawe prace.

Czy jesteście ciekawi jakie prace nagrodzono?

W kategorii otwartej I nagrodę otrzymał komiks Inwersja Małgorzaty Łazęckiej.

Wyróżniliśmy też dwie świetne prace.

Przystające autobusy Piotra Nieżurawskiego.

Oraz Wpływ społeczności na rozwój PYTHONA Marty Czanockiej-Cieciury.

Więcej o konkursie oraz o wynikach w kategorii dla szkół średnich można przeczytać na tej stronie.
Wszystkie prace nadesłane na konkurs będzie można zobaczyć na specjalnej wystawie komiksów w dniu 12 września 2019 r. w Gmachu Wydziału Matematyki i Nauk Informacyjnych Politechniki Warszawskiej w czasie V Dnia Popularyzacji Matematyki. W tym dniu, w czasie uroczystej gali nastąpi wręczenie nagród wyróżnionym.

Możecie już się przygotowywać do kolejnej edycji!

Ile punktów potrzeba by się dostać do szkoły średniej w Warszawie?

W tym artykule Polityki przeczytałem, że ponad 3 tysiące uczniów nie dostało się do żadnej z wybranych szkół średnich w Warszawie. Pomimo wysiłku szkół by przyjąć możliwie wielu uczniów.

Marcin Luckner (MiNI PW) przesłał mi ciekawą analizę progów punktowych w różnych oddziałach w Warszawie. Poniżej umieszczam wybrane wykresy po drobnych zmianach. Dane pochodzą z serwisu edukacja.warszawa.pl. Przy okazji też będziemy mogli porównać kilka sposobów pokazywania rozkładów.

W powyższych danych znajduje się informacja ile punktów było potrzeba aby dostać się do wskazanego oddziału we wskazanej szkole średniej. W rozbiciu na typ szkoły i na to czy rekrutowały się dzieci z podstawówek czy gimnazjów.
Poniższy wykres (histogram) pokazuje jak wyglądają progi punktowe w różnych typach oddziałów. Na wykresie nie ma szkół sportowych, ponieważ tam były dodatkowe punkty sprawnościowe i trudno te progi porównać.

W różnych mediach można znaleźć informację o uczniu, który miał 190 punktów i nie dostał się do żadnej wybranej szkoły. Ale były też szkoły, które miały znacznie niższe progi przyjęcia. Bardzo wiele oddziałów miało progi przyjecia w okolicy 160 punktów.

John Tukey lata temu zaproponował by rozkłady opisywać za pomocą piątki liczb – min, max, mediana i kwartyle. To 5 liczb które dzieli wartości na 4 równe przedziały. Można je pokazać za pomocą wykresów pudełkowych.

Poniżej mamy wykresy pudełkowe z rozkładem progów punktowych podziałem na dzielnice. Im szersze pudełko tym więcej szkół jest w danej grupie. Najwyższe progi były w szkołach w Śródmieściu (ponad połowa oddziałów miała próg przyjęcia powyżej 165 punktów). łatwiej było się dostać do szkół średnich na Pradze czy w Ursusie.

Okazuje się, że i moją i Marcina ulubioną techniką pokazywania rozkładów jest dystrybuanta empiryczna. Wykres poniżej pokazuje jaki procent oddziałów ma prób przyjęcia mniejszy niż x.

Przykładowo szara linia odpowiada progowi 150 punktów. Tyle punktów wystarczyły by dostać się do praktycznie wszystkich oddziałów integracyjnych, ale już tylko do około 60% oddziałów ogólnych (1 na 3 oddziały ogólne ma wyższy prób punktowy), do około 33% oddziałów w szkołach dwujęzycznych (2 na 3 oddziały w szkołach dwujęzycznych ma wyższy próg przyjęcia). Nie wystarczy na szkoły z międzynarodową maturą.

To jaki jest Wasz ulubiony sposób pokazywania rozkładów?

Projektowanie ekstremalne, czyli … z pamiętnika nauczyciela akademickiego


Dzisiaj będzie o pewnym ciekawym eksperymentalnym projekcie prowadzonym pomiędzy PW, UW oraz ASP. Przedmioty projektowe prowadzę od kilkunastu lat, ale ten był wyjątkowy. Poniżej krótko opiszę o co chodziło i jakie z tego zostały mi nauczki na przyszłość. Może komuś się przyda do realizacji podobnych zajęć.

Projekt dotyczył wizualizacji danych, a wizualizacja to bardzo interdyscyplinarny obszar. Pracując w takich miejscach można poznać bardzo ciekawe osoby z korzeniami w innych dziedzinach, od kontrolingu po wzornictwo przemysłowe. Tak się jakoś złożyło, że podczas poprzednich wakacji robiliśmy coś z dr Ewą Modrzejewską (Instytut Polonistyki Stosowanej, Uniwersytet Warszawski), której jedno z hobby to retoryka w wizualizacji danych. Mniej więcej w tym samym czasie pracowaliśmy nad Wykresami Unplugged z dr Magdą Małczyńską-Umeda (Akademia Sztuk Pięknych w Warszawie). Od słowa do słowa wykluł się w naszych głowach pomysł na zrobienie interdyscyplinarnego projektu, w którym na poważnie zderzylibyśmy perspektywę retoryczną, projektową i statystyczną.

Jak się bawić to na całego. A że w grupie raźniej to do zabawy zaprosiliśmy 20 studentów z zajęć, które prowadzimy. Kilku z dziennikarstwa UW, kilku z projektowania ASP i kilku z matematyki i informatyki MiNI PW.
Studentów podzieliliśmy na 4 grupy, w każdej grupie znaleźli się przedstawiciele każdej uczelni. Na warsztat wzięliśmy bardzo ciekawe dane otrzymane od firmy LekSeek. Dane dotyczyły częstości chorób w podziałach na wiek, płeć i inne cechy socjo-demo. Choroba to często dla młodych temat tabu. W projekcie chodziło o to by ten temat odczarować.

Każda z grup musiała znaleźć dla siebie jakiś temat a następnie przygotować analizy danych związane z wybranym tematem, krótki artykuł o wynikach analiz i plakat nawiązujący do analiz.
Wyszło naprawdę super. Poniżej jest jeden z plakatów, które zostały przygotowane. Tak, w tej głowie jest rozkład częstości wizyt lekarskich związanych z depresją w podziale na grupy wiekowe i płeć (autorem jest Dawid Grzelak, ASP). Genialne!

Więcej o samym projekcie, oraz o uzyskanych wynikach można przeczytać w raporcie Dane – Retoryka – Dizajn. W raporcie znaleźć można zarówno kody z analiz, jak i artykuły o wynikach i plakaty nawiązujące do znalezionych wyników.

After all myślę, że było to bardzo ciekawe doświadczenie i dla nas (prowadzących) i dla studentów. Zdecydowanie wychodzi się poza strefę komfortu.
Dla tych co chcieliby podobny projekt zrealizować, kilka doświadczeń:

– Logistyka w umawianiu spotkań dla studentów z 3 uczelni to oczywiście masakra. Nam się udało znaleźć jakieś popołudnia, ale czasem trzeba było w locie szukać innych terminów. Terminy spotkań lepiej zaplanować z wyprzedzeniem, najlepiej jeszcze przed rekrutacją studentów na taki projekt.
– Nasz projekt realizowany był podczas 3 wspólnych +- 2 godzinnych walnych spotkań, pomiędzy nimi był czas na prace w podgrupach. Lepiej byłoby mieć więcej dłuższych spotkań. Dwie godziny to mało aby przesiąknąć pomysłami osób z innych uczelni.
– Studenci z tak różnymi doświadczeniami mają różne sposoby pracy i potrzebują trochę czasu a czasem i pomocy by dograć się z resztą grupy. Jakieś małe zadania team-buildingowe powinny pomóc.
– Zestawienie przy jednym stole inżyniera informatyka, projektanta artystę i dziennikarza śledczego to ciekawa okazja by zobaczyć jak wygląda zupełnie inny warsztat pracy. Czasem jednak trzeba aktywnie zachęcać by poszczególne osoby chciały się tym warsztatem podzielić z nowymi współpracownikami.
– Tak różnorodne grupy to na początku spory chaos, ale z chaosu rodzą się fajne rzeczy.

modelDown is now on CRAN!


The modelDown package turns classification or regression models into HTML static websites.
With one command you can convert one or more models into a website with visual and tabular model summaries. Summaries like model performance, feature importance, single feature response profiles and basic model audits.

The modelDown uses DALEX explainers. So it’s model agnostic (feel free to combine random forest with glm), easy to extend and parameterise.

Here you can browse an example website automatically created for 4 classification models (random forest, gradient boosting, support vector machines, k-nearest neighbours). The R code beyond this example is here.

Fun facts:

archivist hooks are generated for every documented object. So you can easily extract R objects from the HTML website. Try

archivist::aread("MI2DataLab/modelDown_example/docs/repository/574defd6a96ecf7e5a4026699971b1d7")

– session info is automatically recorded. So you can check version of packages available at model development (https://github.com/MI2DataLab/modelDown_example/blob/master/docs/session_info/session_info.txt)

– This package is initially created by Magda Tatarynowicz, Kamil Romaszko, Mateusz Urbański from Warsaw University of Technology as a student project.

Matematyka w komiksie, komiks w matematyce – jeszcze tylko tydzień na Wasze zgłoszenia!


Do 12 czerwca można zgłaszać pomysłowe komiksy o matematyce, informatyce lub analizie danych na konkurs ,,Matematyka w komiksie, komiks w matematyce”.

Zgłaszać można komiksy o objętości od jednego okienka lub jednego paska do jednej strony A4.
Najlepsze komiksy trafią na okładkę Delty i/lub otrzymają nagrody rzeczowe.

Kręci Cię matematyka?
Masz pomysł jak ją pokazać w komiksie!
Prześlij Twoją propozycję na ten konkurs.

Więcej informacji na stronie konkursu https://dpm.mini.pw.edu.pl/node/710.