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”.

Wielka Warszawa będzie miała 22 gminy!

Dzisiaj jest 1 kwietnia, więc sami rozumiecie. Pomimo to, wszystkie poniższe obliczenia są oparte o analizy rzeczywistych danych. Wyniki są w pełni repRodukowalne a skrypty R dostępne tutaj.

Wiele się w mediach pisze o projekcie ”Wielka Warszawa”, ale brakuje w tych dyskusjach konkretnych liczb. Jak wielka powinna być ta wielka Warszawa? Oczywiście największa na świecie (t.j. większa niż inne stolice), ale czy jeszcze większa? (nie większa niż Polska, ale o ile mniejsza?) Temu zagadnieniu poświęcony jest ten wpis.

Nie wiadomo po co powiększać stolicę, nie widać poparcia wśród mieszkańców, a wyniki referendum w Legionowie pokazują sprzeciw. Na potrzeby dalszego wpisu przyjmijmy, że chodzi o powiększenie Warszawy aby zoptymalizować obszar na którym poparcie w wyborach samorządowych dla partii PiS będzie największe (moglibyśmy to policzyć też dla dowolnej innej partii, ale obecnie tylko jedna partia ma zakusy by ten obszar zmieniać). Dodatkowo załóżmy, że środek obszaru jest w centrum Warszawy a sam obszar składa się gmin, których środki są w okręgu o promieniu X. Nasz problem redukuje się do zagadnienia: jak znaleźć X.

Ze tej strony pobieram wyniki wyborów samorządowych z roku 2014. Z tego pliku interesuje mnie dla każdej gminy liczba oddanych ważnych głosów oraz liczba głosów oddanych na partię PiS.
Z tej strony pobieram mapę z kształtami i współrzędnymi gmin.
Trochę R-magii i mamy taki wykres.

wtre

Na powyższym wykresie zaznaczyliśmy ile osób głosowało na PiS vs. na inny komitet w zależności od tego jak duży obszar wokół Warszawy rozważamy.

Jeszcze mało widać, unormujmy więc te dwie wartości i zobaczymy jak zmienia się procent osób głosujących na PiS w wyborach samorządowych 2014 w zależności od odległości od centrum Warszawy.

wpromien2

Ciekawe. Ta dziwaczna funkcja ma maksimum i to w całkiem niedużym promieniu. W Warszawie poparcie dla KW PiS jest mniejsze niż w okolicznych gminach. Ale gdy promień znacząco się zwiększy to okazuje się, że to poparcie znów maleje. Różnice nie są duże, rozpiętość tego wykresu to 2 punkty procentowe, ale zawsze coś. Mamy więc optymalny promień, zawierający 21 gmin wokół Warszawy.

Poniżej mapka z zaznaczonymi gminami w ,,optymalnym” okręgu. Procentem zaznaczono procent głosów na KW PiS wśród wszystkich ważnych głosów.

Czy więc tak będzie wyglądała Wielka Warszawa?

wwarszawa2

PS: Procent mandatów zdobytych przez komitety wyborcze jest dla dużych komitetów większy niż procent poparcie liczony na głosach.
PS2: Trzy najbliższe gminy, które się nie załapały to: Wiązowna, Jabłonna i Piaseczno.

Przewodnik po pakiecie R przetłumaczony na Python


Kody R, wykorzystywane w czterech rozdziałach ,,Przewodnika po pakiecie R”, są dostępne jako pliki knitra na tej stronie.

Krzysztof Trajkowski wykonał niesamowitą pracę, wszystkie te kody przetłumaczył na Python!
Można teraz zestawić przykłady z tych samych podrozdziałów Przewodnika i zobaczyć jak daną operacje wykonać w R a jak w Pythonie.
Tłumaczenia przykładów z Przewodnika na Python, również w formie skryptów knitrowych, znajdują się na tej stronie.

Nie są to zwykłe tłumaczenia!
Przykładowo, rozdział 5 ,,Przewodnika po pakiecie R” dotyczy bibliotek lattice, ggplot2 i graphics – trzech podstawowych systemów dla grafiki w R. W tłumaczeniu tego rozdziału, które wykonał Krzysiek, opisywana jest biblioteka seaborn bazująca na matplotlib, w której udało się odtworzyć całkiem wiernie zdecydowaną większość grafik eRowych (jeden z przykładów poniżej).
A niektóre grafiki, muszę przyznać, wyglądają ciekawiej niż oryginały.

PrzewodnikR_python

Krzysiek przygotował też dokument ,,Wprowadzenie do obliczeń w Pythonie”, dostępny jako pdf na tej stronie.

Poland: Into the light

Siedzę sobie na konferencji Contemporary Oncology, słucham keynote’a z Kalifornii (Nicholas Schork) a ten mówi, że niecały miesiąc temu w Nature / Careers (Nature, to prawdopodobnie obok Science najbardziej rozpoznawane naukowe czasopismo), był artykuł o tym jak szybko się rozwija polska nauka (z uwagi na czasopismo głównie chodzi o nauki o życiu).

Artykuł o tytule Poland: Into the light jest w całości dostępny online. Ku pokrzepieniu serc ;-)

DIY – cheat sheets

I found recently, that in addition to a great list of cheatsheets designed by RStudio, one can also download a template for new cheatsheets from RStudio Cheat Sheets webpage.
With this template you can design your own cheatsheet, and submit it to the collection of Contributed Cheatsheets (Garrett Grolemund will help to improve the submission if needed).

Working on a new cheatsheet is pretty enjoying. You need to squeeze selected important stuff into a quite small surface like one or two pages.
Lots of fun.
I did it for eurostat and survminer packages (cheatsheets below).
And would love to see one for caret.

Przecinające się krzywe przeżycia

Spotkałem się ostatnio z ciekawym problemem.
Mamy dwie grupy pacjentów na dwóch różnych schematach leczenia i chcemy porównać ich dalsze losy, a konkretnie krzywe niepowodzenia leczenia (prawdopodobieństwo zgonu/wznowy).
Na pierwszy rzut oka klasyczna analiza przeżycia, test log-rank i po sprawie.

Ale szybko okazuje się, że krzywe przeżycia się przecinają, co więcej oczekiwać można tego po wcześniejszej rozmowie z lekarzem. Jeden schemat leczenia jest bardziej agresywny więc może prowadzić do gorszych rokowań krótkookresowych, ale lepszych w dalszej perspektywie.

Klasyczny test dla krzywych przeżycia oparty jest o odległość pomiędzy krzywymi, mierzoną jest jako ważona suma kwadratów odległości w poszczególnych punktach. Ale gdy krzywe się przecinają to taki test ma niską moc i nie ma sensu go stosować.

A więc co robić?
Ciekawe studium symulacyjne porównujące różne podejścia do testowania przecinających się krzywych zostało opublikowane dwa lata temu w Plos One (!).
Okazuje się, że dobrze sprawdza się rodzina testów Renyi, która jest oparta o supremum ważonych odległości pomiędzy krzywymi przeżycia.
W R te testy są zaimplementowane w pakiecie survMisc w funkcji comp. Jest to znacznie mocniejszy test dla przecinających się krzywych.

A przy okazji, okazuje się, że zmianę w hazardach w rozpatrywanym problemie dobrze ilustrują reszty Schonefelda. Poniższy wykres pokazuje, że hazard w jednej grupie jest znacznie wyższy do 12 miesiąca, a później gorsze losy czekają pacjentów drugiej grupy.

Oba wykresy wykonane pakietem survminer.

Opisy osi usunąłem ponieważ wyniki tych analiz jeszcze nie są opublikowane, ale też nazwy nie mają większego znaczenia.

Mapy statystyczne. Opracowanie i prezentacja danych. GUS

Dzisiaj obchodzimy Dzień Statystyki Polskiej.
I tak się złożyło, że od Macieja Beręsewicza dostałem też link do bardzo ciekawego podręcznika GUS: Mapy statystyczne. Opracowanie i prezentacja danych (więcej informacji tutaj).

Podręcznik to ponad 250 stron podzielonych na 6 głównych rozdziałów. W środku jest wiele ciekawych grafik jak i wiele przykładów poprawnych i niepoprawnych opracowań. Nie trzeba się z każdym przykładem zgadzać, ale warto każdy z nich znać. Dla kartografów to pozycja obowiązkowa ale i statystykom nie zaszkodzi.

PS: Pamiętajcie o dzisiejszych trzecich urodzinach SERa. Siłą R jest jego energiczna i rozbudowana społeczność użytkowników i developerów. Dzisiaj świętujemy.

Sprawozdania krajowe Komisji Europejskiej

Marcin Grynberg zwrócił moją uwagę na niedawno opublikowane sprawozdania krajowe Komisji Europejskiej poświęcone (między innymi) sytuacji ekonomicznej krajów członkowskich. Sprawozdanie poświęcone Polsce jest dostępne tutaj.
Nieduże (niecałe 50 stron plus załączniki) ale konkretne i ciekawe.
Przykładowo, można w nim znaleźć informacje dotyczące konsekwencji reformy emerytalnej i jej wpływu na wysokość emerytury (polecam wykres 3.3.2) czy prognozy co do wysokości długu publicznego (polecam wykres 3.1.2).
Poniżej odniosę się do trzech innych wątków poruszanych w tym sprawozdaniu. Tematów związanych z nauką, badaniami i edukacją.


Po prawej wykres prezentujący wydatki publiczne na R&D (czy z polska BiR) zestawione z ilością wysoko cytowanych publikacji. Pozycja Polski w tym zestawieniu jest zaznaczona czerwoną kropką.
Komentarz nie jest chyba potrzebny, ograniczę się jedynie do cytatu ze sprawozdania: ‘Niewielki stopień komercjalizacji wyników badań naukowych oraz słabe powiązania między sektorem nauki i sektorem biznesu ograniczają zdolność innowacyjną gospodarki.’





Kolejny wykres, który zwrócił moją uwagę dotyczy liczby uczniów rozpoczynających naukę w 1 klasie szkoły średniej (wykres po lewej).
W 2019 roku ma to być ponad 350 tys. uczniów a w 2024 roku poniżej 100 tys uczniów.
Ponad 4x mniej.
Później te fale uderzą o wrota uczelni wyższych.
Konsekwencja szybkich reform poprzedniego rządu (między innymi dwa lata na przejście z wiekiem rozpoczęcia szkoły podstawowej na 6 lat) i galopujących reform obecnego (1 rok na przejście ze startem podstawówki na 7 lat).
Cytat z raportu: Reforma systemu szkolnictwa od września 2017 r. budzi szereg obaw wśród zainteresowanych podmiotów.


Niektóre wskaźniki wglądają dobrze. Bezrobocie nadal spada, płace średnie (powoli) rosną.
Cytat: Przewiduje się, że spodziewane niekorzystne zmiany na rynku pracy spowodują szybszy wzrost płac i potencjalnie niedobór pracowników.
Cytat: Po kilku latach silnego wzrostu dochodów nierówności zmniejszyły się i ich poziom jest obecnie niższy od średniej unijnej.




Uważam, że jednym z największych wyzwań jest demografia. Więc i to zestawienie wykresów kończę rysunkiem związanym z prognozami demograficznymi. Zgodnie z prognozą zakładającą zerową migrację w ciągu 35 lat liczba osób w wieku produkcyjnym zmniejszy się o 19%. A czy produktywność i innowacyjność przyszłych pracowników zwiększy się wystarczająco by zrekompensować mniejsza liczbę rąk do pracy?



Całe sprawozdanie można pobrać i w języku angielskim i polskim.

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!