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.

Wizualna eksploracja modeli statystycznych @ MI2DataLab

W poprzednim tygodniu mieliśmy kolejne dwie obrony świetnych prac magisterskich zrealizowanych w MI2DataLab. Obie prace związane były z budową ciekawego narzędzia do eksploracji i wizualizacji modeli statystycznych. W obu przypadkach udało się zbudowac użyteczny pakiet do eksploracji modeli określonego typu.

Agnieszka Sitko obroniła pracę ,,Merge and Select: Visualization of a likelihood based k-sample adaptive fusing and model selection”, w której opisuje metodę i narzędzie do analizy relacji pomiędzy zmienną jakościową a odpowiedzią, która może być zmienną ilościową jedno lub wielowymiarową, zmienną binarną lub cenzorowaną.

Metoda jest zaimplementowana w narzędziu factorMerger. Poniżej ściągawka. Więcej materiałów: Wersja CRAN pakietu. Wersja developerska pakietu. Preprint artykułu. Winietka.

factorMerger-cheatsheet

Tego samego dnia Magda Młynarczyk obroniła pracę ,,Modele ryzyk konkurujących wraz z zastosowaniami w analizie chorych z nowotworami układu krwiotwórczego” w której opisuje metody analizy ryzyk konkurujących. W ramach pracy powstało narzędzie ułatwiające pracę z danymi tego rodzaju. Pakiet cr17 jest już dostępny na CRAN.

Screen Shot 2017-09-25 at 15.42.31

Więcej materiałów: Wersja CRAN pakietu. Wersja developerska pakietu. Winietka.

Obie prace, są częścią większej inicjatywy dotyczącej eksploracji i wizualizacji złożonych modeli statystycznych. O całej inicjatywie eksploracji wizualnej będzie można posłuchać na konferencji WhyR w piątek podczas mojego referatu ,,Show me your model”.

Rytm miasta, czyli z jakimi danymi będziemy pracować na Urban Sensors hakaton

animation

Już we wtorek rozpocznie się Urban Sensors, czyli jednodniowy hakaton oparty o miejskie dane z nowej platformy VaVeL.

Poza położeniami autobusów i tramwajów, jedno ze źródeł danych dostępnych dla hakujących, to informacja o liczbie notyfikacji od telefonów komórkowych ze stacjami bazowymi.

datetime,zoneid,intensity,geom4326,geom3857
2017-09-04 00:00:00,1,0.02072913149322,"MULTIPOLYGON(((20.9832771275726 52.259601516439,20.9876244827842 52.259569327517,20.9876244827865 52.259569327511,20.9875959970902 ...
2017-09-04 01:00:00,1,0.0135282957291873,"MULTIPOLYGON(((20.9832771275726 52.259601516439,20.9876244827842 52.259569327517,20.9876244827865 52.259569327511,20.9875959970902 ...
2017-09-04 02:00:00,1,0.011225094014391,"MULTIPOLYGON(((20.9832771275726 52.259601516439,20.9876244827842 52.259569327517,20.9876244827865 52.259569327511,20.9875959970902 ...

Animacja powyżej pokazuje jak aktywność telefonów pulsuje w rytmie dziennym.
Ścisłe centrum jak widać nie chodzi spać.
Miejscami widać dziwniejsze fluktuacje jak np. Dolinka Służewiecka wieczorem 16 września.

Rysunek poniżej przedstawia profil aktywności dla trzech wybranych punktów w okresie kilku dni.

Screen Shot 2017-09-23 at 00.55.18

Jak takie dane ciekawie zintegrować z położeniami autobusów i tramwajów?
Zobaczymy na hakatonie, a najciekawsze rozwiązania pokażemy na blogu.

Do przygotowania pierwszej animacji użyto pakietu animation i programu ImageMagick. Druga to oczywiście dziecko ggplot2 i sf.

Gdzie jest mój autobus? Urban Sensors hakaton – rejestracja otwarta do poniedziałku


Jeszcze do poniedziałku można się zgłaszać na Urban Sensors – jednodniowy hakaton, który odbędzie się w Warszawie 26 września na wydziale MiNI Politechniki Warszawskiej (Koszykowa 75) – dzień przed konferencją WhyR.

Podczas hakatonu uczestnicy otrzymają tokeny dostępowe do danych online i historycznych o położeniu autobusów i tramwajów w Warszawie.

Poniżej znajduje się wycinek danych z zajawką jakie zmienne są mierzone dla tramwajów. Poza położeniem tramwaju i brygady, mamy informacje o najbliższym i kolejnym przystanku, prędkości pojazdu, kierunku, opóźnieniu, statusie, brygadzie itp.

Więcej o hakatonie przeczytać można tutaj. Formularz rejestracji dostępny jest tutaj.

> head(przystanki)
  brigade line                 time      lon      lat   rawLon   rawLat
1       2   10 2017-09-12T16:00:03Z 21.00480 52.22268 21.00480 52.22268
2      17   33 2017-09-12T16:00:10Z 20.92995 52.29171 20.92994 52.29172
3      16   33 2017-09-12T15:59:49Z 20.92997 52.29182 20.92997 52.29182
4      19   33 2017-09-12T16:00:48Z 20.93867 52.27510 20.93867 52.27510
5      13   17 2017-09-11T18:42:15Z 20.94074 52.30222 20.94074 52.30222
6       5   33 2017-09-12T16:00:49Z 20.99603 52.23860 20.99603 52.23860
   status delay        delayAtStop     plannedLeaveTime        nearestStop
1 STOPPED    96     7089-Koszykowa 2017-09-12T15:58:00Z     7089-Koszykowa
2 STOPPED     0 6059-Metro Młociny 2017-09-12T16:06:00Z 6059-Metro Młociny
3 STOPPED     0 6059-Metro Młociny 2017-09-12T16:02:00Z 6059-Metro Młociny
4 STOPPED   -38   6046-al.Reymonta 2017-09-12T16:01:00Z   6046-al.Reymonta
5  MOVING     0                    2017-09-11T18:39:00Z                   
6  MOVING   -11 7086-Hala Mirowska 2017-09-12T16:01:00Z 7086-Hala Mirowska
  nearestStopDistance nearestStopLon nearestStopLat       previousStop
1            4.727894       21.00479       52.22272   7090-Nowowiejska
2           23.941826       20.93010       52.29190 6059-Metro Młociny
3           13.163125       20.93010       52.29190 6059-Metro Młociny
4            5.167645       20.93869       52.27506        6045-Piaski
5            0.000000        0.00000        0.00000                   
6            3.407621       20.99604       52.23863     7088-rondo ONZ
  previousStopLon previousStopLat previousStopDistance
1        21.00558        52.22021            279.56482
2        20.93010        52.29190             23.94183
3        20.93010        52.29190             13.16313
4        20.94558        52.27155            614.19135
5         0.00000         0.00000              0.00000
6        20.99805        52.23382            549.09806
  previousStopArrivalTime previousStopLeaveTime           nextStop
1    2017-09-12T15:59:36Z  2017-09-12T16:00:03Z  7002-Dw.Centralny
2    2017-09-12T16:00:10Z  2017-09-12T16:00:10Z 6059-Metro Młociny
3    2017-09-12T15:55:09Z  2017-09-12T15:55:09Z 6059-Metro Młociny
4    2017-09-12T16:00:22Z  2017-09-12T16:00:48Z        6024-Aspekt
5    2017-09-11T18:39:54Z  2017-09-11T18:39:54Z                   
6    2017-09-12T16:00:49Z  2017-09-12T16:00:49Z   7085-Kino Femina
  nextStopLon nextStopLat nextStopDistance nextStopTimetableVisitTime
1    21.00134    52.22865        704.26957       2017-09-12T16:01:00Z
2    20.92968    52.29121         58.01343       2017-09-12T16:07:00Z
3    20.92968    52.29121         69.86706       2017-09-12T16:03:00Z
4    20.93386    52.27824        478.41942       2017-09-12T16:03:00Z
5    20.95937    52.31074          0.00000       2017-09-11T18:39:00Z
6    20.99407    52.24137        335.50906       2017-09-12T16:03:00Z
  courseDirection courseIdentifier timetableStatus
1   Os.Górczewska      10_2_2_1531            SAFE
2        Kielecka   33_17_146_1606            SAFE
3        Kielecka   33_16_146_1602            SAFE
4   Metro Młociny   33_19_146_1523            SAFE
5                                          MISSING
6   Metro Młociny    33_5_146_1547            SAFE
                 receivedTime      processingFinishedTime onWayToDepot
1 2017-09-12T16:00:08.704000Z 2017-09-12T16:00:08.853000Z        FALSE
2 2017-09-12T16:00:20.914000Z 2017-09-12T16:00:20.923000Z        FALSE
3 2017-09-12T15:59:56.506000Z 2017-09-12T15:59:56.651000Z        FALSE
4 2017-09-12T16:00:51.859000Z 2017-09-12T16:00:52.039000Z        FALSE
5 2017-09-11T18:42:21.381000Z 2017-09-11T18:42:21.514000Z        FALSE
6 2017-09-12T16:00:51.859000Z 2017-09-12T16:00:51.896000Z        FALSE
  atStop overlapsWithNextBrigadeStopLineBrigade speed
1                                         FALSE  0.00
2                                          TRUE  0.00
3                                          TRUE  0.00
4                                         FALSE  0.00
5                                         FALSE 10.41
6                                          TRUE 11.20