Koga ne zanima tekst ispod, ovde može videti interaktivnu mapu saobraćajnih nezgoda za period 2016.-2020 (veličina je oko 20MB, pa učitavanje može biti sporije!).

Zaključak analize: “nemojte da ste Kraljevčanin koji se na Slaviji oktobrom u nedelju u 16h po kiši isključuje u Beogradsku”:)

Uvod

Posle raznih nekih drugih analiza koje sam radio na ovom blogu, evo jedne analize saobraćajnih nezgoda. Da – saobraćajnih nezgoda. Jeste malo morbidno, ali na portalu otvorenih podataka nema baš toliko otvorenih podataka da može da se bira:). Dakle, tema ove analize su sve saobraćajne nezgode u periodu od početka 2016. do kraja 2020., tj okruglo 5 godina. U zvaničnim podacima se mogu naći datum, vreme i mesto nezgode, kao i tip nezgode (materijalna šteta, povređeni, poginuli), kao i opis nezgode. Podaci deluju dosta dobrog kvaliteta i dosta su ažurni.

Moram da napomenem i da je dosta sličnu analizu svojevremeno (za 2015.-tu godinu) uradio i Goran Milovanović i nju možete da vidite ovde. Rekao bih da je njegova analiza dosta kvalitetna, ali tehnička, dok je ova “pitkija” (da ne kažem prosta:), pristupačnija, pokušao sam da iskomentarišem i dam objašnjenja po potrebi, podaci su noviji i ima nekih lepih vizualizacija.

Analiza

Prostorne analize

Stvarno je izazov predstaviti 175.000 nezgoda odjednom. Ako se ograničimo samo na Beograd i samo na 2020.-u godinu, može da se dobije ovakav video koji prikazuje sve nezgode te godine (nekih 14000 i kusur):

Video je OK, ali najbitnije informacije su tu izgubljene. Realno, kružići su loš način da se grupišu nezgode. Heat mapa je bolji način. Na njoj mogu da se vide sve nezgode, pri čemu će intezitet boje da zavisi od količine nezgoda na tom mestu. Tako napravljena heat mapa govori, pa… sve! Meni je jako interesantno bilo gledati ove podatke, moju ulicu, moj kraj, neke kuriozitete (šta će toliko nezgoda na aerodromu, garaža na Obilićevom vencu, razni kružni tokovi…), pa se nadam da će i vama! Možda će malo potrajati da se učita, pošto su podaci 20MB (ali ne gore od prosečnog sajta sa oglasima i trackerima:):

Klik za interaktivnu mapu nezgoda (20 MB!)

Ko su najgori vozači u Srbiji? Pošto ovi podaci o nezgodama uključuju i okruge kojima te nezgode pripadaju, može da se izvuče koliko nezgoda imamo po gradovima, ali je logično da će Beograd ispasti prvi, prosto jer ima najveći broj stanovnika tamo, tako da ovo mora da se uzme relativno, broj nezgoda po glavi stanovnika. Da li će Vojvođani ispasti najgori?:) Kako je ovo urađeno – uzeti su podaci o broju stanovnika po svakom okrugu, a onda podeljen broj nezgoda po okrugu, sa idejom da dobijemo koliko nezgoda ima po glavi stanovnika. Kada se tako pogleda, evo ga broj nezgoda na 1000 stanovnika u toku godinu dana:

Beograd je opet najgori, Novi Sad je iza njega, a sledeći posle ovih gradova je… Kraljevo. Ceo Banat i severna Bačka imaju među najmanje nezgoda po glavi stanovnika, pa ovim može da se kaže da je predrasuda da Pančevci i sl. ne znaju da voze – debelo netačna:). Zapravo, Pančevci su najbolji vozači u Srbiji (posle Piroćanaca koji prosto neće da troše benzin, ako ćemo o glupim i smešnim predrasudama:)! Zanimljivo je da Beograd, i posle ove normalizacije, i dalje dominira po broju nezgoda. Ja ovde vidim dva objašnjenja – ili se nezgode u Beogradu češće beleže i rešavaju zvanjem policije, ili prosto u Beogradu ima stvarno procentualno toliko automobila više, i stvarno su toliko više u upotrebi. U svakom slučaju, evo i celokupne liste sa ove karte iznad, čisto da se zna sve u brojku:

Okrug Grad Nezgoda godišnje na 1000 osoba
Beogradski Beograd 10.08
Južnobački Novi Sad 5.05
Raški Kraljevo 4.73
Kolubarski Valjevo 4.46
Podunavski Smederevo 4.30
Zaltiborski Užuice 4.25
Braničevski Požarevac 4.18
Sremski Sremska Mitrovica 3.76
Mačvanski Šabac 3.70
Pomoravski Jagodina 3.53
Nišavski Niš 3.48
Zapadnobački Sombor 3.32
Šumadijski Kragujevac 3.28
Moravski Čačak 3.23
Borski Bor 3.16
Raški Novi Pazad 3.01
Severnobanatski Kikinda 2.98
Zaječarski Zaječar 2.85
Severnobački Subotica 2.75
Rasinski Kruševac 2.64
Centralnobanatski Zrenjanin 2.50
Pčinjski Vranje 2.38
Toplički Prokuplje 2.20
Jablanički Leskovac 2.18
Zlatiborski Prijepolje 2.18
Južnobanatski Pančevo 2.15
Pirotski Pirot 2.01

Ako se fokusiramo sad na ova tri grada sa najviše nezgoda, teško je izvaditi raskrsnicu sa najviše nezgoda. Koristeći grid density analizu, dolazimo do sledeće mape:

Kada se to tabelarno izlista, ovo je lista raskrsnica:

Najnezgodnije raskrsnice
Slavija
Kružni tok – Trg Oslobođenja
Autokomanda
Kružni tok kod opštine Novi Beograd
Mostar
Kružni tok kod Bogoslovije
Ugao Cvijićeve i Bulevara Despota Stefana
Brankov most
Potez Bulevara Kralja Aleksandra od Vukovog Spomenika do Resavske

Nažalost, nisam ekspert za ovo, pa nemam neku dobru metodologiju da je prikažem ovde bolje i lepše, ali zato traženje najgore raskrsnice možemo da nadomestimo očima (kliknite na slike da pogledate uvećane verzije):

Da se primetiti da su kružni tokovi velika žarišta nezgoda, a ako se dovoljno zumira, ono što je fascinantno je da se može videti i koji deo kružnog toka je najgori! Evo primer Slavije, Autokomande i kružnog toka kod opštine Novi Beograd:

Primetno odsutan sa najgorih kružnih tokova je (po meni) najgori kružni tok, a to je petlja Radnička, tj. isključenje sa mosta na Adi. Ne znam zašto, ali meni je on dosta nepregledan, ali očigledno ima neki tajni sastojak tu kako su ga napravili.

Ako pogledamo Novi Sad, vidi se da je najviše problema na raskrsnici Bulevara Oslobođenja i Futoške (meni to bar ima smisla).

Hajda da vidimo i to Kraljevo. Kada se gleda na interaktivnoj mapi, ne izgleda ništa bolje ili gore nego drugi gradovi po Srbiji, ali eto, brojke kažu drugačije:

Nažalost, ne znam Kraljevo dovoljno dobro da bih mogao da kažem da li je ovo tačno ili ne, ali sam konsultovao neke Kraljevčane i slažu se u potpunosti. Ulica Vojvode Putnika je baš loša.

Toliko o lepim slikama, pogledajte interaktivnu mapu za Vaš grad i Vašu ulicu, možda se iznenadite:).

Vremenske analize

Da pogledamo prvo o kolikom broju nezgoda pričamo na teritoriji Srbije godišnje. Sledeći grafik daje broj nezgoda godišnje:

Pričamo o 35000 nezgoda godišnje ili oko 100 dnevno! Vidi se i da je broj nezgoda godišnje prilično konstantan, dok je 2020. godina anomalija. Verovatno možete i da pogodite zašto:). Ako Vam i nije jasno, evo sledeći grafik koji prikazuje broj nezgoda po mesecima (opet – kliknite na grafik da pogledate uvećanu verziju):

Da, taj čuveni april 2020. koji nam je svima ostao u sećanju (svakome na svoj način:). Očigledno je blokada Srbije u aprilu 2020.-e kao i zaključavanje ljudi kroz celu 2020.-u uticalo na smanjeni broj nezgoda. Logično se nameće pitanje “a koliko je života ovako sačuvano?”. Odgovor možemo lako da vidimo ako pogledamo godišnji broj smrti kroz ovu tabelu:

Godina Sa mat. štetom Sa povređenima Sa poginulima
2016 21621 13987 557
2017 21742 14397 533
2018 21654 13848 491
2019 21647 13800 509
2020 18502 11917 470

Oko 2000 popravki manje, isto oko 2000 povređenih ljudi manje, a oko 50 poginulih manje. Cinik bi rekao da je to ono što COVID odnese u Srbiji dnevno, ali kontam da bi odneo to, bio lockdown ili ne. Sa druge strane – ovo je 10% manje umrlih zbog smanjenog saobraćaja.

Ostavimo po strani COVID, jedna od stvari koja se uočava na prethodnom grafiku je da je “sezonski”, tj. da izgleda kao da se ponavlja, kao da su neki meseci gori, a neki bolji. Hajde da vidimo da li ima neki mesec koji je gori od ostalih meseci, evo grafika o broju nezgoda po mesecima:

OK, definitivno razlike postoje. Oktobar je definitivno najgori, a prate ga decembar, pa septembar. Pokušao sam da korelišem ovo sa slavama, ali korelacija ne postoji (zapravo, postoji mala, ali negativna – mnogo manje nezgoda ima danima kada su slave!). Nisam našao nijedan specifičan dan ili nedelju u oktobru koja je lošija nego druge (neću grafik ni da kačim). Za decembar se vidi blagi porast pred Novu Godinu (valjda su ljudi nervozniji tad), ali da li tu ima nešto, prosudite sami na osnovu ovog grafika:

Moguće je vrlo da ima veze sa lošijim vremenom u ovom periodu godine, pročitajte deo dalje sa “metereološkom analizom” za detalje. Posle meseci, hajde da vidimo koji je najgori dan u nedelji:

Početak i kraj radne nedelje definitivno odskaču, dok za vikend ima najmanje nezgoda. Na ovom mestu bih pomenuo da analitičar mora da dobro pazi šta je uzrok, a šta je posledica! Konkretno, u ovom konkretnom slučaju bi se zaključilo da je vikend magično bolji, ali naravno da ovo samo ukazuje da je količina saobraćaja vikendom proporcionalno manja. Kada bismo znali npr. gustinu saobraćaja po danima (što nažalost ne znamo), mogli bismo da izvučemo npr. relativan odnos nezgoda po broju učesnika u saobraćaju, pa bi ova analiza imala veću vrednost. Ovako, samo indirektno nalazimo gustinu saobraćaja po danima. Međutim, vidi se i sa ovog grafika nešto malo čudno – broj poginulih (crveni deo) je malo “deblji” vikendom, pa ima smisla videti procentualno broj poginulih u odnosu na sve nezgode po danima:

Nismo Danska, ali cirka se bogami dobro i kod nas vikendima…

Ostala je još samo jedna vremenska analiza, a to je po satima u danu:

Grafik je baš lepo periodičan i verovatno bi bilo bolje nacrtati ga Nightingale grafikom, ali i ovaj će poslužiti. Nisam baš siguran šta je ovaj skok oko 13h, ali osim toga je vrhunac negde oko 16h kada se ljudi vraćaju sa posla, što je negde i očigledno. Sa druge strane, ako samo iscrtamo broj poginulih po satima, slika je zastrašujuće različita:

Duplo manje poginulih preko dana, oko 16h još i manje, da li što su gužve u ovo vreme. Ali noć je fatalna, oko 2h kada se svi vraćaju kući, a još gore i pred zoru.

Metereološke analize

Pomenuli smo već da je oktobar gadan mesec i pretpostavili smo da to ima veze sa metereološkim uslovima, pa da testiramo tu hipotezu. Ovo isto je Goran uradio u svojoj analizi i ako ja znam da čitam njegovu analizu, ispada da od vremenskih uslova utiče (vrlo malo) jedino brzina vetra (???) i još manje – količina padavina. Hajde da vidimo koliko nezgoda u proseku ima kada ima ispod 0.5mm kiše dnevno, i kada ima preko 0.5mm:

Padavine Prosek nezgoda Medijana nezgoda
Kiša < 0.5 mm 48.41 48
Kiša ≥ 0.5 mm 50.8 50
Kiša < 1 mm 48.36 48
Kiša ≥ 1 mm 51.3 50
Sneg = 0 cm 49.0 49
Sneg > 0 cm 49.64 46

Kao da kiša ima nekog uticaja, ali minimalnog. Međutim, tek kada se pogleda histogram koliko prosečno nezgoda ima po količini padavina, primećuje se blagi skok:

Isto tako, ako se uradi scatter grafik padavina u odnosu na broj nezgoda dnevno, pre se vidi neka normalna raspodela nego da kiša ima neki uticaj:

Slična situacija je i za sneg:

Goran u svojoj analizi nije našao neku vezu, ali deluje da neka veza sa kišom postoji (mada je njemu npr. jača korelacija sa brzinom vetra nego sa kišom).

Zaključak

Nemam neki zaključak osim onaj sa početka teksta – “nemojte da ste Kraljevčanin koji se na Slaviji oktobrom u nedelju u 16h po kiši isključuje u Beogradsku“:)

Nadam se da Vam je ova analiza donekle bila zanimljiva, a možda i pomogla da uočite neke slabe raskrsnice kojima često putujete!

Izvorni kod i reference

Svi podaci upotrebljeni u ovoj analizi su preuzeti sa zvaničnog portala otvorenih podataka i možete ih videti ovde. Ceo kod i propratni podaci su okačeni ovde. Ja sam samo sve spakovao sa portala otvorenih podataka i sredio u jedan CSV fajl koji možete preuzeti odavde (32MB). Podaci o broju stanovnika su uzeti iz procene od 01.01.2020. odavde. Izvorni kod kojim su generisani svi grafici je ovde (Python + pandas + matplotlib). Skripta (isto u Python-u) za skidanje istorijskih podataka o vremenu je ovde. Skinuti podaci o vremenu su u CSV fajlu ovde. Generisanje video zapisa je rađeno u programu QGIS, a iz istog programa su urađene sve geoprostorne vizualizacije. Podaci o saobraćajnim nezgodama ne prate zvaničnu podelu republičkog geodetskog zavoda po okruzima, već ima malih izmena, pa je ovo moralo biti uračunato (konkretno – Novi Pazar je izdvojen sa opštinama Novi Pazar, Tutin i Sjenica, a Prijepolje je izdvojeno sa opštinama Nova Varoš, Priboj i Prijepolje).