Hakaton 'Puls miasta’ @ WhyR 2017

WhyR to Ogólnopolska Konferencja Użytkowników R, która odbędzie się 27-29 września 2017 na Politechnice Warszawskiej (więcej o WhyR). Dzień przed konferencją (26 września) planujemy przeprowadzić bardzo ciekawy hakaton z wykorzystaniem naprawdę dużych miejskich danych.

Jakich danych?
Hakaton realizowany jest w ramach projektu VaVeL (więcej o VaVeL) w którym partnerem jest Ośrodek Badań dla Biznesu PW (więcej o OBB), dzięki czemu będziemy mieli dostęp do danych z najróżniejszych sensorów w Warszawie. Jakich sensorów? Przykładowo dane o położeniu każdego tramwaju i autobusu w praktycznie każdej chwili (live + spora historia), dane o natężeniu ruchu pieszego w różnych punktach miasta, z publicznych kanałów informacyjnych i z wielu innych źródeł (rysunek po prawej to ślad z jednego dnia po sensorach z tramwaju 22). Masa danych. Mikołaj w tym roku przychodzi we wrześniu.

Jak to ogarnąć?
W ramach warsztatów poprowadzimy bezpłatne mini-wykłady z technologii BigData-owych, takich jak Hadoop czy Hive, dzięki czemu uczestnicy będą mogli i będą wiedzieć jak dostać się do tych gigantycznych zasobów. Ale nawet jeżeli ktoś nie przepada za żółtymi słoniami będzie mógł pracować na przetworzonych skrawkach danych lub też będzie mógł wesprzeć zespół od strony wizualizacji, burzy mózgów, tworzenia aplikacji mobilnych czy innych aplikacji.

Co będziemy robić?
Zbieramy różne pomysły na hackaton, ale liczymy też na burzę mózgów podczas samego wydarzenia. Analiza danych oceniających zatłoczenie przystanków na Mordorze? Aplikacja informująca ile się średnio spóźnia linia 10 w okolicach godziny 16? Wizualizacja transferu mieszkańców w różnych godzinach. Zobaczymy co z tego wyjdzie.

Jak się zarejestrować?
Więcej informacji o rejestracji pojawi się po feriach zimowych. Z pewnością warto śledzić stronę konferencji WhyR.

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

RBioMeSs + Show me Shiny, czyli ostatnie dwa SERy w 2016


Jutro (czwartek 24 listopada) o 18 w budynku MiNI PW (Koszykowa 75, Warszawa) rozpocznie się XXI Spotkanie Entuzjastów R. Tym razem poświęcony zastosowaniom R, statystyki i informatyki do analizy danych genetycznych i medycznych.

Pierwszym prelegentem będzie Dariusz Ratman z Roche. Tytuł jego prezentacji to: Automating gene expression analysis and visualisation with R/Bioconductor: bringing genomics results to scientists

Drugą prezentację poprowadzą Alicja Szabelska-Beręsewicz, i Joanna Zyprych-Walczak.
Temat: Dyskusja biologa ze statystykiem w towarzystwie R – czyli jak znaleźć przydatne informacje w bezmiarze danych biologicznych.

Czytaj dalej RBioMeSs + Show me Shiny, czyli ostatnie dwa SERy w 2016

Etyka statystyka

Zakończyłem właśnie lekturę książki Bad Pharma (przetłumaczona na j. polski jako ,,Złe leki’’, autor: Ben Goldacre), która na wielu przykładach pokazuje wady systemu wokół badań klinicznych i ,,evidence based medicine’’. Ben popełnił wcześniej inną książkę wartą przeczytania – Bad Science, prowadzi bloga (tutaj), można też obejrzeć jego 15 minutowe wystąpienie na TED Global (niezłe ma tempo mówienia).

Lektura zostawiła mnie z taką refleksją. Czy na kierunkach kształcących statystyków w Polsce mówi się o etycznych aspektach pracy statystyka? Jeżeli znacie taki kierunek to dajcie znać.

O etyce w analizie danych czasem pisze Andrew Gelman (prowadzi blog http://andrewgelman.com/). Tutaj jest jego ciekawa prezentacja dot. etyki a tutaj artykuł.

Sprawa etyki dla praktykujących statystyków jest oczywiście dyskutowana szerzej. W kwietniu tego roku ASA (American Statistical Association) opublikowała zbiór zaleceń (dostępne tutaj i tutaj).

Niektóre punkty to odpowiednia staranność, transparentność danych i wykonanych analiz. Ale też przewidywanie efektów, które mogą mieć publikowane treści i branie za nie odpowiedzialności.

Z polskojęzycznych materiałów trafiłem na zalecenia GUSu (Podstawowe standardy jakości statystyki publicznej, siłą rzeczy skupione bardziej na statystyce publicznej). Google podrzucił mi też publikację Bohdana Wyżnikiewicza Statystyka a etyka Statistics and Ethics – CEJSH, na ostatniwj stronie jest kilka ciekawych przykładów (Skutki nieetycznych i quasi-nieetycznych działań na danych statystycznych).

Statystyk na wakacjach

Miejsce: Park rozrywki w Szklarskiej Porębie, kolejka do kina 6D.
Aktorzy: [S]taystyk na wakacjach i [B]ileterka.
Czas: 14:55, na 5 minut przed seansem w ww. kinie. Seanse odbywają się co 30 minut. Przed wejściem ustawia się kolejka. 10 minut przed seansem osoby z kolejki zaczynają wchodzić do kina. Wchodzi pierwsze 25 osób.

– Na ten seans już nie ma miejsc, proszę przyjść na kolejny o 15:30 – informuje Bileterka.
– A ile minut przed seansem powinienem przyjść by były jeszcze miejsca? – grzecznie pyta Statystyk.
– 5 minut przed seansem, tak jak jest napisane w regulaminie – Bileterka wskazuje palcem regulamin.
– Ale teraz jestem 5 minut przed seansem i już nie ma miejsc – zauważa Statytyk. – Więc ile minut wcześniej powinienem przyjść aby były jeszcze miejsca? – docieka.
– To zależy od tego ile osób przyjdzie. Musi być Pan najpóźniej 5 minut przed seansem. – powtarza Bileterka zniecierpliwionym głosem.
– A ile minut przed seansem się zazwyczaj kończą bilety? – dopytuje Statystyk.

Mniej więcej tutaj dla mojej interlokutorki staje się jasne, że trafił się jej wyjątkowo dociekliwy/upierdliwy (strony mogą różnie określać tę cechę) osobnik. Jej odpowiedź jest już bardziej stanowcza.

– Różnie się kończą. To zależy ile osób przyjdzie na kolejny seans. A tego nikt nie wie – rozmówczyni niesłusznie zakłada, że odstraszy mnie brak precyzyjnych szacunków.

W tym miejscu przerwę relacjonowanie naszej rozmowy. Na kolejny seans przyszedłem 10 minut przed czasem i wszedłem mniej więcej w połowie kolejki.

Ale historia dopiero tutaj się zaczyna.

Przez kolejne dwie godziny moje szkraby szalały na dmuchańcach obok kina. Miałem trochę czasu by poobserwować kolejkę do kina, zebrać trochę danych i zastanowić się, jak sam bym odpowiedział na pytanie, które zadałem Bileterce.

Zagadnienie:

Oszacować ile minut przed seansem należy przyjść aby mieć 90% pewności, że wystarczy dla nas miejsc w kinie.

Dane:

Dla 4 seansów (dwie godziny obserwacji) mamy informację ile osób (najczęściej przychodzą całe rodziny) i ile minut przed seansem dołączyło do kolejki.

Model 1:

Rozwiązanie brutalne, praktycznie bez modelowania.
Dla każdego seansu liczymy ile minut przed seansem przyszła ostatnia osoba, która zmieściła się na sali. Dla naszych seansów było to odpowiednio 8,9,7,8 minut.

Rozwiązanie proste o uroku cepa. Bez modelu parametrycznego z czterech liczb trudno wyznaczyć 90% kwantyl. (Ok, można jeżeli jest się ultrasem bootstrapowcem).

Szukamy więc czegoś parametrycznego.

Model 2:

Zakładamy, że liczba osób dochodzących do kolejki opisana jest jednorodnym procesem Poissona.
Oznacza to, że zakładamy, że w pewnym okresie czasu, np. -15 do -5 minut przed seansem, chętni przychodzą pojedynczo ze stałą intensywnością (=nie w stałych odstępach czasu ale ze stałem prawdopodobieństwem pojawienia się).
Więcej o procesie Poissona np. tutaj.

I co dalej? Szacujemy intensywność przychodzenia osób (w tym modelu to średnia) i liczymy czas oczekiwania na przekroczenie przez proces Poissona bariery 22 osób (jeszcze my się musimy zmieścić).

Piękny parametryczny model.
Drażniące są tylko te nierealne założenia.
Może da się je osłabić.

Model 3:

Zakładamy, że liczba osób dochodzących do kolejki opisana jest złożonym procesem Poissona.
Złożony proces Poissona to połączenie zwykłego procesu Poissona (opisuje momenty, w których do kolejki dochodzi rodzina) oraz skoków o różnej wielkości (wielkość skoku to liczba osób w rodzinie, które dołączyły do kolejki, z obserwacji od 1 do 5, najczęściej 2-3). Jest to rozszerzenie modelu 2, w którym uwzględniamy to, że do kolejki na raz dołączyć może kilka osób.
Więcej o złożonym procesie Poissona np. tutaj.

I co dalej? Osobno szacujemy intensywność pojawiania się rodzin (podobnie model z jednym parametrem szacowanym średnią), osobno szacujemy rozkład wielkości rodziny. Mając te składowe, wyznaczamy (np. symulacyjnie) rozkład czasu przekroczenia bariery 22 osób.

Model coraz piękniejszy, wymaga estymacji parametrów dwóch rozkładów (czasu przyjścia i wielkości rodziny). Drażni jedynie to założenie o stałej intensywności pojawiania się rodzin na odcinku -15 min do -5 min przed seansem.

Model 4:

Wykorzystajmy złożony niejednorodny proces Poissona. Czyli to co powyżej, ale tym razem intensywność pojawiania się rodzin jest nieujemną funkcją na odcinku -30 min do -5 min. Na początku raczej bliska zera (kto ustawia się w kolejce na 20 minut przed seansem gdy nikt inny w kolejce nie stoi?) a później szybko skacząca w czasie -15 min do -5 min przed seansem (nauczeni doświadczeniem wiedzą, że warto zjawić się wcześniej).
To już jest TEN model. W zmiennej intensywności możemy nawet uwzględnić porę dnia, liczbę osób przebywających w parku rozrywki i kilka innych parametrów. Samą intensywność można szacować np. estymatorem jądrowym.

Jedynym problemem okazało się to, że o 18 zamykali park i nie dało się zebrać więcej danych.

Więcej o niejednorodnym procesie Poissona można przeczytać tutaj.

Inne pomysły na modele?

[*] Ilustracja pochodzi z opowiadania ,,Jak długo żyją Muffinki”.

Drugie wydanie Esejów oraz kilka doświadczeń z procesu wydawania książki

Okladka-724x1024

Dwa dni temu odebrałem z drukarni drugie, rozszerzone o ponad 30 stron, wydanie Zbioru esejów o sztuce prezentowania danych. Od wczoraj jest ono dostępne w księgarni Politechniki Warszawskiej (gmach główny), a niedługo powinno być dostępne w szerszej dystrybucji. Z tej okazji chciałbym podzielić się kilkoma doświadczeniami z pisania i samodzielnego wydawania książki. Może komuś się do czegoś przydadzą.


Czytaj dalej Drugie wydanie Esejów oraz kilka doświadczeń z procesu wydawania książki

Międzynarodowe Standardy Komunikacji Biznesowej – The International Business Communication Standards

Screen Shot 2016-01-05 at 02.31.49
TL;DR
1. Konsorcjum IBCS-A pracuje nad zbiorem standardów The International Business Communication Standards
2. Standardy są otwarte i dostępne na licencji CC na stronie http://www.ibcs-a.org/standards
3. Świetny zbiór konkretnych wskazówek do stosowania w komunikacji biznesowej i nie tylko.

Czytaj dalej Międzynarodowe Standardy Komunikacji Biznesowej – The International Business Communication Standards

Wykresy, Lenin a sprawa polska

thumb_IMG_0530_1024
dr Julian Daszkowski zauważył, że w Esejach o sztuce przedstawiania danych brakuje polskich akcentów. I podsunął mi książkę Ł. Byzowa ,,Graficzne metody w statystyce planowaniu i ewidencji”. To prawdopodobnie pierwsza książka poświęcona prezentacji danych w języku polskim. Oryginał w języku rosyjskim powstał w 1940 roku (!!!), na język polski została przetłumaczona w roku 1951. Dosyć trudno dostać jej egzemplarz, ale na szczęście jeden jest w bibliotece MIM UW (jedyny na UW).

Książka jest genialna. Rozpoczyna ją przedmowa redaktora na temat tego, czy po 11 latach od oryginalnej publikacji, w roku 1951 książka wciąż jest aktualna. A jak się zaraz okaże, duże części są aktualne nawet dziś po 76 latach. W kwestii perspektywy, rok 1940 to dwa lata przed urodzeniem się Edwarda Tufte i 37 lat przed tym jak John Tukey napisał Exploratory Data Analysis. Ok, co wiec znajdziemy w tej nadgryzionej czasem książce?

Czytaj dalej Wykresy, Lenin a sprawa polska

[R + finanse]: Co to są stopy zwrotu i jak testować ich normalność? (2)

Kontynuujemy serię gościnnych wpisów na temat ,,R i finanse”. W tym wpisie zajmiemy się podstawowymi metodami przetwarzania danych finansowych. W szczególności pokażemy jak, mając dane ceny zamknięcia, konstruować proste i logarytmiczne stopy zwrotu oraz jak testować ich normalność.

Marcin Pitera

Używając funkcji yahooSeries, wczytajmy dane dzienne dla AAPLE (Apple), MSFT (Microsoft) oraz CSCO (Cisco) w okresie od 01.01.2014 do 31.12.2014 (o tym, jak wczytywać takie dane pisaliśmy w poprzednim wpisie). Dla uproszczenia, zamiast rozważać całe dane OHLC, zajmiemy się tylko dopasowanymi cenami zamknięcia. Aby wybrać odpowiednie kolumny (w końcu wczytaliśmy dane w formacie OHLC), najłatwiej użyć standardowej funkcji grepl do wyrażeń regularnych.

Czytaj dalej [R + finanse]: Co to są stopy zwrotu i jak testować ich normalność? (2)

[R + finanse]: Jak wczytywać i prezentować dane giełdowe? (1)

Dziś na blogu gościnny wpis przygotowany przez Marcina Piterę. Jest to mam nadzieję, że pierwszy z serii wpisów opisujących przystępnie interesujące zagadnienia związane z analizą danych. W tym przypadku finansowych.

Marcin Pitera

Cześć! W najbliższym czasie przedstawię wam serię wpisów, które pokażą, jak używać R w w kontekście danych finansowych, matematyki finansowej, czy analizy ilościowej. Zajmiemy się na przykład obróbką danych finansowych, optymalizacją portfelową, czy modelami GARCH. W tym wpisie zaczniemy od podstaw, czyli importu oraz prezentacji najczęściej obrabianych danych finansowych, tzn. danych i wykresów typu OHLC (Open-High-Low-Close).

Czytaj dalej [R + finanse]: Jak wczytywać i prezentować dane giełdowe? (1)