eRka: wakacyjny zespołowy konkurs z R

R_competition_final2

eRka wspólnie z Do-IT Solutions (z patronami INIME, FuRBS i SmarterPoland.pl) przygotowała na te wakacje zespołowy konkurs analizy danych.

Dane dotyczą wyników edukacyjnych uczniów z RPA. Być może pamiętacie, że dane były wykorzystywane w hackatonie organizowanym przez eRka rok temu, ale teraz i danych jest więcej i wyzwań jest więcej.

Więcej informacji o tym konkursie, w tym zasady i tematy analiz, znajduje się na tej stronie, a w języku polskim na tej stronie.

Od piątku można będzie zgłaszać zespoły.

useR 2016 – tutoriale

IMG_1102

Właśnie zakończył się pierwszy dzień useR2016, czyli sesja z tutorialami.
Do wyboru było wiele ciekawych pozycji (lista z opisami tutaj). Poniżej opiszę wrażenia z czterech, w których uczestniczyłem.

Never Tell Me the Odds! Machine Learning with Class Imbalances Max Kuhn – Pfizer.
Materiały do tego tutorialu znajdują się na githubie. Max (znany pewnie większości jako twórca pakietu caret) opowiadał o strategiach radzenia sobie z niezrównoważonymi klasami w problemie klasyfikacji. I oczywiście pokazywał jak rozwiązać ten problem z pakietem caret. O ile problemu prawie nie ma dla takich metod jak regresja logistyczna, to dla metod opartych o drzewa problem może być poważny. W materiałach jest porównanie trzech głównych strategii radzenia sobie z tym problemem: undersampling, oversampling i zmiana funkcji kosztu.
To był moim zdaniem najlepszy tutorial tej edycji useR.

Machine Learning Algorithmic Deep Dive, Erin LeDell – H2O.ai.
Równolegle prowadzony był tutorial pracownika H2O. To właśnie afiliacja prelegenta jak i atrakcyjne ,,deep dive” skusiła mnie i ponad 150 innych osób do wzięcia udziału w tym tutorialu. Ale okazało się, że nie było miejsca na głębokie zanurzenie, co najwyżej udało się zamoczyć stopy.
O ile sam tutorial był średnio udany (problemy z instalacją jupitera wykosiły ponad połowę osób, a jak się okazało wcale nie był on potrzebny bo i tak nie było czasu na uruchomienie kodu) to materiały są całkiem niezłe. Znajdują się one na githubie.

An Introduction to Bayesian Inference using R Interfaces to Stan, Ben Goodrich
Ponieważ język Stan znajduje się bardzo wysoko na liście rzeczy, które chciałbym bliżej poznać, z wielkimi nadziejami zapisałem się na ten tutorial. Ben jest jednym z kluczowych twórców Stana. Materiały z tego tutorialu znajdują się na tej stronie.
Materiały są ciekawe, choć jak dla mnie mogłoby być więcej bardziej złożonych przykładów zamiast zastanawiania się dlaczego ci częstościowi statystycy są tacy źli.
Najbardziej spodobał mi się ten slajd pokazujący jak sprawnie NUTS radzi sobie z korelacją kolejnych obserwacji (w porównaniu do RW Metropolisa czy algorytmu Gibbsa). To akurat dobra motywacja by dalej zgłębiać ten pakiet.

Using R with Jupyter Notebooks for Reproducible Research, Andrie de Vries & Micheleen Harris
W sali obok stan’a toczył się tutorial poświęcony bibliotece jupiter. Materiały są dostępne na githubie. Poza podstawami jupitera można było poznać https://notebooks.azure.com, czyli usługę pozwalającą na hostowanie notebooków na microsoftowym azurze. Najciekawsza na tym tutorialu była forma. Prowadząca wykorzystywała kilka ciekawych tricków związanych z prowadzeniem warsztatów, jak np. używanie karteczek aby szybko sygnalizować, że są jakieś problemu czy by robić szybkie binarne ankiety.

Obejrzyj dane zanim je pokażesz

Dzisiaj Polityka opublikowała artykuł Rząd zapowiadał, że ograniczy biurokrację. Zamiast tego cudownie się rozmnożył. W artykule są przykłady rosnącej biurokracji, tutaj mierzonej liczbą ministrów i wiceministrów.

Generalnie lubię w Polityce to, że często (w porównaniu z innymi portalami) opierają się na liczbach. Choć niestety rzadko pokazują te liczby za pomocą wykresu, zazwyczaj są to tabele lub takie zestawienie jak po prawej stronie.

Ale, myślę sobie, są dane wiec je pokażę. Przepisałem nazwy krajów i liczby ministrów, z wikipedii pobrałem informacje o wielkości ludności poszczególnych krajów.
Wyniki poniżej.
Widząc taki wykres dwie rzeczy rzucają się w oczy, (1) po Brexicie średnia liczba ministrów na kraj zmaleje, (2) co jest w sumie zaskakujące, liczba ministrów praktycznie nie zależy od ludności kraju (poniżej oś OX jest w skali sqrt a wciąż nie widać zależności).

Screen Shot 2016-06-27 at 22.07.17

Pointa: Z biurokracją trzeba walczyć. Ale akurat dane o liczbie ministrów nie pokazują polskiej biurokracji w najgorszym świetle.

Wykres i dane można pobrać instrukcją

archivist::aread("pbiecek/SmarterPoland_blog/arepo/1e4923464a4e47450c5243f0887dbbf7")

Shiny + archivist = reproducible interactive exploration


Shiny is a great tool for interactive exploration (and not only for that). But, due to its architecture, all objects/results that are generated are stored in a separate R process so you cannot access them easily from your R console.

In some cases you may wish to retrieve a model or a plot that you have just generated. Or maybe just wish to store all R objects (plots, data sets, models) that have been ever generated by your Shiny application. Or maybe you would like to do some further tuning or validation of a selected model or plot. Or maybe you wish to collect and compare all lm() models ever generated by your app? Or maybe you would like to have an R code that will recover given R object in future.

So, how to do this?

Czytaj dalej Shiny + archivist = reproducible interactive exploration

StatTuba a PolakPotrafi

Wspólnie z Agnieszką Tomczyk na serwisie crowdfundingowym PolakPotrafi uruchomiliśmy kampanię ’Jak zważyć psa linijką’. Celem jest przygotowanie materiałów warsztatowych do lekcji statystyki w szkołach, powkładanie ich do 25 StatTub i rozesłanie po Polsce.

StatTuba to tuba z komiksami, materiałami do pracy własnej, scenariuszem lekcji dla nauczyciela matematyki. Z taką tubą zainteresowany nauczyciel może samodzielnie poprowadzić lekcję o regresji liniowej.

Krótkie jednominutowe wprowadzające video powyżej, a więcej informacji znajduje się na stronie https://polakpotrafi.pl/projekt/jak-zwazyc-psa-linijka.

Pomóc można nam wspierając finansowo kampanię lub rozsyłając informację o niej do szerszego grona osób.

Na wspieranie jest ponad miesiąc czasu. Jeżeli się uda, to pierwsze StatTuby wyruszą na 1 września.

Beta i Bit dla najmłodszych


Czas na trzecią zagadkę z serii Beta i Bit. Tym razem jest ona skierowana do najmłodszych, powiedzmy dzieci w wieku 7-14.

Doświadczenia z warsztatów prowadzonych w ramach Uniwersytetu Dzieci przekuliśmy na 8-stronicowy komiks, w którym Beta i Bit opowiadają jak ważyć linijką czy to psa czy T-Rexa.

Polskojęzyczna wersja komiksu jest dostępna na stronie http://betabit.wiki/story/JakZwazycPsa/, angielsko języczna jest na stronie http://betabit.wiki/story/HeavyDog/.

A więc jakie jest zadanie?

Trzeba na podstawie danych ze strony 6.-7. komiksu oszacować masę T-Rexa. Instrukcja jak to robić znajduje się na stronach 4.-5.

Zdjęcie uzupełnionej strony 7. (można ją wydrukować nawet na czarnobiałej drukarce) wraz z oszacowaniem masy T-Rexa należy wysłać do 4 lipca na adres przemyslaw.biecek na serwerze gmail.com.

Osoby, które prześlą poprawne rozwiązanie otrzymają egzemplarz opowiadań ,,Jak długo żyją Muffinki?” (oferta ważna do wyczerpania zasobów). A osoby, które rozwiążą wszystkie trzy zagadki (frequon+Gra Terenowa+Ile waży T-Rex) otrzymają kubek Bety.

Czy macie w rodzinie dziecko w stosownym wieku?
Wydrukujcie komiks, rozwiążcie go z dzieciakiem i sprawcie mu zbiór opowiadań nawiązujących do statystyki na wakacje.

Screen Shot 2016-06-18 at 19.22.50

EURO 2016 v2

Ostatnio pisałem o artykule w którym uzgadniano szanse wygrania Euro przez drużyny na bazie zakładów bukmacherskich. Dostępny zbiór danych wykorzystaliśmy na ostatnich zajęciach ze Statystyki 2 do zabawy w przewidywanie czy Polska wyjdzie z grupy. Różne osoby, próbowały różnych modeli, jeden przypadł mi szczególnie do gustu i poniżej go opiszę.

Model jest taki: jeżeli drużyna A gra przeciw drużynie B, to liczbę goli, które A strzeli B można modelować jako funkcje zależną od różnicy w sile A-B.

Informacje o różnicach w sile można wziąć np. z rankingu FIFA, informacje o liczbie strzelonych goli z wikipedii. Liczba goli jest całkowita więc przyjmujemy, że modelujemy ją rozkładem Poissona z domyślną funkcją łączącą – log.

I tak powstał poniższy wykres. Każdy mecz drużyn A vs B to dwie kropki, jedna opisuje ile goli A strzeliła B a druga kropka ile goli B strzeliła A. Na osi OX jest różnica siły w rankingu FIFA a na OY liczba strzelonych goli. Szara linia przedstawia oczekiwaną liczbę goli w oparciu o regresję Poissona. Zaznaczyłem też trzy punkty – największe outliery. Belgia jest w rankingu FIFA o prawie 400 punktów wyżej niż Włosi, a jednak to Włosi strzelili dwie bramki. Hiszpania strzeliła 3 gole, choć przy jej przewadze spodziewać można było się mniejszej liczby. Niemcy przy swojej przewadze w rankingu FIFA powinni coś strzelić (choć szans na gol więcej mieli Polacy).

Screen Shot 2016-06-20 at 01.02.03

Taki model. Może założenie o rozkładzie Poissona nie jest najlepsze i ranking FIFA nie jest najbardziej odpowiedni, ale przynajmniej łatwo zapamiętać jak działa i jak korzystać z regresji Poissona.

EURO 2016

Screen Shot 2016-06-12 at 22.24.40
Krzysiek Trajkowski podesłał mi link do artykułu ,,Predictive Bookmaker Consensus Model for the UEFA Euro 2016”.

Na podstawie danych z 19 serwisów z zakładami internetowymi autorzy zbudowali jeden zintegrowany model probabilistyczny.

Tabela z danymi z poszczególnych serwisów (tabela 3) dla wszystkich krajów jest tutaj: https://github.com/pbiecek/StatystykaII/blob/master/MIMUW_2016/materialy/euro2016_odds.csv. Wartości z tabeli to fixed odds na zwycięstwo w turnieju. Jeżeli odds dla POL to 51:1, to znaczy, że w przypadku wygranej w turnieju dostajemy 52x zakład (tj jeżeli poprawnie zgadniemy).

Można na takich danych zbudować i klasyfikator, można też zrobić redukcję danych do wizualizacji. W sam raz na jutrzejsze laboratorium ze statystyki 2.

eRum 2016 — last days of call for papers

erum2
Only 6 days left to the end of the call for papers for eRum 2016! Register and submit your talk proposal at www.erum.ue.poznan.pl.

European R users meeting will be a great place to learn and share ideas on R. Moreover, we have already confirmed the following invited talks:

  • Browse Till You Die: Scalable Hierarchical Bayesian Modeling of cookie deletion — Jakub Glinka, GfK Data Lab,
  • Design of Experiments in R — Ulrike Grömping, Beuth University of Applied Sciences Berlin,
  • Genie: A new, fast, and outlier-resistant hierarchical clustering algorithm and its R interface — Marek Gagolewski, Systems Research Institute, Polish Academy of Sciences,
  • Addressing the Gender Gap in the R Project — Heather Turner, University of Warwick,
  • Heteroscedastic Discriminant Analysis and its integration into „mlR” package for uniform machine learning — Katarzyna Stąpor, Institute of Computer Science, Silesian Technical University,
  • How to use R to hack the publicly available data about skills of 2M+ worldwide students? — Przemysław Biecek, University of Warsaw,
  • A survey of tools for Bayesian data analysis in R — Rasmus Bååth, Lund University,
  • Geo-located point data: measurement of agglomeration and concentration — Katarzyna Kopczewska, University of Warsaw.

European R users meeting is an international conference that aims at integrating users of the R language. eRum 2016 will be a good chance to exchange experiences, broaden knowledge on R and collaborate. One can participate in eRum 2016:
(1) with a regular oral presentation,
(2) with a lightning talk,
(3) with a poster presentation,
(4) or attending without presentation nor poster.

Due to space available at the conference venue, organizers set limit of participants at 250 (only 97 left!).

SGT := Statystycza Gra Terenowa


Czas na kolejną zagadkę z serii BetaBit!
Tym razem o poziomie trudności przygotowanym z myślą o gimnazjalistach/licealistach lub osobach rozpoczynających przygodę z odczytywaniem wykresów.

Gra polega na odnalezieniu i rozwiązaniu siedmiu lub większej liczby zagadek statystycznych. Każda zagadka to wykres statyczny lub interaktywny wraz z zadaniem.
Zadania są proste jeżeli dany wykres potrafi się odczytać.

Jak grać?

Po pierwsze, potrzebna jest aplikacja BetaBit na telefony komórkowe. Obecnie aplikacja jest tylko w iTunes, wersja na Androida czeka na swojego dewelopera.

Po drugie potrzebne są zagadki. Aplikacja pozwala na zeskanowanie kodów QR z zagadkami. Kody QR są ukryte na dwóch wydziałach matematycznych. 10 zagadek jest rozmieszczonych w różnych miejscach wydziału MiNI PW (Koszykowa 75, Warszawa), 20 zagadek jest rozmieszczonych w różnych miejscach wydziału MIM UW (Banacha 2, Warszawa).

Szukanie kodów QR nie jest takie trudne, w aplikacji znajduje się lista numerów pokojów, przy których umieszczono kody (patrz poniższy screen shot).

Aplikacja umożliwia też autoryzację za pomocą konta na Facebooku / GooglePlus, po autoryzacji będzie pamietała które zadania odnaleźliśmy a które rozwiązaliśmy. Aplikacja nie pobiera żadnych danych osobowych i nie śledzi żadnej aktywności, jedyne co robi to zapamiętuje czy zadania są dobrze rozwiązane.

Do kiedy można grać?

Gra będzie aktywna do końca czerwca. Później kody poznikają z obu wydziałów. W sumie nie ma gwarancji, że kody nie poznikają wcześniej, więc nie ma co czekać, trzeba wybrać się na polowanie.

Juto o 19 mamy Spotkanie Entuzjastów R, świetna okazja by odwiedzić wydział MiNI i poskanować kilka kodów.

Jakiego rodzaju zagadki są do rozwiązania?

Przykład jednego zadania znajduje się na screenshotach poniżej.

A co czeka zwycięzców?

Dla zwycięzców mam opowiadania ,,Jak dług żyją Muffinki?”. Osoby, które rozwiążą trzy gry z serii BetaBit otrzymają Kubek Bety. Rozwiązanie 7 lub więcej zagadek ze Statystycznej Gry Terenowej liczy się jako jedna gra.

Screen Shot 2016-06-08 at 19.22.57

Powodzenia!