Matematyka i wizualizacja danych, czyli plany wydawnicze na koniec 2018

Na końcówkę roku szykujemy dwie bardzo ciekawe pozycje. Póki co zapowiedzi. Napiszę gdy już ukażą się w sprzedaży lub przedsprzedaży.


Pierwsza z nich to ,,W pogoni za Nieskończonością”. To 32 stronicowy komiks o przygodach Bety i Bita.

Tym razem rodzeństwo zmierzy się z Nieskończonością. A że to nie mały problem, więc i publikowany zeszyt jest początkiem (oby) dłuższej serii.

Patrząc na okładkę część z Was pewnie widzi kreskę znanego biologia i popularyzatora przyrody Tomasza Samojlika (autor między innymi książek o Żubrze Pompiku). Drugim rysownikiem jest Sebastian Szpakowski. Treścią matematyczną współopiekował się Łukasz Maciejewski.

Nie dajcie się zwieść. To nie jest komiks dla dzieci! Poruszamy w nim poważne tematy. Zresztą, już niedługo zobaczycie sami.


Druga zapowiedź dotyczy zeszytu ćwiczeń ,,Wykresy unplugged”.

Tym razem 28 osiem stron informacji o wykresach oraz miejsca na samodzielne praktykowanie sztuki wizualizacji danych.

Zeszyt wyposażony jest w 8 kompletów danych i ćwiczeń do samodzielnego wyrysowania. Wyrysowania ołówkiem i kredkami, nie ma co ograniczać się do możliwości nawet najlepszego programu graficznego. Jedynym ograniczeniem niech będzie wyobraźnia!

Obok ćwiczeń jest też kilka wkładek tematycznych o technikach wizualizacji. I w tym wypadku nie dajcie się zwieść kredkom. To zeszyt ćwiczeń dla każdej kreatywnej osoby, nawet zabieganego dyrektora działu Data Science.

Stroną graficzną opiekowała się Magda Małczyńska-Umeda i zespół StoryVisio (autorka między innymi Infostory), merytoryczną opiekowałem się razem z Ewą Baranowską, przy wsparciu Piotra Sobczyka z Szychta w danych.


Czekając na te pozycje można zawsze sięgnąć do pozycji już obecnych na rynku. Np. do Zbioru Esejów o sztuce prezentowania danych. Do zamówienia ze strony Wydawnictw Uniwersytetu Warszawskiego.

Co się działo na hakatonie Urban Sensors?

IMG_0936

Hakaton Urban Sensors odbył się 26 września, dzień przed konferencją WhyR? Poniżej opiszę z jakimi danymi walczyliśmy i co ciekawego udało się zrobić.

Dane

Podczas tej jednodniowej imprezy pracowaliśmy z miejskimi danymi pochodzącymi z projektu VaVeL. Dokładniej z trzema źródłami danych:

  • Danymi online o położeniu autobusów i tramwajów w Warszawie. Poprzez interface REST pobieraliśmy szczegółową informację o tym gdzie znajdują się obecnie autobusy i tramwaje w Warszawie, ile są spóźnione, w którym kierunku jadą, kto je prowadzi, jaki jest najbliższy przystanek itp.
  • Danymi offline o położeniu autobusów i tramwajów. W plikach tekstowych mieliśmy zebrane informacje o położeniach autobusów i tramwajów przez cały lipiec i wrzesień. To całkiem spore dane. Logi dla jednego dnia zajmują średnio około 2.5GB.
  • Danymi offline z telefonii komórkowej. Dla poszczególnych stref Warszawy mieliśmy informacje ile było zdarzeń w sieci komórkowej w poszczególnych godzinach. Dane pokrywały lipiec i wrzesień. Te dane nie były tak duże jak informacje o ruchu pojazdów, ale były bardzo ciekawe.

IMG_0957

Warsztaty

Hakaton rozpoczął się od dwóch krótkich warsztatów. Pierwszy prowadzony przez Przemysława Biecek opisywał jak dostać się do danych. Drugi prowadzony przez Ewę Baranowską poświęcony był interaktywnej wizualizacji z użyciem biblioteki D3. Materiały wideo z obu warsztatów będą dostępne na stronie hakatonu w połowie października.

IMG_0989

Po warsztatach, uczestników hakatonu przywitali przedstawiciele partnerów projektu VaVeL. W kolejności wystąpienia, byli to: dziekan wydziału MiNI PW prof. Wojciech Domitrz; dyrektor Biura Cyfryzacji Miasta um. st. Warszawy, p. Tadeusz Osowski i dr Jarosław Legierski z Orange Labs.

IMG_1024

Uczestnicy z entuzjazmem zabrali się do pracy z danymi. Intensywna praca trwała do godziny 20 i zakończyła się wieloma ciekawymi rozwiązaniami.
Zadanie nie było proste, dane były gigantyczne i nie wszystkie zespoły zdecydowały się na zaprezentowanie rozwiązań. Ale te zaprezentowane były bardzo ciekawe.

Wyniki

Prezentacje rozpoczął projekt Jana Bajerskiego, pokazujący jak wyglądają wizualizacje przejazdów autobusów i tramwajów na tle danych rozkładowych. Do wizualizacji wykorzystano diagramy Mareya. Z opracowanym narzędziem można się pobawić na stronie http://vis.tram.waw.pl (wersja rozwojowa).
Diagramy Mareya okazują się fantastycznym narzędziem by śledzić czy pojazdy się spóźniają, gdzie są wąskie gardła, jak bardzo się spóźniają, jak wydłuża się czas podróży. Można też łatwo zauważyć, czy autobusy tej samej linii mają tendencje do tworzenia ,,stad” kilku pojazdów jadących blisko siebie.

IMG_1040

Kolejne rozwiązanie przedstawiła Ewa Baranowska. Pozwala ono w czasie rzeczywistym śledzić gdzie znajdują się obecnie autobusy i tramwaje w naszej okolicy. Interaktywna wizualizacja znajduje się na tej stronie.

IMG_1046

Następnie Adam Wróbel przedstawił przeprowadzoną statystyczną analizę opóźnień tramwajów. Modelowanie z użyciem modeli regresyjnych pozwala szukać linii narażonych na wysokie ryzyko opóźnienia. Ciekawym wynikiem była ujemna korelacja przyrostów opóźnienia z przesuniętymi wartościami. Oznacza to, że (zgodnie z intuicją) motorniczy jeżeli ma opóźnienie i może je nadrobić to je nadrabia, a jeżeli jedzie przed rozkładem to zwalnia by zlikwidować nadczas.

IMG_1054

Silny zespół z firmy Pearson w składzie Krzysztof Jędrzejewski, Mikołaj Olszewski, Mikołaj Bogucki, Mateusz Otmianowski, Kacper Łodzikowski przedstawił aplikację shiny, którą udało się błyskawicznie zbudować w czasie hakatonu. Aplikacja o wdzięcznej nazwie CzyZdążę.pl pozwala na sprawdzenie, dla planowanej trasy przejazdu, gdzie obecnie jest najbliższy tramwaj/autobus na który trzeba się spieszyć i ile średnio potrwa przejazd. To było niesamowite oglądać ile udało się temu zespołowi wykonać w ciągu zaledwie kilku godzin.

IMG_1078

Pearson nie był jedyną firmą licznie reprezentowaną na hakatonie. Ciekawe rozwiązanie zaprezentował również zespół analityków z GfK Polonia w składzie Natalia Okińczyc, Barbara Czarnota, Andrzej Surma, Agnieszka Fronczyk. Przygotowali analizę przystanków skazanych na największe opóźnienia wraz z animowanymi wykresami wykonanymi w pakiecie animation.

IMG_1096

Aplikacji skiny było więcej. Ciekawą analizę z użyciem biblioteki leaflet i shiny wykonał zespół z firmy Neuca (Karolina Mazanowska, Kamil Sieklucki). Ich wyniki znaleźć można na GitHubie.

IMG_1019

Obok zespołów analityków z jednej firmy, w hakatonie brały udział zespoły w barwach wydziałowych. Silny zespół 100 składający się głównie ze studentów, doktorantów i absolwentów MIM UW zaprezentował ciekawą analizę danych dotyczącą dużych wydarzeń w mieście i ich wpływu na ruch miejski.
Ich wstępna analiza znajduje się pod tym adresem.

IMG_0948

IMG_1087

Wiele z opracowanych rozwiązań, razem z prezentacjami z warsztatów, można znaleźć w repozytorium GitHub.
Na zakończenie zorganizowaliśmy konkurs na najbardziej innowacyjne rozwiązanie.

Zwyciężył zespół z firmy Pearson, wyprzedzając o zaledwie kilka głosów rozwiązanie zaprezentowane przez Jana Bajerskiego. Zwycięska drużyna otrzymała na pamiątkę Pałac Kultury z nadrukowanym wielkim R.

IMG_1108

Realizacja hakatonu była możliwa dzięki wsparciu ze strony organizatorów: Aleksandry Dąbrowskiej, Alicji Gosiewskiej, Klaudii Korniluk, Marcina Kosińskiego i Konrada Więcko; licznych ekspertów merytorycznych wspierających nas ze strony Urzędu Miasta Warszawa; przedstawicieli MiNI w osobie Grzegorza Bagrowskiego i Jarosława Legierskiego, którzy wiedzieli wszystko o danych; Krzysztof Wittelsa który wspierał nas organizacyjne ze strony Urzędu Miasta oraz całego zespołu projektu VaVeL, który przygotował infrastrukturę z którą mogliśmy pracować.

IMG_1104

Hakaton już się zakończył, ale nie jest to ostatnia inicjatywa związana z analizą tych szalenie ciekawych danych. Wkrótce informacja o kolejnych.

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.

All your models belong to us: how to combine package archivist and function trace()

Let’s see how to collect all linear regression models that you will ever create in R.

It’s easy with the trace() function. A really powerful, yet not that popular function, that allows you to inject any R code in any point of a body of any function.
Useful in debugging and have other interesting applications.
Below I will show how to use this function to store a copy of every linear model that is created with lm(). In the same way you may store copies of plots/other models/data frames/anything.

To store a persistent copy of an object one can simply use the save() function. But we are going to use the archivist package instead. It stores objects in a repository and give you some nice features, like searching within repository, sharing the repository with other users, checking session info for a particular object or restoring packages to versions consistent with a selected object.

To use archivist with the trace() function you just need to call two lines. First one will create an empty repo, and the second will execute ‘saveToLocalRepo()’ at the end of each call to the lm() function.

library(archivist)
# create an empty repo
createLocalRepo ("allModels", default = TRUE)
# add tracing code
trace(lm, exit = quote(saveToRepo(z)))

Now, at the end of every lm() function the fitted model will be stored in the repository.
Let’s see this in action.

> lm(Sepal.Length~., data=iris) -> m1
Tracing lm(Sepal.Length ~ ., data = iris) on exit 

> lm(Sepal.Length~ Petal.Length, data=iris) -> m1
Tracing lm(Sepal.Length ~ Petal.Length, data = iris) on exit 

> lm(Sepal.Length~-Species, data=iris) -> m1
Tracing lm(Sepal.Length ~ -Species, data = iris) on exit

All models are stored as rda files in a disk based repository.
You can load them to R with the asearch() function.
Let’s get all lm objects, apply the AIC function to each of them and sort along AIC.

> asearch("class:lm") %>% 
    sapply(., AIC) %>% 
    sort
4c3ae060f3aaa2509b2faf63d857358e 5c5751e36b31b2251d2767d96993320a 
                        79.11602                        160.04042 
ed2f4d257fd568c5c6f231fadc7aa645 
                       372.07953

The aread() function will download the selected model.

> aread("4c3ae060f3aaa2509b2faf63d857358e")

Call:
lm(formula = Sepal.Length ~ ., data = iris)

Coefficients:
      (Intercept)        Sepal.Width       Petal.Length        Petal.Width  
           2.1713             0.4959             0.8292            -0.3152  
Speciesversicolor   Speciesvirginica  
          -0.7236            -1.0235 

Now you can just create model after model and if needed they all can be restored.

Read more about the archivist here: http://pbiecek.github.io/archivist/.

78% statystyk jest zmyślonych

Czy zastanawialiście się ile ze statystyk o których się słyszy/o których się czyta, jest wyssanych z palca?

Zapytałem googla ,,how much statistics are made up”. Skrupulatnie zebrałem wyniki z pierwszych 13 stron, między innymi businessinsider, uncyclopedia czy answers.

Wyniki oczywiście wczytałem do programu statystycznego R w wersji 3.2.4 i wykonałem wykres w ggplot2, wersja 2.1.

Interesujące! Ponad połowa odwiedzonych serwisów zawiera informacje, że więcej niż 78% statystyk jest zmyślonych.

Aby upewnić się, że nie jest to przypadek zrobiłem test Kołomogorowa Smirnowa badający zgodność z rozkładem jednostajnym i wyszło…..

p-wartość 0.012!!!

Czyli istotnie statystycznie!
(i nie pytajcie co, przecież jest istotne statystycznie!)

Gdyby ktoś chciał odtworzyć te wyniki, to zebrane dane: c(0.74, 0.85, 0.24, 0.43, 0.98, 1, 0.4, 0.8, 0.97, 0.73, 0.95, 0.79, 0.43, 0.64, 0.83).

Czy przekroczą 55 milionów?

Już jutro finał 24. Wielkiej Orkiestry Świątecznej Pomocy. Z roku na rok WOŚP zbiera coraz więcej środków, w tym roku na wsparcie oddziałów pediatrycznych i opieki medycznej seniorów. Jak myślicie ile pieniędzy uda się zebrać?
Zobaczmy co na ten temat mają do powiedzenia modele liniowe 😉

Screen Shot 2016-01-09 at 02.34.59

Czytaj dalej Czy przekroczą 55 milionów?

[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)

Czy Internet pozwala przewidzieć wyniki wyborów?


Dziś mamy gościnny wpis poświęcony analizie danych wyborczych a na wtorek mamy zaplanowany gościnny wpis poświęcony analizie danych finansowych.

Dzisiejszy wpis przygotował dr Albert Hupa z IRCenter i są do niego dołączone dane z sondaży wyborczych, z Google Trends, z wypowiedzi na mediach społecznościowych, oraz badania CAWI wśród internautów. Dane z różnych źródeł, można trochę się nimi pobawić by zobaczyć czy i jakie są zależności pomiędzy sondażami, dyskusjami w internecie a końcowym wynikiem wyborów.

dr Albert Hupa, prezes IRCenter

Czy Internet pozwala przewidzieć wyniki wyborów?
Nie. To będzie możliwe dopiero wtedy, kiedy wszyscy dorośli Polacy zaczną korzystać z internetu i będą tam interesować się polityką. Jednak Internet pozwala zrozumieć trendy w zainteresowaniach młodszych i/lub bardziej zaangażowanych wyborców. Na dłuższą metę nie chodzi o to, żeby po prostu przewidywać wyniki i mniej płacić za sondaże, tylko o to, żeby móc wpływać na rzeczywistość. IRCenter publikuje dane dla ostatnich Wyborów Parlamentarnych i kilka wniosków z ich analizy.

Czytaj dalej Czy Internet pozwala przewidzieć wyniki wyborów?

Czy jesteś hakeRem danych?

IMG_20151113_140015 (1)
Przygotowałem gRę inspirowaną opowiadaniem Pieczara Pietraszki. Gracz wczuwa się w Bita, który szuka hasła Pietraszki na serwerze Proton (aby później …, co jest dalej, przeczytać można w opowiadaniu).
Aby zdobyć hasło trzeba rozwiązać cztery zagadki oparte o analizę danych.
Poziom zagadek określiłbym jako niebanalny ;-). Nawet dla osób, które już sporo programują.

Aby zagrać w tę gRę należy wykonać dwa kroki.
1. Zainstalować pakiet proton w R.

Czytaj dalej Czy jesteś hakeRem danych?

Jak oni głosowali?hackaton -najbliższa sobota- 26.09.2015

Kontynuując temat hack-day ,,Jak oni głosowali”. W najbliższą sobotę spotykamy się by analizować dane o głosowaniach i wypowiedziach posłów w obecnej kadencji sejmu
W związku z tym kilka ogłoszeń organizacyjnych.

1. WAŻNE, podczas spotkania nie zapewniamy komputerów. Studenci MiNI mogą korzystać ze swoich kont w salach komputerowych, ale nastawiamy się na prace w salach otwartych z tablicami, tak by wygodnie poruszać się pomiędzy stolikami. Najlepiej przynieść własny laptop a na nim wszystko co jest potrzebne. Będzie dostęp do wifi!

2. Spotkanie odbędzie się w godzinach 10-16 na wydziale MiNI PW (Koszykowa 75) na drugim piętrze. Zaanektujemy jedną lub kilka sal, w zależności od potrzeb.

3. Warto wcześniej przyjrzeć się danym, szczegółowy opis jak z nich korzystać znajduje się w pliku
https://github.com/mi2-warsaw/sejmRP/blob/master/sejmRP/vignettes/INSTRUCTION.pdf
W szczególności można sprawdzić te dwie funkcje
get_filtered_votes()
get_statements_table()

4. W miarę możliwości prosimy o sygnał kto będzie kto nie, najlepiej rezerwować się przez stronę meetup

Jak oni głosowali? – Analiza głosowań w Sejmie VII kadencji

Saturday, Sep 26, 2015, 10:00 AM

No location yet.

52 Entuzjaści R Attending

Sobotni hack-day. Spotkajmy się i przeanalizujmy głosowania posłów VII kadencji Sejmu. Głosowania i stenogramy z wypowiedzi będą udostępnione przez pakiet SejmRP [https://github.com/mi2-warsaw/sejmRP]Pomysły na analizy można wrzucać na github jako issues (z tagiem question).Więcej informacji wkrótce.

Check out this Meetup →

5. Będzie pizza i snacki

Czytaj dalej Jak oni głosowali?hackaton -najbliższa sobota- 26.09.2015