Jakich metod statystycznej analizy danych uczyć się?


The New England Journal of Medicine (dla bibliometroholików: 50 pkt MNiSW, impact factor ponad 50, pierwsza liga) opublikował dwa tygodnie temu krótki, ale bardzo ciekawy komentarz Statistical Methods. Przebadano 238 prac z roku 2015 pod kątem używanych technik statystycznych oraz zestawiono te wyniki z artykułami z poprzednich lat (od 1978, łącznie ~1000 artykułów).

Całość streszcza wykres po prawej (to link do oryginalnego artykułu). W dobrych czasopismach medycznych wykorzystywane są coraz bardziej zaawansowane metody statystyczne. Metody nieparametryczne i regresja wielokrotna w ponad 1/3 prac. Analiza przeżycia i analiza mocy testów, każde w ponad połowie artykułów (bardzo duży wzrost w ostatnich latach). Wielokrotne testowanie w co piątym artykule. Tylko co dwudziesty artykuł nie ma ,,statystyki”.

Z pamiętnika nauczyciela akademickiego: Turkusowa Edukacja

Zaczyna się nowy semestr a z nim idą nowe pomysły na zmiany związane z dydaktyką. Co planujecie zmienić w swoich zajęciach? Dla mnie kolorem na semestr letni jest turkus.

Ale o co chodzi?

Chodzi oczywiście o nawiązanie do turkusowych organizacji. W Polsce twarzą turkusowej samoorganizacji jest prof. Andrzej Blikle. Pisze na ten temat blogi, książki (Doktryna Jakości, dostępna też jako bezpłatny pdf) czy prowadzi warsztaty (90 min w mp4).

W olbrzymim skrócie, w turkusowych organizacjach ważne jest zaangażowanie wszystkich uczestników organizacji we wspólne działanie, poczucie (faktyczne) sprawczości, podmiotowość w relacjach oraz rozwój własny członków organizacji, który przekłada się na rozwój organizacji.

Takie podejście do wspólnego działania powoduje, że uczestnicy organizacji mogą zaspokoić wyższe potrzeby, np. potrzebę poczucia dumy z siebie i swoich działań. Oczywiście można zapytać się czy taka utopia ma prawo funkcjonować, po przykłady i dyskusje odsyłam do powyższych pozycji lub do tego krótkiego wywiadu.

Jak to się ma do edukacji?

Gdyby szukać różnic pomiędzy organizacją a studiami na uczelni wyższej, to różnic można znaleźć wiele. Organizacje buduje się by rosła i trwała latami, a studia z perspektywy studenta mają określony zakres czasowy; przyjęcie do organizacji poprzedzone jest rekrutacją nad którą mamy dużą kontrolę, a na zajęcia przychodzą różne osoby, czasem przypadkowe.

Ale można też się skupić na podobieństwach. Zarówno w organizacjach jak i na zajęciach uczestnicy liczą na własny rozwój; tak w organizacjach jak i na uczelni większa efektywność jest możliwa przy współpracy i zaufaniu. Podobieństw można szukać dalej, dają one nadzieję, że pewne zasady dotyczące turkusowych organizacji można przenieść do klasy.

Nie jest to proste. Typowy schemat prowadzenia zajęć związany jest z najczęstszym pytaniem studentów na pierwszych zajęciach, czyli: jakie są zasady oceniania i czy obecność jest obowiązkowa. A jak przeczytamy tutaj, czwartym punktem dekalogu turkusowych organizacji jest nie oceniaj, bo to niszczy – doceniaj, bo to wzmacnia.
Czy można nie oceniać? Co prawda mógłbym studentom powiedzieć na początku semestru ‘pracujcie a będzie dobrze’, ale Polska Komisja Akredytacyjna ocenia (oceniając kierunek) też jasność kryteriów oceniania przedmiotów opisanych w karcie przedmiotu, zupełnej samowoli tutaj nie ma.

Czy trzeba oceniać by wystawić ocenę?

Wątków związanych z turkusem jest wiele, poniżej rozwinę ten związany z ocenianiem.

Kiedyś próbowałem w ocenianie wciągnąć samych studentów dając im część punktów do rozdzielenia. Ale to był bardzo zły pomysł. Ocenianie kolegi/koleżanki nadwyręża społeczne więzy pomiędzy studentami, które dla wielu z nich są ważniejsze niż sama ocena (nic dziwnego).

Inne podejście polegało na uzupełnianiu oceny za projekt szerszą informacją dotyczącą wad i zalet oraz kierunków poprawy zgłoszonego rozwiązania. Bogu świeczka (=studentom feedback), diabłu ogarek (ocena oparta na punktach dla PAKA)? Niestety odnoszę wrażenie, że jeżeli feedback stoi obok oceny punktowej, to i tak dla większości studentów liczy się ocena punktowa a nie proza i szkoda godzin spędzonych nad redakcją tych opisów. Feedback jest użyteczny, ale jego odbiór bywa zdominowany przez punkty.

Jeszcze inna próba dotyczyła oceniania zespołu jako całości, a nie studentów indywidualnie. To podejście bardziej wspiera współpracę w zespole, ale wciąż mamy ocenianie tyle, że dwóch-trzech osób zamiast jednej.

A więc jak będzie wyglądała ocena bez oceniania tego lata?

Prowadzę zajęcia projektowe. Główny pomysł polega na tym, by wybrać projekty, które chciałbym by zostały zrealizowane, z których mógłbym się czegoś ciekawego nowego dowiedzieć.
Projekty podzielone będą na zadania, tak by uzyskanie oceny X było związane z wykonaniem konkretnego zdefiniowanego zadania.
Zadania, którego wykonanie będzie wymagało określonej wiedzy i umiejętności a z drugiej strony, zadania którego wykonanie będą mogli zweryfikować sami studenci. Nie będzie więc elementu zaskoczenia ‘ocenił mnie lepiej/gorzej niż się spodziewałem’, ale będzie wiadomo co trzeba wykonać na ocenę X. Aby uzyskać ocenę X+1 trzeba zrobić wszystkie zadania na ocenę X i dodatkowo to na ocenę X+1.
Przy odpowiednim zdefiniowaniu zadań, ocena jest (prawie automatyczną) konsekwencją aktywności studenta, a prowadzący zamienia się w potencjalnego współpracownika, który może doradzić co opanować by dane zadanie rozwiązać. Co więcej, który sam jest zainteresowany poznaniem odpowiedzi.

Jak się sprawdzi to podejście? Zobaczymy w czerwcu.
Jeżeli macie ciekawe pomysły/propozycje, chętnie usłyszę.

histoRia R w Polsce @ tRzecie uRodziny SERa

histoRia
Najbliższe Spotkanie Entuzjastów R (9 marca 2017) będzie wyjątkowe. Świętujemy trzecie urodziny SERów i z tej okazji będzie kilka niespodzianek. Zamiast pizzy będą bąbelki i coś słodkiego, zamiast przerwy zrobimy sesje tematycznych okrągłych stolików aby spokojnie porozmawiać z innymi entuzjastami R, a zamiast referatu o tym co aktualnie dzieje się w R będzie referat o przeszłości, o tym jak wyglądały początki R w Polsce.

Mam poprowadzić ten referat, ale przecież nie znam całej historii R.
Mam więc wielką prośbę do Was!
Pomóżcie mi uzupełnić informacje o tym jak wyglądały początki R w Polsce. Kiedy jakie przedmioty pojawiły się na których uczelniach, kiedy w firmach pojawiły się duże i ciekawe rozwiązania/wdrożenia oparte o R, kiedy miały miejsca ciekawe spotkania związane z R. Kiedy działy się ciekawe rzeczy związane z R, co to były za rzeczy i kto je organizował.

Założyłem na GitHubie stronę do której można dodawać interesujące ciekawostki związane z historią R (https://github.com/mi2-warsaw/SER/blob/master/histoRia/README.md).
Jeżeli wiecie o aktywności, która powinna się w tym zestawieniu znaleźć, proszę dopiszcie, albo przez nowe issue, albo nowy pull request albo przez wysłanie mi emaila na adres przemyslaw.biecek na serwerze gmail.
Mogą to być wydarzenia z już wymienionych typów a mogą to być całkowicie nowe rzeczy.

Dziękuję i do zobaczenia na SERze!

Hans Rosling 27 VII 1948 – 7 II 2017

Screen Shot 2017-02-07 at 23.48.29

Dzisiaj umarł Hans Rosling, ikona wizualizacji danych, założyciel fundacji Gapminder i prawdopodobnie najbardziej rozpoznawalny i wpływowy statystyk XXI wieku (jeden ze 100 najbardziej wpływowych ludzi świata według Times 2012).

Znany między innymi dzięki swoim wystąpieniom na TED i TEDx. Najbardziej znane wystąpienia można zobaczyć tutaj.

Z pamiętnika nauczyciela akademickiego: Kaggle in Class


W tym semestrze na przedmiocie Statystyka II wykorzystywałem Kaggle in Class. Co to jest i co z tego wyszło? O tym poniżej.

Kaggle (https://www.kaggle.com/) to platforma hostowania konkursów opartych o dane. Firma, instytucja badawcza lub inny zainteresowany ogłasza na tej platformie konkurs, polegający zazwyczaj na wykonaniu predykcji w oparciu o jakieś dane. Wykryć raka na bazie rezonansu, przewidzieć zapotrzebowanie na prąd w szkole na podstawie historii, przewidzieć zajętość łóżek szpitalnych? To typowe problemy z tej platformy. Zgłaszający określa nagrodę, termin zakończenia konkursu, kryterium oceny zgłoszeń itp. Tematy konkursów są bardzo różne, dane są różnych kształtów, struktur i wielkości.

Kaggle in Class (https://inclass.kaggle.com/) to część platformy Kaggle, przygotowana do wykorzystania w ramach zajęć. Pozwala na tworzenie własnych konkursów wykorzystując istniejącą infrastrukturę do zgłaszania rozwiązań, oceny automatycznej, dzielenia rankingów na publiczny i prywatny itp. Trzeba wskazać zbiór danych, dokładnie opisać zadanie do wykonania, określić format przesyłania odpowiedzi, dokładnie opisać kryterium oceny rozwiązania. Rejestracja nowego zadania jak i przesyłanie odpowiedzi jest bezpłatne. Kaggle in Class jest bezpłatna i dla prowadzącego i dla studentów.

Statystyka II to kurs, na którym przez pół semestru omawiamy klasyczne techniki predykcji, takie jak bagging, boosting, stacking, lasy losowe, regresja itp. Akurat do ćwiczenia algorytmów predykcyjnych Kaggle pasowało bardzo.

Kilka luźnych wrażeń dotyczących użycia tej platformy.

* Korzystanie z Kaggle pozwala studentom na uzyskanie praktycznie natychmiast oceny zgłoszonego rozwiązania. Natychmiastowy feedback to bardzo przydatna rzecz, studenci nie muszą czekać aż ja ocenię zadanie, (prawie) natychmiast widzą jakie są wyniki, przez co nie tracą ,,momentum” w pracy nad modelem.

* Korzystanie z Kaggle In Class ma tę przewagę nad zwykłymi konkursami Kaggle, że prowadzący może całkowicie dowolnie dobrać sobie problem (omawiam predykcje wieloetykietową to wstawiam dane do predykcji wieloetykietowej), dobrać termin oddania projektu, określić maksymalną liczbą zgłoszeń dziennie itp.

* Kolejną zaletą Kaggle in Class nad Kaggle jest to, że prowadzący zna dane które są modelowane, jeżeli je symulował to zna prawdziwy model, jeżeli to prawdziwe dane z którymi wcześniej pracował to też dużo o nich wie. Dzięki temu w końcowej ocenie może ocenić zarówno podejście do modelowania jak i wybrany model a nie tylko wyznaczone predykcje.

* Kaggle umożliwia ustalenie maksymalnej liczby rozwiązań zgłoszonych dziennie. Ustawienie takiego ograniczenia na dwa dziennie premiuje zespoły, które do problemu podejdą wcześnie. Zgłaszanie rozwiązania ostatniego dnia to ryzyko, że dwa oddane strzały będą daleko od dobrych predykcji. Atakując problem odpowiednio wcześniej mamy większe pole manewru.

* Przygotowanie własnego konkursu niesie ze sobą też ryzyka. Jedno jest takie, że studentom uda się wygenerować idealną predykcję. Mnie to się nawet zdarzyło. Na rzeczywistych (!!!) danych w problemie binarnej klasyfikacji udało się po kilku dniach uzyskać skuteczność 100%. Z punktu widzenia predykcji to świetnie, ale aspekt dydaktyczny leży. Mamy rozwiązanie i już nikt nie opracuje lepszego, my też nie mamy czego poprawiać. Tak więc moje doświadczenie jest takie, że lepiej zamiast rzeczywistych danych wygenerować sztuczne dane o strukturze zgodnej z rzeczywistą, ale kontrolowanym zakłóceniem (np. zachować X, ale wygenerować y na bazie jakiegoś modelu). Jak to możliwe, że ktoś otrzymał 100% skuteczności na zbiorze testowym?

* Wyznaczenie jednego konkretnego współczynnika do optymalizacji bardzo zwiększa zaangażowanie studentów w realizacje projektu. Zamienia projekt w grę na optymalizację. Niektóre zespoły zgłaszały po 20 rozwiązań próbując poprawić nawet naprawdę dobre rozwiązania. To oczywiście miecz obosieczny, ponieważ w rzeczywistości określenie miary do optymalizacji to często zadanie samo w sobie, ale z punktu widzenia zaangażowania to przydatna cecha.

* Ocena nie może być oparta całkowicie o wyniki z Kaggle (jeżeli jest dużo dobrych rozwiązań, to to które jest najlepsze, zależy czasem od przypadku) a z drugiej strony jakoś z tymi wynikami musi być związana (inaczej po co się starać). W przypadku moich zajęć wyniki z Kaggla to była 1/3 punktów z jednego projektu, wydaje mi się to dobrą proporcją.

* Teoretycznie Kaggle In Class jest bezpłatne, ale nie ma się ludzkiego supportu gdyby coś poszło nie tak. W praktyce, gdy takiej pomocy potrzebowałem (musiałem anulować rozwiązania i podmienić dane gdy okazało się że można mieć 100% skuteczność), napisałem maila i człowiek (albo naprawdę sprytne AI) szybko odpisał poprawiając to co trzeba by wszystko działało.

1024 bity (i Bety)

c20

Miesiąc temu pisałem o akcji prowadzenia warsztatów ,,Jak zważyć psa linijką”.
Dzięki grantowi mPotęga planowaliśmy dotrzeć z warsztatami statystycznymi do 5 klas z różnych szkół.
Zainteresowanie okazało się jednak znacznie większe!
Do dziś udało się dotrzeć z warsztatami do ponad 30 nauczycieli i ponad 1000 (słownie: tysiąca!) dzieciaków.

Statystyka i programowanie w podstawówce? Za moich czasów tego nie było!

Czytaj dalej 1024 bity (i Bety)

MIMUW vs SuperFarmer

screen-shot-2017-01-04-at-23-02-08
W 1997 roku DeepBlue (IBM) wygrał z mistrzem szachowym Garri Kasparowem.
W 2011 roku Watson (IBM) wygrał w Jeopardy! z dwoma mistrzami Bradem Rutterem i Kenem Jenningsem.
W 2016 roku AlphaGo (Google) wygrał w go z jednym z najlepszych graczy Lee Sedolem.
A w tym semestrze, pod przykrywką zajęć z programowania w R i wizualizacji danych, studenci z MIM UW walczą z grą SuperFarmer. Szukamy strategii wygrywającej (w jakimś sensie).

SuperFarmer to gra wydana przez Granna na bazie gry Hodowla Zwierzątek, którą opracował matematyk, Karol Borsuk, profesor Uniwersytetu Warszawskiego. Zasady są dosyć proste, przez co można grać nawet z małymi dziećmi. Gra jest bardzo dynamiczna i przyjemna nawet dla wytrawnych / starszych graczy.

Póki co, najlepsza znaleziona przez studentów strategia ma medianowy czas gry 34 kroki (tj. w grze jednoosobowej dla najlepszej strategii, połowa gier kończy się zwycięstwem przed 34 krokiem).

rozkladliczbyruchow

Czytaj dalej MIMUW vs SuperFarmer

Konkurs na najgorszy wykres 2016 roku

Zbliża się nasz konkurs na najgorszy wykres tego roku. Kandydaci z poprzednich lat dowodzą, że nie jest prosto zdobyć ten tytuł (edycja 2015, edycja 2014, edycja 2013, edycja 2012).

Zasada konkursu jest prosta. Raz dziennie, do końca roku, można wskazać swoje typy za pomocą ankiety umieszczonej na końcu tego wpisu. Po nowym roku zobaczymy, który wykres otrzymał najwięcej głosów. To on otrzyma tytuł ,,Zniekształcenie roku 2016”, a więc grafikę najbardziej zniekształcającą prezentowane dane. Aby ułatwić głosowanie, każdy kandydat ma skrótową nazwę ,,wpadającą w ucho” nazwę.

Tym razem nominowanych grafik było kilkadziesiąt. Część otrzymałem na maila, część trafiła do mnie przez tag @smarterpoland na Facebooku lub Twitterze. Aby uprościć głosowanie, wybrałem 13 grafik w czterech grupach: ,,Ach te słupki”, ,,Co tam panie w polityce”, ,,Pole minowe” i ,,Niefortunne koło”.

Niech zwycięży najlepszy!

Czytaj dalej Konkurs na najgorszy wykres 2016 roku

Równanie Choinki

bokeh_plot-1

Bibliotek i narzędzi do tworzenia interaktywnych wykresów jest cała masa. Poczynając od tych pozwalających przy odrobienie wysiłku na wyrenderowanie praktycznie każdego możliwego wykresu (D3.js), po te generujące wykresy błyskawicznie, ale ograniczone do kilku szablonów (np. NVD3). Aby przetestować elastyczność różnych narzędzi, na ostatnich zajęciach z Technik Wizualizacji Danych wykonaliśmy test choinki – w bibliotece XYZ przygotuj interaktywną choinkę.

Poniższą przygotowali Jan Dyszyński i Maksymilian Mazur z użyciem biblioteki RBokeh (a dokładniej R-owego portu do Bokeh). Kod jest tutaj, przykład poniżej, przy odrobienie zoomu można odczytać równanie tej choinki.



screen-shot-2016-12-24-at-17-30-44

Po lewej i pod tym linkiem jest choinka, której autorem jest Piotr Smuda (najedźcie myszką aby sprawdzić jakie prezenty są pod choinką).

screen-shot-2016-12-23-at-15-03-41

Tutaj jest choinka w googleVis wykonana przez panią Małgorzatę Sobczak.

Kolejna choinka jest w ggiraph. Autorką jest Dorota Łępicka a kod jest tutaj.

screen-shot-2016-12-29-at-20-16-18

Muffinki pod choinkę (2.0)!

6014_2
Pierwszy nakład Muffinek rozszedł się błyskawicznie i od ponad tygodnia nie było ich w księgarniach, ale dzięki sprawnej pracy drukarni uzupełniliśmy nakład.

Jak długo żyją Muffinki od wczoraj (ponownie) u dystrybutora, a od dzisiaj w księgarniach. Czas realizacji jest taki, że jeszcze powinny dojść pod choinkę, więc gdyby ktoś był zainteresowany to zachęcam.

Opowiadanie ,,JAK SZYBKO UROSNĘ?” zostało w grudniu opublikowane w Małej Delcie i Delcie. Do pobrania jako html i pdf. Swoją drogą, więcej miałem z tego frajdy niż z publikacji w JSS, Delta rulez!