Kateřina Kolouchová & Lenka Tomešová: Vliv počasí na kriminalitu v New Yorku a Brně

Jak vznikla naše spolupráce
Daly jsme se do řeči hned na první lekci Digitální akademie, Excelu, kam jsme přišly zvědavé a lehce nervózní z toho, jak budou celé tři měsíce probíhat. Od té doby jsme si většinou sedaly vedle sebe a postupně jsme zjistily, že máme obdobné priority ohledně budoucí práce a spojují nás i zájmy o společenské dění, takže spolupráce na projektu byla jasná volba 😊


Poděkování

Ještě než se pustíme do samotného popisování projektu, rády bychom obě poděkovaly našemu mentorovi Vráťovi za počáteční nakopnutí a pozitivní přístup k řešení problémů, Milošovi za pomoc se sdílením databáze přes Azure, Matějovi za rady se statistikou a R, Zdendovi za teoretické konzultace a psychickou podporu, Klárce a Ondráškovi za to, že to doma bez maminky zvládli. Naše díky patří i všem lektorům a lektorkám a celému týmu Czechitas za organizaci jedinečného kurzu, který nám rozšířil obzory ve světě datové analýzy. A taky díky všem holkám, které do toho s námi šly, za tu vzájemnou podporu, nakažlivou energii a chuť pouštět se do nových výzev, které pro nás IT svět představuje.

Pro snadnější orientaci v textu využijte obsahu níže. Pokud vás nezajímají všechny detaily našeho počínání, můžete přeskočit rovnou k výstupům projektu 😊

Cesta k datům

Data a výběr tématu

Z nabízených datasetů jsme vybíraly primárně z veřejných dat a zaujala nás kriminalita v Brně. V hlavě se nám rodily různé nápady, a tak nějak nezávisle na sobě jsme si řekly, co zkoumat vliv počasí na kriminalitu? Na dané téma jsme našly jak mediální zprávy, tak studie, které se touto problematikou zabývaly, a bylo rozhodnuto. Z prostudovaných zdrojů vyplývalo, že se snižující se teplotou klesá i počet trestných činů a role počasí, potažmo srážek, je statisticky významná. Naše hypotéza tedy byla stanovena. A co data?

S hrůzou jsme zjistily, že pro Brno máme podrobné údaje pro jednotlivé trestné činy jen pro jeden rok a tak jsme začaly pátrat. Kontaktovaly jsme Krajské ředitelství policie Jihomoravského kraje, kde nám řekli, že uvidí, co bude v jejich silách a ozvou se nám. Uplynul ale týden a žádná zpráva nepřišla, tudíž naše naděje na získání dat pro Brno klesla. Naštěstí jsme se mezitím sešly s naším mentorem Vráťou, který nám doporučil hledat i v zahraničí a tak jsme se dostaly k otevřenému datasetu města New York (NY) mapujícímu kriminalitu od roku 2006 do roku 2016 po jednotlivých trestných činech. Něco málo přes 6 milionů řádků. Super! Máme velká data 😊 Počasí jsme stahovaly přes Darksky.net (hodinová data o teplotě, srážkách, tlaku…). Pro stahování jsme vytvořily skript v Pythonu (viz níže), který nám umožnil stáhnout požadovaná data přes jejich API. (Každý rok jsme stahovaly zvlášť, měly jsme na den jen 1 000 requestů, takže nám to chvilku zabralo). Data jsme měly a začal hackathon, který byl pro nás ve znamení zdlouhavého nahrávání dat na SQL server 😳

Ukázka skriptu pro stahování dat o počasí přes Darksky API
Potom, co jsme skoro celý hackathon strávily nahráváním objemných dat z NY a jejich čištěním, nám odpověděli z brněnské police, že pro nás mají data pro Brno (kriminalita po jednotlivých trestných činech za období 2010 až 2018). Za což jsme byly na jednu stranu strašně rády (Brno nám je bližší než NY), ale na straně druhé tu byla otázka, stihneme to všechno za tři týdny? Po dlouhých úvahách a konzultacích s mentory jsme se rozhodly zpracovávat oba datasety s tím, že naše původní ambiciózní představy jsme musely hodně osekat a zúžit. Co tedy chceme dělat a proč?
  • Chceme zjistit, zda v NY a Brně počasí ovlivňuje kriminalitu a jak se jednotlivá města v tomto ohledu liší. Kde jsou zloději choulostivější a kde se krade za každého počasí?
  • Jak vypadá obecně kriminalita v jednotlivých městech, co mají společného, čím se liší? V jakých dnech a hodinách nejčastěji dochází k trestným činům?
  • V neposlední řadě chceme vytvořit interaktivní vizualizace o kriminalitě v Brně pro veřejnost.
 A proč to děláme?
    • Chtěly jsme zpracovávat velká data, vyzkoušet si, co jsme se v DA naučily a posunout se dál (proto ten NY). Velkou výzvou pro nás byl i jazyk R, kde jsme chtěly dělat hlavní část našeho projektu.
    • Chtěly jsme se o kriminalitě dozvědět konkrétnější informace. Jediné, na co v Brně narazíme, je upozornění na kapesní zloděje v oblasti Hlavního nádraží. Ale, na co si dát pozor dál? Myslíme si, že o podrobnější informace by stála i širší veřejnost, protože kriminalita je bohužel součást každodenního života ve větších městech a informovaná veřejnost dokáže lépe čelit tomuto nebezpečí. 

      Zpracování a průzkum dat

      Jak jsme postupovaly

      Jak už jsme zmínily výše, data jsme postupně nahrávaly do databáze na SQL serveru; založily jsme dvě databáze – jednu pro New York, druhou pro Brno. Tabulky o počasí jsme spojovaly, bohužel jsme již nezískaly data o počasí v Brně pro rok 2018, na Darksky byla hodně neúplná a tak nám do analýzy rok 2018 nevstupuje. Data jsme čistily, v obou databázích byly i činy, které se staly před sledovaným obdobím (z toho důvodu, že byly nahlášeny později). Na čem jsme se zasekly, bylo zjištění, že nám stahovaná data o počasí nezačínají půlnocí 😊 Zjistili jsme, že pomocí Pythonu jsme stahovaly data v časové zóně UTC a tak jsme musely změnit časové pásmo pro New York a pro Brno též a tím jsme se vypořádaly i s letním/zimním časem. Ve sledovaných obdobích bylo několik přestupných roků, takže na to jsme také musely dát pozor při stahování dat o počasí.

      Převedení časové zóny pomocí SQL (Brno)

      Dále jsme potřebovaly vytvořit větší skupiny trestných činů pro následnou analýzu. Inspirovaly jsme se novozélandskou studií, která také zkoumala vliv počasí na kriminalitu, a rozdělily si činy do 3 skupin:
      1. Násilné činy (včetně sexuálních) a výtržnictví
      2. Krádeže a loupeže
      3. Ostatní trestné činy
      Vycházíme z předpokladu, že na poslední kategorii činů nemá počasí vůbec vliv (podvody, krácení daní apod.) a v analýze vlivu počasí s nimi neuvažujeme. Původně bylo v datasetu New York 71 kategorií trestných činů a v Brně 171, takže jsme pěkně postupně slučovaly… 😊

      Výstupem našeho snažení v SQL byly pro každé město 4 tabulky s odpovídajícími vazbami: Tabulka o jednotlivých trestných činech, tabulka o hodinovém počasí, tabulka spojující počasí a kriminalitu, tabulka obsahující datovou dimenzi. Tyto tabulky jsme nahrály do PowerBI pro další vizualizace. Hlavní částí ale bylo odhalit vliv počasí na kriminalitu a to jsme se rozhodly ověřovat pomocí vícenásobné regrese v R. Proč? Protože jsme se nechtěly jen podívat na data a říct si „Aha, tady to vypadá, že tam nějaký vztah je“ 😊, ale chtěly jsme si to statisticky ověřit a dokázat, zda je vliv počasí na kriminalitu statisticky významný. A regrese je skvělá v tom, že nám to ukáže.

      Podoba dat a základní popisná statistika

      Tabulky níže ukazují základní charakteristiky newyorského a brněnského datasetu. V Tab. 1 lze vidět, že denní průměr všech trestných činů v NY byl ve sledovaném období 1 383. Násilných činů se průměrně stalo 675 a krádeží 483. Pokud denní průměrná teplota klesla pod 14 °C, snížil se průměrný počet činů na 1 302, pokud naopak vzrostla nad 27 °C, počet činů se zvýšil na 1 463.

      Tab. 1: Kriminalita a počasí v New Yorku v období 2006–2016


      Denní průměr
      Teplota < 14 °C
      Teplota > 27 °C
      Úhrn srážek > 10 mm
      Denní minimum
      Denní maximum
      Počet činů za den
      1 383
      1 302
      1 463
      1 327
      450
      2 397
      Počet násilných činů za den
      675
      630
      724
      638
      251
      1 501
      Počet krádeží za den
      483
      452
      514
      480
      167
      754
      Počet ostatních činů za den
      224
      218
      224
      208
      32
      420
      Teplota
      12,8



      -17,6
      38,8
      Srážky
      2,1



      0,0
      124,3
      Počet pozorování
      5 558 783
      2 090 842
      1 203 957
      357 040



      Tab. 2 naznačuje, že na úrovni Brna se průměrný počet trestných činů s měnící se teplotou nebo srážkami ve sledovaném období 2010 až 2017 téměř neměnil. Průměrný denní počet všech trestných činů v Brně byl 36, násilné činy se průměrně staly 3 a každý den došlo průměrně ke 22 krádežím.

      Tab. 2: Kriminalita a počasí v Brně v období 2010–2017


      Denní průměr
      Teplota < 14 °C
      Teplota > 27 °C
      Úhrn srážek > 10 mm
      Denní minimum
      Denní maximum
      Počet činů za den
      36
      36
      34
      36
      8
      242
      Počet násilných činů za den
      3
      3
      3
      3
      1
      17
      Počet krádeží za den
      22
      22
      21
      22
      1
      55
      Počet ostatních činů za den
      11
      11
      10
      10
      1
      189
      Teplota
      10,5



      -17,4
      36,6
      Srážky
      0,7



      0,0
      43,3
      Počet pozorování
      107 571
      55 199
      11 018
      1 237


      Příprava dat k regresi

      Z SQL databáze jsme potřebovaly získat tabulku, kde by byly spojené trestné činy pro jednotlivé kategorie spolu s údaji o počasí. Ačkoliv jsme měly informace po hodinách, nakonec jsme se rozhodly pro celková denní data, protože pro Brno by činů po hodinách nebylo tolik a zároveň, aby nedošlo ke zkreslení výsledků z důvodu nepřesného zadávání časových údajů k jednotlivým činům – největší počet krádeží byl v odpoledních hodinách a je otázkou, zda k tomu činu opravdu došlo v daný čas nebo se tak stalo dříve a čin byl zjištěn po navrácení majitele z práce (krádež kola, krádež věcí z auta…). Průměrnou denní teplotu jsme počítaly podle vzorce (T(7) + T(14) + 2T(21))/4, kde čísla v závorce značí hodinu, ve které byla teplota zjišťována. Srážky jsme počítaly jako úhrn za celých 24 hodin. Tlak jako průměrný denní tlak.

      Skript pro vytvoření tabulky spojující denní data o trestných činech a počasí

      Explorace dat v RStudiu

      Denní data o trestných činech a počasí jsme načetly do R a pomocí průzkumných vizualizací jsme se podívaly na to, jak data vypadají. Z již výše uvedených důvodů jsme se rozhodly dále pracovat pouze s dvěma kategoriemi trestných činů a to násilnými činy a krádežemi.

      Boxplot níže nám ukázal rozložení četností pro násilné činy a krádeže v New Yorku po jednotlivých dnech v týdnu. Box (nebo krabice) obsahuje 50 % činů, které se v daný den staly. Linka uprostřed boxu představuje medián činů. Vidíme, že násilné činy i krádeže se nejvíce děly v pátek a naopak klesaly v neděli. Vzhledem k tomu, že se u násilných činů objevilo 11 výrazných outlierů (odlehlých hodnot ležících v horní části grafu), podívaly jsme se na ně a zjistily jsme, že se jedná výhradně o první ledny. Z toho důvodu jsme se rozhodly první leden zařadit jako další proměnnou do regresního modelu pro vliv počasí na násilné činy v NY.

      Graf 1: Četnost násilných činů a krádeží v New Yorku po jednotlivých dnech

      Grafy níže zobrazují rozložení četností násilných činů a krádeží pro různé denní průměrné teploty. Vyhlazovací křivka naznačuje rostoucí počet trestných činů s rostoucí teplotou. To ale ještě nemusí nic znamenat, proto jsme se rozhodly naše předpoklady ověřit regresí.
      Graf 2: Rozložení násilných činů a krádeží v New Yorku podle denní průměrné teploty


      Na rozdíl od NY je v Brně daleko nižší počet násilných činů (i na obyvatele). Podobně jako v NY se v Brně nejvíce kradlo v pátek a nejméně v neděli. Během průzkumu brněnských dat jsme narazily na to, že některé typy násilných činů jsou často evidovány první dny v měsíci a zkreslují tak celkové výsledky.
      Graf 1: Četnost násilných činů a krádeží v Brně po jednotlivých dnech


      Vyhlazovací křivka pro korelaci mezi počtem činů a průměrnou teplotou nenaznačuje v rámci Brna žádný vztah mezi těmito proměnnými. Uvidíme, co řekne regrese.
      Graf 2: Rozložení násilných činů a krádeží v Brně podle denní průměrné teploty

      Výstupy

      Trocha teorie k regresi

      Regrese, zjednodušeně řečeno, odhaduje hodnotu náhodné veličiny (v našem případě počtu krádeží nebo násilných činů za den) na základě znalosti jiných veličin (v našem případě to budou údaje o počasí a dny v týdnu). Konkrétní model (rovnice) pak například pro krádeže vypadá následovně:

      kde všechny β značí hodnoty, které nám nejlépe vysvětlují, kolik krádeží se v jednotlivých dnech stalo, když známe údaje o počasí atd. (k výpočtu se využívá metody nejmenších čtverců), ε pak značí náhodné chyby.

      V následujících modelech vysvětlujeme počet trestných činů za den pomocí údajů o počasí, dnech v týdnu a trendu (ten jsme tam zařadily proto, že zejména u krádeží dochází k jejich poklesu ve sledovaném období). Pokud jsme s ohledem na charakter dat přidávaly další proměnné, zmiňujeme to v modelech níže.

      Vliv počasí na násilné činy v New Yorku

      Z dat vyplývá, že v NY je v přepočtu na obyvatele 10 × větší počet násilných činů než v Brně a tedy průměrně se v NY stane za den 8,2 násilných činů na 100 000 obyvatel a v Brně jen 0,8 násilných činů na 100 000 obyvatel (což je vlastně strašně super, ale do analýzy se nám už to moc nehodí 😀). V případě Brna jsme tak kvůli nízkému množství násilných činů a jejich rozložení shledaly vícenásobnou regresi nevhodnou a použily ji pouze pro násilné činy v NY. Dále už se podíváme na výsledky.

      Nejprve si ukážeme, jak zjednodušeně číst výstupy z regrese. V tabulce 3 úplně vlevo jsou údaje o počasí a dnech v týdnu (proměnné). Je zde i první leden pro NY (vykazoval extrémní hodnoty a zkreslil by analýzu). V dalším sloupci Estimate (to jsou ty bety z regresní rovnice) jsou hodnoty, které můžeme číst jako "O kolik vzroste/klesne počet násilných činů denně, pokud se daná proměnná zvýší o jednotku (např. o 1 °C, o 1 mm srážek...)." U dnů v týdnu to bude trochu komplikovanější, jako výchozí stav máme pondělí, takže interpretace bude ve smyslu "O kolik vzroste/klesne počet násilných činů v uvedený den oproti pondělí". Pro první leden bude platit "O kolik vzroste/klesne počet násilných činů prvního ledna."
      Ukázka modelu regrese v R

      Tab. 3: Výstupy regresního modelu násilných činů v New Yorku

      Dále je hodně důležitý sloupec Pr (>|t|), tam se díváme na hvězdičky, pokud tam jsou, daná proměnná je statisticky významná. V případě NY vidíme, že až na tlak jsou všechny proměnné významné a ovlivňují celkový denní počet násilných činů. Super! O tom, jak je model dobrý, nám řekne i hodnota Adjusted R-squared, která znamená, kolik procent variability souboru vysvětluje daný model zjednodušeně: "Kolik procent toho, jak se počty trestných činů v jednotlivých dnech mění, nám vysvětluje daný model". Pro násilné činy vychází krásných 54,38 % 😊 

      Vliv počasí na krádeže v New Yorku a v Brně

      Když jsme přepočítavaly průměrný počet krádeží za den na počet obyvatel, zjistily jsme, že se denně po zaokrouhlení na dvě desetinná místa stane v průměru 5,85 krádeží na 100 000 obyvatel v New Yorku i v Brně! V obou městech se vzhledem k počtu obyvatel krade stejně.

      U popisu tabulek pro výstupy z modelu platí stejné, co výše, s rozdílem, že neuvažujeme první leden (nebyly tam extrémy jako u násilných činů). Pro NY máme výsledky opět pěkné, všechny proměnné až na úterý jsou statisticky významné, což lze chápat tak, že v úterý se stane hodně podobný počet krádeží jako v pondělí. Oproti násilným činům vyšel jako statisticky významný i tlak, škoda, že jej nemáme i u Brna (nepovedlo se nám jej zjistit za celé sledované období). Až na sobotu jsou všechny proměnné významné (podobná interpretace jako u úterý v NY). Hodnoty Adjusted R-squared jsou pěkné jak u NY (54,23 %), tak u Brna (41,17 %).

      Tab. 4: Výstupy regresního modelu krádeží v New Yorku
      Tab. 5: Výstupy regresního modelu krádeží v Brně

      Jelikož nám modely pro krádeže vyšly pěkně pro obě města, rozhodly jsme se výstup vizualizovat ve společném grafu, kde můžeme obě města porovnat. Vkládáme zde i skript pro výrobu grafu. Na ose x můžeme vidět průměrné denní teploty, na ose y procentuální odchylky v počtu krádeží za den oproti průměru. Podle tvaru křivek je hezky vidět, jak rozdílně reagují na změny teplot zloději z Brna a NY. Zatímco v Brně se počet krádeží s rostoucí teplotou zvyšuje jen zlehka, a od 25 °C začíná klesat, v NY jsou zloději se zvyšující se teplotou o dost aktivnější a zlom pravděpodobně nastane až někde za 30 °C. Na zimu už jsou brněnští zloději více choulostiví, když je průměrná denní teplota -5°C, je počet krádeží za den o více než 10 % nižší než je průměr, v tempu poklesu ale pořád zaostávájí za zloději v New Yorku, kteří nejspíš mrazivé dny opravdu nemají rádi, protože v takových dnech zde klesá počet krádeží o víc než 25 % oproti průměru.
      Ukázka skriptu pro vizualizaci křivek z regrese v R
      Graf 5: Jak se procentuálně mění počet krádeží v závislosti na změnách v průměrně teplotě

      Heat mapy a report v Power BI

      Jako jeden ze způsobů vizualizace jsme zvolily heatmapu. Heatmapy níže zobrazují četnost násilných činů a krádeží pro jednotlivé dny v týdnu v jednotlivých měsících. Čím je čtverec žlutější, tím více činů se v ten den a měsíc stalo. Naopak čím je fialovější, tím se jich stalo méně. Pro vytvoření heatmap jsme použily následující skript v R:
      Ukázka skriptu pro vytvoření heatmapy v R

      Heatmapy pro NY ukazují, že k násilným činům i krádežím docházelo ve sledovaném období o něco více v teplejších měsících. Méně násilných činů se dělo v listopadu nebo v prosinci. Únor ve všech případech vychází jako podprůměrný, je to sice chladný měsíc, ale je potřeba počítat se zkreslením dat kvůli tomu, že má pouze 28 (29) dní a ne 30 (31) jako ostatní. S ohledem na dny v týdnu se v NY nejvíce krádeží událo v pátek a nejméně v neděli.

      Násilné činy v Brně žádné výraznější korelace mezi dnem v týdnu a měsíci neukazují. U krádeží je vidět, že k nim podobně jako v NY docházelo často v pátek a málo v neděli. Zloději asi odpočívají po nedělním obědě😊

      Heatmapy níže zobrazují celkový počet násilných činů a krádeží v NY a Brně ve sledovaných obdobích po jednotlivých dnech v týdnu a hodinách. V rámci NY je vidět, že k nejnižší trestné činnosti docházelo v pozdních nočních hodinách a dopoledne a k nejvyšší v odpoledních hodinách. Zajímavé je i to, že na úrovni NY vizualizace ukazují vychýlení násilných činů i krádeží pro noci z pátku na sobotu a ze soboty na neděli, kdy se lidé chodí bavit.
      Násilné činy v Brně nenaznačují významný vliv denní doby. Jedinou výjimkou je sobotní půlnoc (o půlnoci dne 1. 1. 2011 bylo zaznamenáno celkem 12 násilných činů, což je nejvíce evidovaných násilných činů za jednu hodinu ve sledovaném období). Krádeže v Brně dosahují nejvyšších hodnot v pátek odpoledne. Zatímco dopoledne, v nočních hodinách a v neděli jsou nejnižší.

      Vizualizace v Power BI

      Power BI je mimo jiné dobrý vizualizační nástroj pro velké množství dat a tak jsme rozhodly naše data vizualizovat i právě v něm, protože nabízí široké možnosti, co se týče interaktivních grafik, a zároveň je uživatelsky velmi intuitivní. Následující část s výstupy je určena především pro širší veřejnost, aby se s daty o kriminalitě v Brně mohla seznámit a proklikat si to, co ji zajímá. Níže naleznete interaktivní report přibližující vztah počasí a kriminality v Brně a New Yorku. Pod ním je report informující obecně o kriminalitě v Brně během sledovaného období.

      Pár slov na závěr

      Zjistily jsme spoustu informací a závěrem bychom rády zmínily to nejdůležitější a nejzajímavější.

      Prokázaly jsme, že počasí ovlivňuje násilné činy i krádeže v New Yorku. Počet trestných činů klesá s klesající teplotou nebo s vyšší intenzitou srážek. U krádeží v Brně jsme tento vztah také prokázaly, avšak celkový efekt, který počasí na kriminalitu má, není tak velký jako v případě NY.

      Nejdříve jsme si myslely, že srovnávat město a velkoměsto bude mimo mísu. Trestných činů bude přece ve velkoměstě násobně více v přepočtu na obyvatele. Ano, to se potvrdilo u násilných činů. Nicméně v počtu krádeží na obyvatele si NY s Brnem nemají co vyčítat, jsou na tom úplně stejně.

      Pracovní doba zlodějů se v zásadě mezi NY a Brnem v zásadě neliší. Zajímavým zjištěním bylo, že ačkoliv ta ‘standardní’ pracující část obyvatelstva se v pátek zpravidla již těší na víkend a pokud je jí to umožněno, chodí z práce dříve, naopak zloději jsou v pátečních odpoledních hodinách nejproduktivnější.

      A co bude dál?

      Určitě bychom si s daty více pohrály, kdybychom měly konkrétnější lokalizace trestných činů v Brně. Rády bychom se naučily pracovat s mapami a zkusily hledat určité vazby mezi typy trestných činů a danou lokalitou.

      Komentáře

      Okomentovat

      Populární příspěvky z tohoto blogu

      Barbora Junová: Podpora začínajícího podnikání zaměřeného na prodej výrobků a poskytování služeb

      Petra Havlínová: Automatické zpracování podkladů pro vyhodnocení vybraných KPI