<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
  <title>politika on JLA Data</title>
  <link>https://www.jla-data.net/tags/politika/</link>
  <description>Recent content in politika on JLA Data</description>
  <generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Jindra Lacko</copyright>
<lastBuildDate>Wed, 23 Jul 2025 00:00:00 +0000</lastBuildDate>

<atom:link href="https://www.jla-data.net/tags/politika/index.xml" rel="self" type="application/rss+xml" />


<item>
  <title>Model mezd v zrcadle času</title>
  <link>https://www.jla-data.net/cze/model-mezd-v-zrcadle-casu/</link>
  <pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/model-mezd-v-zrcadle-casu/</guid>
  <description>


&lt;p&gt;Když jsem před lety sepisoval populárně poučný příspěvek o odhadování exponenciály metodou nejmenších čtverců – dělá se to přes &lt;a href=&#34;https://stat.ethz.ch/R-manual/R-patched/library/stats/html/nls.html&#34;&gt;&lt;code&gt;stats::nls()&lt;/code&gt;&lt;/a&gt; – tak jsem použil vědomě lehčí formulace problému coby &lt;a href=&#34;https://www.jla-data.net/cze/mzdova-inflace-v-erku/&#34;&gt;mezd ajťáků v časech Andreje Babiše&lt;/a&gt;. Tím jsem svojí exponenciálu zasadil do času a prostoru.&lt;/p&gt;
&lt;p&gt;Rok se sešel s rokem, volební období s obdobím, a z obrazovek nás opět bombardují politici s tím že tentokráte určitě bude líp, stačí když dáme hlas jim (a ne &lt;em&gt;těm druhým&lt;/em&gt;). Přišlo mi to jako zajímavá příležitost k tomu, abych se vrátil do staré řeky a oprášil techniky práce s geometrickou řadou v kontextu statistického programovacího jazyka R.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Cílem cvičení bude:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;připomenout techniku, jak pomocí balíčku &lt;a href=&#34;https://petrbouchal.xyz/czso/&#34;&gt;&lt;code&gt;{czso}&lt;/code&gt;&lt;/a&gt; přistupovat k datům z &lt;a href=&#34;https://vdb.czso.cz/&#34;&gt;Veřejné databáze Českého statistického úřadu&lt;/a&gt; přímo do R vaší session&lt;/li&gt;
&lt;li&gt;načtený dataset zpracovat technikami světa &lt;a href=&#34;https://www.tidyverse.org/&#34;&gt;&lt;code&gt;{tidyverse}&lt;/code&gt;&lt;/a&gt;, konkrétně balíčky &lt;a href=&#34;https://dplyr.tidyverse.org/&#34;&gt;&lt;code&gt;{dplyr}&lt;/code&gt;&lt;/a&gt; pro datovou manipulaci a &lt;a href=&#34;https://ggplot2.tidyverse.org/&#34;&gt;&lt;code&gt;{ggplot2}&lt;/code&gt;&lt;/a&gt; pro statickou vizualizaci&lt;/li&gt;
&lt;li&gt;o datasetu mezd a jejich vývoji v čase podat zprávu graficky&lt;/li&gt;
&lt;li&gt;nad datasetem mezd sestavit matematický model, a uplatnit jej&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Protože mzdy a jejich vývoj v čase je složitý problém, který není snadné plně podchytit v jeho komplexnosti, zaměřím se na dva sektory ve kterých se pohybuju a se kterými mám žitou zkušenost:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;jako konzultant působím v sektoru &lt;code&gt;J - Informační a komunikační činnosti&lt;/code&gt; (“ajťáci”)&lt;/li&gt;
&lt;li&gt;jako student a vyučující na VŠE patřím do sektoru &lt;code&gt;P - Vzdělávání&lt;/code&gt; (“učitelky”)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Základem je načtení dat:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;library(czso) # protože staťák...
library(tidyverse) # kvůli dplyr &amp;amp; ggplot2
library(zoo) # pro konverzi datumů / kvartály v letech

# načtu dataset s id 110079  = Zaměstnanci a průměrné hrubé měsíční mzdy podle odvětví
raw_mzdy &amp;lt;- czso::czso_get_table(&amp;quot;110079&amp;quot;)

# odliji stranou čistší dataset
clean_mzdy &amp;lt;- raw_mzdy %&amp;gt;% 
  filter(stapro_kod == &amp;#39;5958&amp;#39;  # průměrná mzda / zahazuju počty zaměstnanců
         &amp;amp; rok &amp;gt;= 2016
         &amp;amp; typosoby_kod == &amp;#39;200&amp;#39;# přepočet na ekvivalent plného úvazku
         &amp;amp; odvetvi_kod %in% c(&amp;#39;P&amp;#39;, &amp;#39;J&amp;#39;)) %&amp;gt;% # vybrané sektory
  # konverze konvence z roku + čtvrtletí na prosté datum (první den kvartálu)
  mutate(datum = as.Date(as.yearqtr(paste0(rok, &amp;quot;Q&amp;quot;, ctvrtleti))))  %&amp;gt;% 
  arrange(datum) %&amp;gt;% # setřídím dle data / pro jistotu, kvůli sekvenci v příštím kroku
  group_by(odvetvi_kod) %&amp;gt;% 
  mutate(sekvence = rank(datum),
         posledni = datum == max(datum)) %&amp;gt;%  # poslední záznam - pro popisku grafů
  ungroup()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nad načtenými daty připravím vizualizaci technikami &lt;code&gt;ggplot2&lt;/code&gt;-u; je zajímavé pozorovat jak mzdy ajťáků i učitelek mají stejně jasný sezónní trend (1× ročně bonusy) ale se špičkami v různých čtvrtletích.&lt;/p&gt;
&lt;p&gt;Pracovně se domnívám, že učitelky mají odměny spíše svázané s rozpočtem (vyplácené v Q4, aby se utratilo), kdežto ajťáci spíše s hospodářským výsledkem (vyplácené v Q1, po závěrce roku).&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;# základní overview graficky
ggplot(data = clean_mzdy, aes(x = datum, y = hodnota, 
                              fill = odvetvi_txt)) +
  geom_point(pch = 21, stroke = NA) +
  scale_y_continuous(limits = c(0, NA), 
                     labels = scales::dollar_format(prefix = &amp;quot;&amp;quot;, 
                                                    suffix = &amp;quot; Kč&amp;quot;,
                                                    big.mark = &amp;quot; &amp;quot;)) +  
  scale_x_date(breaks = seq(as.Date(&amp;quot;2015-01-01&amp;quot;),
                            as.Date(&amp;quot;2025-01-01&amp;quot;),
                            by = &amp;quot;2 years&amp;quot;),
               date_minor_breaks = &amp;quot;1 year&amp;quot;,
               date_labels = &amp;quot;%Y&amp;quot;) +
  labs(title = &amp;quot;Průměrná hrubá měsíční mzda v čase&amp;quot;,
       fill = &amp;quot;Sektor podle ČSÚ&amp;quot;) +
  theme_minimal() +
  theme(legend.position = c(0.795, 0.175),
        legend.direction = &amp;quot;vertical&amp;quot;,
        axis.title = element_blank())&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/cze/model-mezd-v-zrcadle-casu/index_files/figure-html/obrazek-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Kromě výrazné roční periody je v grafech (hlavně na učitelkách) intuitivně cítit změna trendu kolem konce roku 2021. Tuto intuici můžeme ověřit odděleným natrénováním matematického modelu nad érami Andreje Babiše a Petra Fialy.&lt;/p&gt;
&lt;p&gt;Předpoklad za modelem je, že se mzda se chová jako exponenciála (každý kvartál vzroste o stejné relativní procento) a ne jako přímka (každý kvartál vzroste o stejnou absolutní částku).&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;# omezený dataset &amp;quot;éra Andreje Babiše&amp;quot; pro trénink modelu
era_babise &amp;lt;- clean_mzdy %&amp;gt;% 
  filter(datum &amp;gt;= as.Date(&amp;quot;2017-12-13&amp;quot;)  # počátek první vlády AB
         &amp;amp; datum &amp;lt; as.Date(&amp;quot;2021-12-17&amp;quot;))   # konec druhé vlády AB
 

# omezený dataset &amp;quot;éra Petra Fialy&amp;quot; pro trénink modelu
era_fialy &amp;lt;- clean_mzdy %&amp;gt;% 
  filter(datum &amp;gt;= as.Date(&amp;quot;2021-12-17&amp;quot;))  # jmenování PF prezidentem MZ
  
# 4x matematický model přes stats::nls()
model_babis_p &amp;lt;- nls(hodnota ~ a * (1 + r)^sekvence,
                     data = subset(era_babise, odvetvi_kod == &amp;quot;P&amp;quot;),
                     start = list(a = 50000, r = .01)) 

model_babis_j &amp;lt;- nls(hodnota ~ a * (1 + r)^sekvence,
                     data = subset(era_babise, odvetvi_kod == &amp;quot;J&amp;quot;),
                     start = list(a = 50000, r = .01))  

model_fiala_p &amp;lt;- nls(hodnota ~ a * (1 + r)^sekvence,
                     data = subset(era_fialy, odvetvi_kod == &amp;quot;P&amp;quot;),
                     start = list(a = 50000, r = .01))  

model_fiala_j &amp;lt;- nls(hodnota ~ a * (1 + r)^sekvence,
                     data = subset(era_fialy, odvetvi_kod == &amp;quot;J&amp;quot;),
                     start = list(a = 50000, r = .01)) &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Když přepočteme kvartální růst mezd na roční ekvivalenty, tak se dostaneme na následující čísla:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ajťákům v časech Andreje Babiše rostly mzdy o &lt;code&gt;4.74%&lt;/code&gt; ročně&lt;/li&gt;
&lt;li&gt;ajťákům v časech Petra Fialy rostly mzdy o &lt;code&gt;8.91%&lt;/code&gt; ročně&lt;/li&gt;
&lt;li&gt;učitelkám v časech Andreje Babiše rostly mzdy o &lt;code&gt;11.2%&lt;/code&gt; ročně&lt;/li&gt;
&lt;li&gt;učitelkám v časech Petra Fialy rostly mzdy o &lt;code&gt;4.52%&lt;/code&gt; ročně&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je velká otázka, jak moc můžeme modelovaný nárůst (a jeho změnu mezi vládami) přisuzovat za zásluhu konkrétnímu premiérovi. Těžko tvrdit, že Babiš může za Covid, případně Fiala za Ukrajinu. Ale říct, že za časů jednoho bylo jednak, a za časů druhého druhak, jde snadno - datumy začátku a konce vlád jsou ložené.&lt;/p&gt;
&lt;p&gt;A také si můžeme společně zaspekulovat: jak by vypadal svět, pokud by se trend &lt;em&gt;nezměnil&lt;/em&gt;? Jak by vypadaly &lt;em&gt;dnes&lt;/em&gt; mzdy ajťáků a učitelek, pokud by pokračovalo tempo předchozí vlády?&lt;/p&gt;
&lt;p&gt;Pomocníkem v našem spekulování bude metoda &lt;a href=&#34;https://stat.ethz.ch/R-manual/R-patched/library/stats/html/predict.nls.html&#34;&gt;&lt;code&gt;stats::predict.nls()&lt;/code&gt;&lt;/a&gt;, jejímž uplatněním na natrénovaný matematický model získáme nová data – a s jejich pomocí obohatíme původní obrázek o původní a nový trend.&lt;/p&gt;
&lt;p&gt;Pro snazší orientaci barvím éru Petra Fialy fialově, a éru Andreje Babiše &lt;a href=&#34;https://www.agrofert.cz/o-agrofertu/tiskove-oddeleni&#34;&gt;korporátní zelenou&lt;/a&gt;.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;# pomocný dataset pro oddělený výpočet trendů v érách
trendy &amp;lt;- clean_mzdy %&amp;gt;% 
  select(datum, sekvence, posledni) %&amp;gt;% 
  unique() %&amp;gt;% 
  mutate(era = case_when(datum &amp;lt;= as.Date(&amp;quot;2017-12-13&amp;quot;) ~ &amp;quot;sobotka&amp;quot;,
                         datum &amp;lt;= as.Date(&amp;quot;2021-12-17&amp;quot;) ~ &amp;quot;babis&amp;quot;,
                         T ~ &amp;quot;fiala&amp;quot;))

# trendy ajťáků v datasetu
trendy$ab_p &amp;lt;- predict(model_babis_p, newdata = trendy)
trendy$pf_p &amp;lt;- predict(model_fiala_p, newdata = trendy)

# trendy učitelů v datasetu
trendy$ab_j &amp;lt;- predict(model_babis_j, newdata = trendy)
trendy$pf_j &amp;lt;- predict(model_fiala_j, newdata = trendy)

# výsledný obrázek - původní ggplot, doplněný o trendové čáry
ggplot(data = clean_mzdy, aes(x = datum, y = hodnota)) +
  geom_point(aes(fill = odvetvi_txt),
             stroke = NA,
             pch = 21)  +
  scale_y_continuous(limits = c(0, NA), 
                     labels = scales::dollar_format(prefix = &amp;quot;&amp;quot;, 
                                                    suffix = &amp;quot; Kč&amp;quot;,
                                                    big.mark = &amp;quot; &amp;quot;)) +  
  scale_x_date(breaks = seq(as.Date(&amp;quot;2015-01-01&amp;quot;),
                            as.Date(&amp;quot;2025-01-01&amp;quot;),
                            by = &amp;quot;2 years&amp;quot;),
               date_minor_breaks = &amp;quot;1 year&amp;quot;,
               date_labels = &amp;quot;%Y&amp;quot;) +
  geom_line(data = trendy, aes(x = datum, y = ab_p), 
            color = &amp;quot;grey&amp;quot;, lty = &amp;quot;dashed&amp;quot;) +
  geom_line(data = subset(trendy, era == &amp;quot;babis&amp;quot;), 
            aes(x = datum, y = ab_p, color = &amp;quot;AB&amp;quot;)) +
  geom_line(data = subset(trendy, era == &amp;quot;fiala&amp;quot;), 
            aes(x = datum, y = pf_p, color = &amp;quot;PF&amp;quot;)) +
  geom_line(data = trendy, aes(x = datum, y = ab_j), 
            color = &amp;quot;grey&amp;quot;, lty = &amp;quot;dashed&amp;quot;) +
  geom_line(data = subset(trendy, era == &amp;quot;babis&amp;quot;), 
            aes(x = datum, y = ab_j, color = &amp;quot;AB&amp;quot;)) +
  geom_line(data = subset(trendy, era == &amp;quot;fiala&amp;quot;), 
            aes(x = datum, y = pf_j, color = &amp;quot;PF&amp;quot;)) +
  geom_text(data = subset(clean_mzdy, posledni), 
            aes(x = datum, y = hodnota, label = scales::comma(hodnota)),
            nudge_x = 250) +
  geom_text(data = subset(trendy, posledni), 
            aes(x = datum, y = ab_p, label = scales::comma(ab_p)),
            color = &amp;quot;gray70&amp;quot;,
            nudge_x = 250) +
  geom_text(data = subset(trendy, posledni), 
            aes(x = datum, y = ab_j, label = scales::comma(ab_j)),
            color = &amp;quot;gray70&amp;quot;,
            nudge_x = 250) +
  scale_color_manual(&amp;quot;Éra vlády&amp;quot;, 
                     values = c(&amp;quot;AB&amp;quot; = &amp;quot;#5c9234&amp;quot;,
                                &amp;quot;PF&amp;quot; = &amp;quot;darkorchid&amp;quot;)) +
  labs(title = &amp;quot;Trendy mezd v érách Babiše a Fialy&amp;quot;,
       fill = &amp;quot;Sektor podle ČSÚ&amp;quot;) +
  theme_minimal() + 
  guides(color = guide_legend(position = &amp;quot;bottom&amp;quot;,
                              direction = &amp;quot;horizontal&amp;quot;)) +
  theme(legend.position = c(0.795, 0.175),
        legend.direction = &amp;quot;vertical&amp;quot;,
        axis.title = element_blank())&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/cze/model-mezd-v-zrcadle-casu/index_files/figure-html/dva-trendy-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Z grafu je patrné, že změna trendu měla na ajťáky a učitelky opačný vliv:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ajťáci se dnes proti trendu z časů Andreje Babiše pohybují přibližně +15 tisíc Kč / měsíc&lt;/li&gt;
&lt;li&gt;učitelky se dnes proti trendu z časů Andreje Babiše pohybují přibližně -20 tisíc Kč / měsíc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A protože jsme v Česku, kde se nehraje až tolik na to abych se měl absolutně dobře (co je absolutně dobře? jaká je jednotka dobrosti?) ale jestli se mám relativně líp jak soused, tak se podíváme na relativní poměr mezd ajťáků a učitelek:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;rel_mzdy &amp;lt;- clean_mzdy %&amp;gt;% 
  # pivot z &amp;quot;dlouhého&amp;quot; formátu na &amp;quot;široký&amp;quot;
  pivot_wider(id_cols = datum, 
              names_from = odvetvi_kod, 
              values_from = hodnota) %&amp;gt;% 
  mutate(pomer = P / J) # podíl učitelek ku ajťákům

ggplot(data = rel_mzdy, aes(x = datum, y = pomer)) +
  annotate(&amp;quot;rect&amp;quot;,
           xmin = as.Date(&amp;quot;2017-12-13&amp;quot;), # počátek první vlády AB
            xmax = as.Date(&amp;quot;2021-12-17&amp;quot;), # konec druhé vlády AB
            ymin = 0,
            ymax = Inf,
            fill = &amp;quot;#5c9234&amp;quot;,
            alpha = 1/5) +
    annotate(&amp;quot;rect&amp;quot;,
           xmin = as.Date(&amp;quot;2021-12-17&amp;quot;), # jmenování PF premiérem
            xmax = max(clean_mzdy$datum), # konec datová řady
            ymin = 0,
            ymax = Inf,
            fill = &amp;quot;darkorchid&amp;quot;,
            alpha = 1/5) +
  geom_smooth(se = F, color = &amp;quot;red&amp;quot;, alpha = 2/3) + 
  geom_point(pch = 4, size = 3/4, color = &amp;quot;gray25&amp;quot;) +
  geom_point(data = rel_mzdy[c(which.max(rel_mzdy$pomer),
                               which.min(rel_mzdy$pomer)),],
             color = &amp;quot;red&amp;quot;) +
  geom_text(data = rel_mzdy[which.max(rel_mzdy$pomer),],
            aes(x = datum, y = pomer,
                label = paste0(round(100 * pomer, 2), &amp;quot;%&amp;quot;)),
            nudge_y = .04) +
  geom_text(data = rel_mzdy[which.min(rel_mzdy$pomer),],
            aes(x = datum, y = pomer,
                label = paste0(round(100 * pomer, 2), &amp;quot;%&amp;quot;)),
            nudge_y = -.04) +
  scale_y_continuous(limits = c(0, NA), 
                     labels = scales::percent) +  
  scale_x_date(breaks = seq(as.Date(&amp;quot;2015-01-01&amp;quot;),
                            as.Date(&amp;quot;2025-01-01&amp;quot;),
                            by = &amp;quot;2 years&amp;quot;),
               date_minor_breaks = &amp;quot;1 year&amp;quot;,
               date_labels = &amp;quot;%Y&amp;quot;) +
  theme_minimal() + 
  theme(axis.title = element_blank()) +
   labs(title = &amp;quot;Relativní srovnání mezd sektorů Vzdělávání a ICT&amp;quot;,
        subtitle = &amp;quot;v érách premiérů Babiše a Fialy &amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/cze/model-mezd-v-zrcadle-casu/index_files/figure-html/srovnani-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Graf je zrnitý (pamatujete, že učitelky mívají bonusy v jiném kvartálu než ajťáci?) ale dá se technikami erka vyhladit. A dvě informace z něj vyskakují zřetelně:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;historicky nejvyšší poměr mezd průměrné učitelky k průměrnému ajťákovi byl 2021-Q4 (tedy poslední kvartál éry Andreje Babiše)&lt;/li&gt;
&lt;li&gt;historicky nejmenší poměr mezd průměrné učitelky k průměrnému ajťákovi byl 2025-Q1 (tedy právě teď)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Díky matematickému modelování a technikám statistického programovacího jazyka R tak vidím, že změna poměrů z časů vlády Andreje Babiše k Petru Fialovi měla – alespoň co se mzdovéhovo vývoje týče – kromě vítězů také poražené. Učitelky, které se ptají “kde je moje dvacka?!” přitom lidsky chápu; stejně tak jako ajťáky kteří mlčí a šoupou nohama, že oni nic – to trh.&lt;/p&gt;
</description>
  </item>
  
<item>
  <title>Rayshader a volby 2023</title>
  <link>https://www.jla-data.net/cze/2023-01-16-rayshader-a-volby-2023/</link>
  <pubDate>Mon, 16 Jan 2023 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/2023-01-16-rayshader-a-volby-2023/</guid>
  <description>


&lt;p&gt;Rozšiřující balíček &lt;a href=&#34;https://www.rayshader.com/&#34;&gt;&lt;code&gt;{rayshader}&lt;/code&gt;&lt;/a&gt; je zajímavá aplikace 3D vizualizace v kontextu erka. V sítích internetu v nedávné době připravil (mini) senzaci &lt;a href=&#34;https://twitter.com/researchremora&#34;&gt;terrence fosstodon&lt;/a&gt; se svojí sérií vizualizací populační hustoty různých zemí.&lt;/p&gt;
&lt;p&gt;Vypadá to pěkně, a dá se to zreprodukovat – například takto vypadá populace Česka vynesená do výšky:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;country.png&#34; title=&#34;Populace Česka rayshaded&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Přišlo mi zajímavé stejnou techniku využít pro vizualizaci volebních výsledků. Mapiček s podporou hlavních kandidátů je k dispozici řada. Což je správně; kreslit mapy je důležité a společensky přínosné. Už dlouho si myslím, že v této zemi se málo … kreslí mapy.&lt;/p&gt;
&lt;p&gt;Jako svůj příspěvek ke kreslení map proto nabízím lehce alternativní pohled na podporu tří hlavních kandidátů v prvním kole.&lt;/p&gt;
&lt;p&gt;Vizualizace je zajímavá tím, že ukazuje absolutní hodnotu obdržených hlasů: takže i Andrej Babiš se svým malým podílem z velkého čísla má v mapě dobře rozpoznatelné Prahu a Brno.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;AB.png&#34; title=&#34;Výsledky Andreje Babiše rayshaded&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;PP.png&#34; title=&#34;Výsledky Petra Pavla rayshaded&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;DN.png&#34; title=&#34;Výsledky Danuše Nerudové rayshaded&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Zdrojový kód pro tvorbu vizuálů + obrázky ve vyšším rozlišení jsou pro případné zájemce k dispozici na GitHubu jako &lt;a href=&#34;https://github.com/jlacko/3d-cesko&#34;&gt;jlacko/3d-cesko&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  
<item>
  <title>Dva Tomiové s odstupem času</title>
  <link>https://www.jla-data.net/cze/verifikace-dvou-tomiu/</link>
  <pubDate>Sat, 12 Jan 2019 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/verifikace-dvou-tomiu/</guid>
  <description>


&lt;p&gt;Když jsem začal &lt;a href=&#34;http://www.jla-data.net/cze/pribeh-dvou-tomiu/&#34;&gt;projekt o twitterové komunikaci pravého a falešného Tomia Okamury&lt;/a&gt;, tak jsem zpracoval jejich timeliny od “počátku světa” do 7. prosince 2018.&lt;/p&gt;
&lt;p&gt;Na těchto datech jsem vytvořil tři klasifikační modely, které různými technikami předvídaly “pravost” autora tweetu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;rozhodovací strom nad tweetovými metadaty (&lt;code&gt;rpart&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;jednoduchou neuronku nad stejnými metadaty (&lt;code&gt;keras&lt;/code&gt;, respektive TensorFlow)&lt;/li&gt;
&lt;li&gt;sofistikovanější neuronku (bidirectional LSTM) nad slovy tweetů (opět &lt;code&gt;keras&lt;/code&gt; a TensorFlow)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Zatímco jsem psal své klasifikační modely, tak Tomiové nezaháleli, a produkovali nová data. Od 7. prosince ke dnešnímu dni vydali 106 nových tweetů, z toho 51 od pravého a 55 od falešného Okamury. Což je vcelku vyvážené rozdělení, a v souladu s mým pozorováním, že fejkový Tomio je o něco ukecanější, nežli ten pravý.&lt;/p&gt;
&lt;p&gt;Přišlo mi zajímavé použít nově vzniklé tweety jako verifikaci svých modelů, toto je můj výsledek:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2019-01-12-dva-tomiove-s-odstupem-casu_files/figure-html/tomio-plot-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Testovací vzorek nebyl velký, ale i přes to dosahly všechny tři klasifikační modely přesnost přes 95%. Což není špatné…&lt;/p&gt;
&lt;p&gt;Všechny tři výsledky jsou vcelku srovnatelné, a tak jsem se rozhodl za vítěze požadovat strom podle &lt;code&gt;rpart&lt;/code&gt;. Protože jeho fungování dokážu ze všech tří metod nejsnáze vysvětlit.&lt;/p&gt;
&lt;p&gt;Závěry, který si z projektu odnáším jsou že:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;klasifikace textu je zábavná, a jde dělat přesně&lt;/li&gt;
&lt;li&gt;Tomio Okamura je konzistentní a dobře předvídatelný&lt;/li&gt;
&lt;li&gt;i s malým Kašpárkem jde sehrát velké divadlo - respektive i jednoduchá technika se při dobré přípravě může výsledkem měřit s moderními AI krabičkami&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;Podkladové skripty jsou k dispozici na GitHubu: &lt;a href=&#34;https://github.com/jlacko/dos-tomios&#34; class=&#34;uri&#34;&gt;https://github.com/jlacko/dos-tomios&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  
<item>
  <title>Dva Tomiové na jednom Twitteru</title>
  <link>https://www.jla-data.net/cze/pribeh-dvou-tomiu/</link>
  <pubDate>Fri, 07 Dec 2018 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/pribeh-dvou-tomiu/</guid>
  <description>


&lt;p&gt;Na českém Twitteru vystupují dva Tomiové Okamurové - jeden pravý, druhý falešný. Pro nás, lidi, nadané &lt;em&gt;přirozenou&lt;/em&gt; inteligencí, není těžké už z profilovky na první dobrou poznat, který z nich k nám z jakého účtu promlouvá.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/dos-tomios.png&#34; alt=&#34;dva Tomiové - pravý a falešný&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;Přišlo mi ale zajímavé prozkoumat timeliny účtů &lt;a href=&#34;https://twitter.com/tomio_cz&#34;&gt;@tomio_cz&lt;/a&gt; a &lt;a href=&#34;https://twitter.com/tomio_okamura&#34;&gt;@Tomio_Okamura&lt;/a&gt; strojově, technikami &lt;em&gt;umělé&lt;/em&gt; inteligence.&lt;/p&gt;
&lt;p&gt;A tedy změřit a spočítat jak oba Tomiové pracují s jazykem, a navrhnout takový klasifikační algoritmus, který by jejich tweety rozdělil na hejty xenofobního politika a hlášky internetového vtipálka.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Veškerou práci jsem provedl v erku - stažení dat přes knihovnu &lt;a href=&#34;https://cran.r-project.org/web/packages/rtweet/&#34;&gt;rtweet&lt;/a&gt;, textové zpracování přes knihovnu &lt;a href=&#34;https://cran.r-project.org/web/packages/udpipe/&#34;&gt;udpipe&lt;/a&gt;, a zpracování rozhodovacího stromu přes knihovnu &lt;a href=&#34;https://cran.r-project.org/web/packages/rpart/&#34;&gt;rpart&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Prvotní stažení dat bylo jednoduché; obě timeliny mají dohromady přibližně 5 000 tweetů. Po rozbití na slova to dělá kolem 78 tisíc slov, to je rozsah zhruba čtyř diplomek (na VŠE klidně pěti). To už nějaká data jsou, ale stále dost málo na to aby se mi zafuněl notebook.&lt;/p&gt;
&lt;p&gt;Dalším krokem bylo posoudit volbu slov oběma účty; protože se liší celkové počty tweetů (falešný Tomio je o něco ukecanější) nebylo praktické srovnávat absolutní hodnoty, a soustředil jsem se proto na srovnání relativních četností - zmínek slova na 1 000 tweetů.&lt;/p&gt;
&lt;p&gt;Červená čára dělí čtverec četností na polovinu - napravo a dolů je více zmínek od pravého Tomia, nalevo a nahoru od falešného.&lt;/p&gt;
&lt;p&gt;Postupně jsem zhodnotil hlavní slovní druhy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vlastní jména&lt;/li&gt;
&lt;li&gt;podstatná jména&lt;/li&gt;
&lt;li&gt;přídavná jména&lt;/li&gt;
&lt;li&gt;slovesa&lt;/li&gt;
&lt;li&gt;příslovce&lt;/li&gt;
&lt;/ul&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/PROPN.png&#34; alt=&#34;vlastní jména&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;Je vidět, že pravý Tomio mluví hodně (hodně hodně!) o sobě a o SPD. Falešný Tomio mluví častěji než pravý o Ovčáčkovi, Zemanovi a Babišovi (a o &lt;a href=&#34;https://twitter.com/blanikz&#34;&gt;Žížalovi&lt;/a&gt;, který mi mezi ty tři moc nezapadá).&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/NOUN.png&#34; alt=&#34;podstatná jména&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;Z podstatných jmen mluví pravý Tomio hodně o člověku (o lidech), o vládě a o migrantech (které falešný Tomio ignoruje). Strana, volba a rok jsou důleživé pro oba Tomie srovnatelně, falešný se zajímá více o pana prezidenta.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/ADJ.png&#34; alt=&#34;přídavná jména&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;Z přídavných jmen je rozdíl v použití slov český, další a islámský; mimochodem - věděli jste, že pravý Tomio používá 4,26x častěji slovo &lt;em&gt;islámský&lt;/em&gt;, nežli slovo &lt;em&gt;dobrý&lt;/em&gt;?&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/PRON.png&#34; alt=&#34;zájména&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;Na zájménech je nejzajímavější, že je pravý Tomio prakticky nepoužívá. Občas zmíní zvratné &lt;em&gt;se&lt;/em&gt;, občas poukáže sám na sebe slovem &lt;em&gt;já&lt;/em&gt;, ale ve srovnání s falešným Tomiem je to o ničem.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/VERB.png&#34; alt=&#34;slovesa&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;U sloves jsem musel, kvůli čitelnosti os, vypustit nejčastější &lt;em&gt;být&lt;/em&gt;. I pro něj ale platí, že se slovesy je to jako se zájmeny - pravému Tomiovi prakticky vypadly, zatímco falešný Tomio s nimi pracuje.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/ADV.png&#34; alt=&#34;příslovce&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;U příslovcí se příběh opakuje. S výjimkou jediného - úderného, naléhavost budícího &lt;em&gt;dnes&lt;/em&gt; - jsou výsadou falešného Tomia.&lt;/p&gt;
&lt;p&gt;Toto vše si vykládám tím, že pravý Tomio se nepotřebuje vyjadřovat ve skutečných větách. Jako populistický předák si vystačí s hesly. Na co podnět, k čemu přísudek - když soukmenovci trpí?&lt;/p&gt;
&lt;p&gt;Falešný Tomio, který si z Tomia skutečného dělá legraci, nejspíše cítí potřebu se vyjadřovat jako člověk, a místo newspeaku používá češtinu.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Dalším krokem byla příprava dat pro klasifikaci. Na základě zjištění z analýzy jsem provedl lehký feature engineering - zaměříl jsem se na hlavní rozdíly, tedy odkazy na Youtube, sebepropagaci, použití sloves, zájmen a příslovcí a na sdílení cizích tweetů (retweety).&lt;/p&gt;
&lt;p&gt;Výstupem z klasifikace je vcelku jednoduchý rozhodovací strom:&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/decision-tree.png&#34; alt=&#34;strom&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;Strom má sedm úrovní, a dosahuje přesnosti klasifikace lehce přes 90%. Což je docela pěkné číslo.&lt;/p&gt;
&lt;p&gt;S trochou nadsázky lze pravidla stromu ještě více zobecnit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;příspěvek, který odkazuje na YouTube, je od pravého Tomia&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;příspěvek, který zmiňuje SPD a není retweetem, je od pravého Tomia&lt;/li&gt;
&lt;li&gt;příspěvek o dvou a více větách je od falešného Tomia&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;retweet je od falešného Tomia&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;příspěvek, ze kterého vypadly zájména a příslovce, a který obsahuje maximálně dvě slovesa, je od pravého Tomia&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Při stejném vstupním souboru s 30 proměnnými, ale se sofistikovanějším klasifikačním nástrojem - knihovnou &lt;a href=&#34;https://keras.rstudio.com/&#34;&gt;Keras&lt;/a&gt;, respektive jejím backendem &lt;a href=&#34;https://www.tensorflow.org/&#34;&gt;TensorFlow&lt;/a&gt; - se dostanu na úspěšnost kolem 92%. Pravda, hůře interpretovatelnou nežli jednoduchý rpartový strom.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;img src=&#34;https://www.jla-data.net/CZE/2018-12-07-pribeh-dvou-tomiu_files/keras.png&#34; alt=&#34;keras optimalizace&#34; /&gt;
&lt;/p&gt;
&lt;p&gt;Věřím tedy, že při větším počtu proměnných a se složitějším feature engineeringem bych se dostal na úspěšnost kolem 95%, kterou mám za horní mez takhle “malého” souboru dat.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Zdrojový kód podkládající moji analýzu přesahuje rozsah blogového příspěvku, ale je volně k dispozici na GitHubovém repozitáři &lt;a href=&#34;https://github.com/jlacko/dos-tomios&#34;&gt;jlacko/dos-tomios&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  
<item>
  <title>Jak mluvíme o Andrejovi Babišovi?</title>
  <link>https://www.jla-data.net/cze/co-tweetujeme-o-andrejovi-babisovi/</link>
  <pubDate>Sat, 24 Nov 2018 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/co-tweetujeme-o-andrejovi-babisovi/</guid>
  <description>


&lt;p&gt;Když jsem před necelým rokem rozjel projekt &lt;a href=&#34;https://twitter.com/babisobot&#34;&gt;Babišobot&lt;/a&gt;, tak jsem si za hlavní cíl položil pravidelné shrutí témat, která na twitteru spojujeme s osobou &lt;a href=&#34;https://twitter.com/andrejbabis&#34;&gt;Andreje Babiše&lt;/a&gt; - s 371 tisíci fanoušky s přehledem nejsledovanějšího politika naší země.&lt;/p&gt;
&lt;p&gt;Jako vedlejší cíl jsem si dal za úkol všechny zpracované tweety pro strýčka Příhodu uložit; data jsou cenná. Osoba premiéra budí silné spojení, a tak se mi těch tweetů sešlo dost (260 828, abych byl přesný). Rád bych se touto cestou podělil o několik poznatků, které jsem z dat vyčetl.&lt;/p&gt;
&lt;p&gt;Pro úvod jsem se soustředil ne na plný dataset - co si myslí český Twitter jako celek - ale na jeho vzorek. Vybral jsem si podmnožinu největších influencerů. Ty jsem vydefinoval jako účty, které na tweetech o Andreji Babišovi za sledované období nasbíraly více, než 10 000 lajků.&lt;/p&gt;
&lt;p&gt;Tímto omezením jsem získal vzorek 19 účtů, které dohromady publikovaly 4 754 tweetů, skládající se z 151 233 slov (což je 605 normostran - asi tak 8 diplomek). Zmíněné tweety posbíraly celkem 410 329 lajků.&lt;/p&gt;
&lt;p&gt;Účty jsem přes palec rozdělil do tří kategorií:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;politiky&lt;/strong&gt;, typový případ &lt;a href=&#34;https://twitter.com/kalousekm&#34;&gt;@kalousekm&lt;/a&gt; - Miroslav Kalousek&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;vtipálky&lt;/strong&gt;, typový případ &lt;a href=&#34;https://twitter.com/Posledniskaut&#34;&gt;@Posledniskaut&lt;/a&gt; - Poslední skaut™&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;novináře&lt;/strong&gt;, typový případ &lt;a href=&#34;https://twitter.com/JaroslavKmenta&#34;&gt;@JaroslavKmenta&lt;/a&gt; - Jaroslav Kmenta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;S tím, že bude zajímavé sledovat, jak se jednotlivé skupiny mezi sebou liší volbou témat a používáním jazyka.&lt;/p&gt;
&lt;p&gt;Tyto tři skupiny netweetují stejně často, a tak nebylo praktické srovnávat absolutní počty slov. Srovnávám proto počty relativní - počet použití slova na 1 000 tweetů.&lt;/p&gt;
&lt;hr&gt;
&lt;div id=&#34;vlastni-jmena-spojena-s-osobou-andreje-babise&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;&lt;em&gt;Vlastní jména&lt;/em&gt; spojená s osobou Andreje Babiše:&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-11-24-co-tweetujeme-o-andrejovi-babisovi_files/figure-html/proper-names-1.png&#34; width=&#34;100%&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Není překvapivé, že nejčastěji je ve spojení s objektem zájmu zmiňováno jeho jméno; zajímavější je rozdíl v používání twitterového handlu - výrazně častěji s ním pracují twitteroví domorodci vtipálci, nežli novináři či politici.&lt;/p&gt;
&lt;p&gt;V používání křestního jména jsou politici za průměrem - pan premiér pro ně není &lt;em&gt;Andrejem&lt;/em&gt; Babišem, ale pouze Babišem. Což něco říká o jejich respektu a tom, že pan premiér nemá na twitteru mnoho politických přátel (respektive že političtí přátelé pana premiéra nesbírají tisíce lajků).&lt;/p&gt;
&lt;p&gt;Dále je zajímavé, jak málo se politici v souvislosti s Andrejem Babišem vyjadřují k &lt;em&gt;Seznamu&lt;/em&gt; (a jeho rozhovoru) a &lt;em&gt;Praze&lt;/em&gt; (a komunálním volbám v ní); tyto témata přenechávají novinářům a vtipálkům.&lt;/p&gt;
&lt;p&gt;Naopak násobně častěji než novináři či vtipálci se politici v souvislosti s Andrejem Babišem zmiňují o &lt;em&gt;ODS&lt;/em&gt; (což je v řadě případů sebepropagace).&lt;/p&gt;
&lt;hr&gt;
&lt;/div&gt;
&lt;div id=&#34;postatna-jmena-spojena-s-osobou-andreje-babise&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;&lt;em&gt;Postatná jména&lt;/em&gt; spojená s osobou Andreje Babiše:&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-11-24-co-tweetujeme-o-andrejovi-babisovi_files/figure-html/nouns-1.png&#34; width=&#34;100%&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Z podstatných jmen máme Andreje Babiše nejčastěji spojeného s &lt;em&gt;vládou&lt;/em&gt;. Toto spojení je silné zejména pro politiky, pro novináře je Andrej Babiš především &lt;em&gt;premiérem&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Pro vtipálky je časté, že Andrej Babiš je &lt;em&gt;panem&lt;/em&gt; a &lt;em&gt;předsedou&lt;/em&gt; - zpravidla současně, a zpravidla to není chápáno jako neutrální spojení (což je hezká ilustrace toho, proč se nehrnu do analýzy sentimentu v jazyce tak bohatém na ironii jako ten náš).&lt;/p&gt;
&lt;p&gt;Je zajímavé, jak pro politiky nejsou (ve srovnání s novináři a vtipálky) tématem podstatná jména s vazbou na aktuální události - jako &lt;em&gt;rozhovor&lt;/em&gt;, &lt;em&gt;syn&lt;/em&gt; nebo &lt;em&gt;kauza&lt;/em&gt; - ale vymezují se spíše k obecnějším tématům jako jsou &lt;em&gt;ministr&lt;/em&gt;, &lt;em&gt;komunista&lt;/em&gt;, &lt;em&gt;strana&lt;/em&gt; či sama &lt;em&gt;politika&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Vykládám si to tak, že politici nový pohled na osobu a činy Andreje Babiše nehledají, protože svůj názor již dobře znají. K aktuálním událostem se vyjadřují především proto, aby zopakovali co věděli do začátku - jako kdyby novodobý Cato tweetoval &lt;em&gt;Ceterum autem censeo, Babišem esse delendam…&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;/div&gt;
&lt;div id=&#34;slovesa---krome-byt-a-mit---spojena-s-osobou-andreje-babise&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;&lt;em&gt;Slovesa&lt;/em&gt; - kromě &lt;em&gt;být&lt;/em&gt; a &lt;em&gt;mít&lt;/em&gt; - spojená s osobou Andreje Babiše:&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-11-24-co-tweetujeme-o-andrejovi-babisovi_files/figure-html/verbs-1.png&#34; width=&#34;100%&#34; /&gt; Ze sloves jsem pro lepší čitelnost grafů musel vyloučit “být” a “mít” - protože fakt, že Andrej Babiš &lt;em&gt;je&lt;/em&gt; či &lt;em&gt;byl&lt;/em&gt; toto či ono, případně že &lt;em&gt;má&lt;/em&gt; či by &lt;em&gt;měl&lt;/em&gt; udělat toto či ono, se opakují tak často, že ostatním slovesům ničí osy.&lt;/p&gt;
&lt;p&gt;Ze sloves, co mi zbyla, je nejčastější &lt;em&gt;moci&lt;/em&gt; - zejména díky názoru politiků. Pro jejich tweety je typické, že Andrej Babiš něco &lt;em&gt;může&lt;/em&gt;, případně &lt;em&gt;musí&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Naopak novináři či vtipálci se spíše než o to co Andrej Babiš &lt;em&gt;může&lt;/em&gt; či &lt;em&gt;musí&lt;/em&gt; zajímají o to, co Andrej Babíš &lt;em&gt;říká&lt;/em&gt;, respektive o to co &lt;em&gt;dělá&lt;/em&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;/div&gt;
&lt;div id=&#34;pridavna-jmena-spojena-s-osobou-andreje-babise&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;&lt;em&gt;Přídavná jména&lt;/em&gt; spojená s osobou Andreje Babiše:&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-11-24-co-tweetujeme-o-andrejovi-babisovi_files/figure-html/adjectives-1.png&#34; width=&#34;100%&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Z přídavných jmen vede &lt;em&gt;český&lt;/em&gt;, jako v &lt;em&gt;český premiér&lt;/em&gt;, následovaný přídavným jménem přivlastňovacím &lt;em&gt;Babišův&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Podobně jako u podstatných jmen platí, že u politiků je slabší zapojení aktuálních témat - &lt;em&gt;mladý&lt;/em&gt; jako v &lt;em&gt;mladý Babiš&lt;/em&gt; - a silnější pro obecné, útočné spojení - &lt;em&gt;stíhaný&lt;/em&gt; jako ve &lt;em&gt;trestně stíhaný premiér&lt;/em&gt; či &lt;em&gt;vlastní&lt;/em&gt; jako ve &lt;em&gt;vlastní prospěch&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Velký rozdíl je na slově &lt;em&gt;politický&lt;/em&gt; - ten je pro politiky klíčový, naopak vtipálci jej používají málo - jejich cíl cílem je žert a ironie, ne politika.&lt;/p&gt;
&lt;hr&gt;
&lt;/div&gt;
&lt;div id=&#34;interpunkcni-znamenka-spojena-s-osobou-andreje-babise&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;&lt;em&gt;Interpunkční znaménka&lt;/em&gt; spojená s osobou Andreje Babiše:&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-11-24-co-tweetujeme-o-andrejovi-babisovi_files/figure-html/punctuations-1.png&#34; width=&#34;100%&#34; /&gt;&lt;/p&gt;
&lt;p&gt;A konečně interpunkční znaméneka nám dávají lépe poznat charakter komunikace; politici mají významně vyšší frekvenci teček a čárek. Protože dělají krátké věty. Nepředkládají rozbor. Ani analýzu. Sdělují hesla, volají po akci.&lt;/p&gt;
&lt;p&gt;Novináři a vtipálkové jsou ve srovnání s politiky vysloveně ukecaní.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Věřím, že jsem ukázal, že tweety o Andreji Babišovi jsou zajímavé, a že se z nich dá leccos vyčíst - nejen o panu předsedovi, ale také o autorech těchto tweetů.&lt;/p&gt;
&lt;p&gt;Mým druhým krokem bude nad vytvořeným datasetem natrénovat model, které by účastníky internetové diskuze roztřídil do škatulek podle toho, zda se o Andrejovi Babišovi vyjadřují spíše jako politici, novináři nebo vtipálkové.&lt;/p&gt;
&lt;p&gt;Už se vyloženě těším na to, co mi model řekne o prezidentovo mluvčím…&lt;/p&gt;
&lt;/div&gt;
</description>
  </item>
  
<item>
  <title>Kde uspořádat demonstraci?</title>
  <link>https://www.jla-data.net/cze/zemanovci-pripadovka-gis/</link>
  <pubDate>Fri, 23 Mar 2018 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/zemanovci-pripadovka-gis/</guid>
  <description>
&lt;script src=&#34;https://www.jla-data.net/rmarkdown-libs/header-attrs/header-attrs.js&#34;&gt;&lt;/script&gt;


&lt;p&gt;Česká politika mě ne vždy baví jako občana a voliče, ale oceňuji na ní že generuje dobrá data.&lt;/p&gt;
&lt;p&gt;Po inauguraci prezidenta republiky 8. března jsem se rozhodl se vrátit ještě jednou k volebním výsledkům a provézt si malé GISové cvičení - vypočíst si v Rku optimální lokalitu pro demonstraci na podporu prezidenta Zemana.&lt;/p&gt;
&lt;p&gt;Hledání místa pro demonstraci přes Rkový kód je samozřejmě hloupost (taky kdo by Milošovi za &lt;em&gt;takovýto&lt;/em&gt; projev demonstroval podporu, že) ale je to zajímavá technika s přesahem do světa obchodu - například do marketingu při rozhodování o umístění poboček podle současných klientů / budoucího potenciálu.&lt;/p&gt;
&lt;p&gt;Stanovil jsem si tyto omezení:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;uvažuji všechny voliče Miloše Zemana z druhého kola po obcích a jejich částech&lt;br /&gt;
(jsou k dispozici na &lt;a href=&#34;https://volby.cz/opendata/prez2018/prez2018_opendata.htm&#34;&gt;oficiálních výsledcích&lt;/a&gt;)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;uvažuji, že voliči Miloše Zemana jsou, obdobně jako sám prezident, špatní na nohy a na místo srazu mohou dorazit pouze z omezené vzdálenosti&lt;br /&gt;
(bude zajímavé sledovat, jak různé hodnoty tohoto parametru ovlivní místo srazu)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Základem je příprava dat; zde jsem vycházel ze svého &lt;a href=&#34;http://www.jla-data.net/cze/kdepak-je-krakonosovo/&#34;&gt;bezprostředně povolebního cvičení&lt;/a&gt; na vizualizaci výsledků.&lt;/p&gt;
&lt;p&gt;Protože budu pracovat se vzálenostmi, převádím všechny objekty do souřadnicového systému inž. Křováka, který je v metrech (na rozdíl od defaultního &lt;a href=&#34;https://epsg.io/4326&#34;&gt;WGS84&lt;/a&gt; v úhlových mírách). Republika se pak tváří trošku nakřivo, ale stále je to ona.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;library(sf)
library(tidyverse)
library(tmap)
library(RCzechia)

# načtení dat z jlacko/Zeman2018 na GitHubu
Zeman2018 &amp;lt;- url(&amp;quot;https://raw.githubusercontent.com/jlacko/Zeman2018/master/src/prezident.csv&amp;quot;)
src &amp;lt;- read.csv2(Zeman2018,
                 stringsAsFactors = F) 

# výsledky voleb
druheKolo &amp;lt;- src %&amp;gt;%
  filter(CHYBA == 0) %&amp;gt;% # bez chyb
  filter(KOLO == 2) %&amp;gt;% # pouze druhé kolo
  group_by(OBEC) %&amp;gt;%
  summarize(celkem = sum(PL_HL_CELK), # celkem platných hlasů
            zeman = sum(HLASY_07),  # kandidát č.7 = Miloš Zeman
            pct_zeman = sum(HLASY_07)/sum(PL_HL_CELK)) %&amp;gt;% # procento platných pro Zemana
  mutate(KOD = as.character(OBEC)) # kod obce v RCzechia je text :(

obce &amp;lt;- obce_polygony() %&amp;gt;% 
  select(KOD = KOD_OBEC,
         NAZEV = NAZ_OBEC,
         hranice = GeneralizovaneHranice)

casti &amp;lt;- casti() %&amp;gt;%
  select(KOD, NAZEV, hranice = OriginalniHranice)

podklad &amp;lt;- obce %&amp;gt;% # všechny obce...
  bind_rows(casti) %&amp;gt;% # ...plus všechny části
  inner_join(druheKolo, by = c(&amp;quot;KOD&amp;quot; = &amp;quot;KOD&amp;quot;)) %&amp;gt;%
    # z obcí a částí připojit ty s výsledkem
    # filtrační (inner) join odstraní obce bez výsledku (Praha etc. - má ho z částí)
  st_transform(crs = 5514)
    # systém inž. Křováka 

republika &amp;lt;- republika() %&amp;gt;%
  st_transform(crs = 5514)
    # systém inž. Křováka 

kraje &amp;lt;- kraje() %&amp;gt;%
  st_transform(crs = 5514)
    # systém inž. Křováka &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pro základní orientaci nám pomůže mapa relativního úspěchu Miloše Zemana, známá z povolebních analýz. Z mapy je vidět relativně slabší podpora prezidenta Zemana v Praze, a silná v oblasti Sudet.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;mapRelative &amp;lt;- tm_shape(podklad) + tm_fill(col = &amp;quot;pct_zeman&amp;quot;, title = &amp;quot;Zemanův zisk&amp;quot;, n = 5) +
  tm_shape(kraje) + tm_borders(&amp;quot;grey80&amp;quot;) +
  tm_shape(republika) + tm_borders(&amp;quot;grey35&amp;quot;) +
  tm_style(&amp;quot;white&amp;quot;, &amp;quot;Relativní výsledky&amp;quot;, frame = F, 
                 legend.format = list(text.separator =  &amp;quot;-&amp;quot;,
                                      fun = function(x) paste0(formatC(x * 100, digits = 0, 
                                                                       format = &amp;quot;f&amp;quot;), &amp;quot; %&amp;quot;)),
                 legend.text.size = 0.8, 
                 legend.title.size = 1.3) +
  tm_legend(position = c(&amp;quot;RIGHT&amp;quot;, &amp;quot;top&amp;quot;))

print(mapRelative)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-03-13-zemanovci-pripadovka-gis_files/figure-html/relativne-1.png&#34; width=&#34;672&#34; /&gt;
Pro účely svolání demonstrace ale nejsou až tak důležitá relativní čísla, jako hodnoty absolutní - na demonstraci nepřijdou procenta, ale lidé.&lt;/p&gt;
&lt;p&gt;Když se podíváme na absolutní podporu, tak to s tou Prahou není tak zlé (i malý podíl z velkého počtu voličů může v součtu znamenat hodně lidí - účasníků demonstrace).&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;mapAbsolute &amp;lt;- tm_shape(podklad) + tm_fill(col = &amp;quot;zeman&amp;quot;, title = &amp;quot;Zemanův zisk&amp;quot;, n = 5) +
  tm_shape(kraje) + tm_borders(&amp;quot;grey80&amp;quot;) +
  tm_shape(republika) + tm_borders(&amp;quot;grey35&amp;quot;) +
  tm_style(&amp;quot;white&amp;quot;, &amp;quot;Absolutní výsledky&amp;quot;, frame = F, 
                 legend.format = list(text.separator =  &amp;quot;-&amp;quot;,
                                      text.align = &amp;quot;center&amp;quot;),
                 legend.text.size = 0.8, 
                 legend.title.size = 1.3) +
  tm_legend(position = c(&amp;quot;RIGHT&amp;quot;, &amp;quot;top&amp;quot;))
    # tuto mapu po použití ještě několikrát zrecykluji...

print(mapAbsolute)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-03-13-zemanovci-pripadovka-gis_files/figure-html/absolutne-1.png&#34; width=&#34;672&#34; /&gt;
Pro zjednodušení další práce si polygony obcí a částí nahradím středy - o něco si usnadním jak výpočet, tak interpretaci (místo typu vzdálenosti polygon od polygonu budu počítat vzdálenost bod od bodu, a navíc mi odpadnou částečné průsečíky - bod v kružnici buď je, nebo není).&lt;/p&gt;
&lt;p&gt;Dále si připravím funkci &lt;strong&gt;šelmostroj&lt;/strong&gt;, která mi pro každý z těchto 6 387 bodů dopočte součet Zemanovo voličů v nejbližším okolí - s tím, že co přesně znamená “nejbližší”, bude určovat parametr &lt;code&gt;vzdalenost&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Z dopočtených hodnot Zemanovo voličů v okolí obce šelmostroj dále vybere ten nejvyšší, a tuto obec určí jako optimální místo demonstrace.&lt;/p&gt;
&lt;p&gt;Na mapě volebního výsledku Miloše Zemana v obci pak nejlepší místo pro demonstraci označí křížkem a nakreslí kolem něj spádový okruh odpovídající parametru &lt;code&gt;vzdalenost&lt;/code&gt;. O tom všem pak podá přes &lt;code&gt;writeLines()&lt;/code&gt; zprávu.&lt;/p&gt;
&lt;p&gt;Díky tomu, že jsem dohledání místa pro demonstraci svěřil funkci, je pro mě snadné jí volat opakovaně, s pokaždé s rozdílnou hodnotou parametru &lt;code&gt;vzdalenost&lt;/code&gt;.&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;podklad &amp;lt;- podklad %&amp;gt;%
  st_centroid()&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;## Warning in st_centroid.sf(.): st_centroid assumes attributes are constant over
## geometries of x&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;selmostroj &amp;lt;- function(vzdalenost) {
  podklad$suma_zemanovcu &amp;lt;- NA # uklidit
  st_agr(podklad) &amp;lt;- &amp;quot;constant&amp;quot; # vše jsou konstanty (tato část sf stejně nefunguje...)
  
  for (i in 1:nrow(podklad)) { # pro všechny řádky podkladu
    buff &amp;lt;- st_buffer(podklad[i,], dist = vzdalenost) 
      # buffer o průměru vzdalenost
    isect &amp;lt;- st_intersection(podklad, buff) 
      # průsečík bufferu a pracovního seznamu
    podklad$suma_zemanovcu[i] &amp;lt;- sum(isect$zeman) 
      # uložit součet Zemanovo hlasů v bufferu do podkladu
  }
  
 stred &amp;lt;- podklad[which.max(podklad$suma_zemanovcu), ]
    # tato obec je optimální!
  
  mapAbsolute &amp;lt;- mapAbsolute + # recyklace dříve vytvořené mapy
    tm_shape(stred) + tm_dots(size = 1/5, col = &amp;quot;red&amp;quot;, shape = 4) +
    tm_shape(st_buffer(stred, dist = vzdalenost)) + tm_borders(col = &amp;quot;red&amp;quot;)

    # využívám vlastnosti Rka, že si ve funkci z vnějšího okolí mohu &amp;quot;půjčit&amp;quot;
    # libovolný objekt, a změny na něm vykonané &amp;lt;- operátorem se nepropíší zpátky
    # (pokud nepoužiji &amp;lt;&amp;lt;- operátor)
  
  print(mapAbsolute)
    # zobrazení...
  
  writeLines(paste(&amp;quot;Optimální místo demonstrace:&amp;quot;, 
            stred$NAZEV, 
            &amp;quot;\nZemanovců v okolí&amp;quot;, vzdalenost / 1000, &amp;quot;kilometrů:&amp;quot;,
            formatC(stred$suma_zemanovcu, format = &amp;quot;f&amp;quot;, big.mark = &amp;quot; &amp;quot;, digits = 0)))
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;První krok pro mě bude ověření nejlepšího místa pro demonstraci, pokud jsou voliči Miloše Zemana ochotni dorazit pouze z “maximální”&#34; vzdálenosti dvou kilometrů:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;selmostroj(2 * 1000) #2 kilometry&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-03-13-zemanovci-pripadovka-gis_files/figure-html/spad-2-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Optimální místo demonstrace: Ostrava-Jih 
## Zemanovců v okolí 2 kilometrů: 32 103&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pokud by voliči Miloše Zemana byli skutečně takto málo mobilní, tak bude nejvhodnější uspořádat demonstraci v &lt;a href=&#34;https://cs.wikipedia.org/wiki/Ostrava&#34;&gt;Ostravě&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jako (relativně) malé město s vysokým podílem voličů Miloše Zemana na celkové populaci je Ostrava pro sraz prezidentových příznivců při malé dojezdové vzdálenosti ideální místo.&lt;/p&gt;
&lt;p&gt;Druhý krok pro mě bude ověření nejlepšího místa pro demonstraci, pokud jsou voliči Miloše Zemana ochotni dorazit z o něco větší vzdálenosti 10 kilometrů:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;selmostroj(10 * 1000) # 10 kilometrů&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-03-13-zemanovci-pripadovka-gis_files/figure-html/spad-10-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Optimální místo demonstrace: Praha 2 
## Zemanovců v okolí 10 kilometrů: 183 125&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pokud by se voliči Miloše Zemana dokázali sjet ze vzdálenosti celých deseti kilometrů, tak se naplno prokáží výhody Prahy: efekt velkého města zvítězí nad procentuálně nízkou podporou. Pražští Zemanovci se mohou sjet třeba na &lt;a href=&#34;https://cs.wikipedia.org/wiki/Karlovo_n%C3%A1m%C4%9Bst%C3%AD_(Praha)&#34;&gt;Karlově náměstí&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A když spádovou oblast rozšířím ještě více, z 10 kilometrů na 30?&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;selmostroj(30 * 1000) # 30 kilometrů&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-03-13-zemanovci-pripadovka-gis_files/figure-html/spad-30-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Optimální místo demonstrace: Praha-Troja 
## Zemanovců v okolí 30 kilometrů: 325 862&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Při dojezdové vzdálenosti třicet kilometrů je stále nejvýhodnější místo pro demonstraci Praha. Příznivci Miloše Zemana z Prahy a okolí se mohou sjet třeba na &lt;a href=&#34;https://cs.wikipedia.org/wiki/C%C3%ADsa%C5%99sk%C3%BD_ostrov&#34;&gt;Císařském ostrově&lt;/a&gt; - ten mají přes Suchdol v dojezdové vzdálenosti i Zemanovci z Kladna a okolí.&lt;/p&gt;
&lt;p&gt;A když ani třicet kilometrů nestačí? Co když je Zemanovec ochoten sednout do auta, a překonat vzdálenost celých 50 kilometrů, jen aby podpořil svého vůdce?&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;selmostroj(50 * 1000) # 50 kilometrů&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-03-13-zemanovci-pripadovka-gis_files/figure-html/spad-50-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Optimální místo demonstrace: Račiněves 
## Zemanovců v okolí 50 kilometrů: 543 378&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pokud by příznivci Miloše Zemana byli ochotni cestovat na místo srazu 50 kilometrů, tak bude nejlepší se sjet u &lt;a href=&#34;https://cs.wikipedia.org/wiki/Ra%C4%8Din%C4%9Bves&#34;&gt;Račiněvsi&lt;/a&gt;. Toto městěčko nedaleko od Litoměřic, kousek od ústecké Dé osmičky, je dobře přístupné pro Zemanovce z Prahy i ze Severu.&lt;/p&gt;
&lt;p&gt;A pokud bych hodil všechny zábrany za hlavu, a nechal se sjet všechny Milošovo Zemanovo voliče ze vzdálenosti 150 kilometrů?&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;selmostroj(150 * 1000) # 150 kilometrů&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2018-03-13-zemanovci-pripadovka-gis_files/figure-html/spad-150-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Optimální místo demonstrace: Němčice 
## Zemanovců v okolí 150 kilometrů: 2 035 075&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pokud bych opravdu chtěl dostat na jedno místo všechny Zemanovce zblízka i zdáli, tak dám sraz v &lt;a href=&#34;https://cs.wikipedia.org/wiki/N%C4%9Bm%C4%8Dice_(okres_Svitavy)&#34;&gt;Němčicích&lt;/a&gt; u Litomyšle, vzdušnou čarou na půl cesty mezi Prahou a Ostravou.&lt;br /&gt;
Tato malá obec o 996 obyvatelích představuje skutečný pupek zemanovského světa.&lt;/p&gt;
</description>
  </item>
  
<item>
  <title>Kdepak je Krakonošovo?</title>
  <link>https://www.jla-data.net/cze/kdepak-je-krakonosovo/</link>
  <pubDate>Tue, 30 Jan 2018 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/kdepak-je-krakonosovo/</guid>
  <description>


&lt;p&gt;Výsledy prezidentské volby o uplynulém víkendu jsem nebyl zcela nadšen. Abych svoju morální kocovinu vyléčil, rozhodl jsem se prozkoumat a ukázat kraj, který dává hlas politikovi, jehož paní Hašková - Coolidge nepovažuje za sprosťáka.&lt;/p&gt;
&lt;p&gt;U nás na Praze 7 je kavárenská kultura dobře usazena, Miloš zde posbíral s bídou 24% hlasů a vítězství profesora Drahoše se pohledem z okna zdálo být nepochybné.&lt;/p&gt;
&lt;p&gt;Vydal jsem se ho proto hledat Zemanovce s pomocí erka, &lt;a href=&#34;http://leafletjs.com/&#34;&gt;Leafletu&lt;/a&gt;, &lt;a href=&#34;https://github.com/mtennekes/tmap&#34;&gt;tmapu&lt;/a&gt; a nejjemnějšího výsledku voleb ze &lt;a href=&#34;https://www.czso.cz/csu/czso/podminky_pro_vyuzivani_a_dalsi_zverejnovani_statistickych_udaju_csu&#34;&gt;statistického úřadu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Výsledkem je interaktivní mapa ukazující hustotu výskytu Zemanovců v Čechách a na Moravě, kterou vám tímto předkládám :)&lt;/p&gt;
&lt;iframe src=&#34;https://rawgit.com/jlacko/Zeman2018/master/zeman.html&#34; width=&#34;800&#34; height=&#34;600&#34; style=&#34;border: none;&#34;&gt;
&lt;/iframe&gt;
&lt;p&gt;
&lt;p&gt;Prázdná místa na mapě jsou vojenské újezdy (kde se nevolí) a drobné nepřesnosti dané tím, že potřebuji stahnout velikost stránek na průchozí velikost.&lt;/p&gt;
&lt;p&gt;Zdrojový kód mé vizualizace je k dispozici na GitHubu &lt;a href=&#34;https://github.com/jlacko/Zeman2018&#34;&gt;jlacko/Zeman2018&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  
<item>
  <title>Kdo volí jaké strany?</title>
  <link>https://www.jla-data.net/cze/kdo-voli-jake-strany/</link>
  <pubDate>Sat, 04 Nov 2017 00:00:00 +0000</pubDate>
  
<guid>https://www.jla-data.net/cze/kdo-voli-jake-strany/</guid>
  <description>


&lt;p&gt;Před časem jsem si udělal &lt;a href=&#34;http://www.jla-data.net/cze/kdo-voli-tomio-okamuru/&#34;&gt;malý statistický průzkum&lt;/a&gt; na to, jak vypadají voliči Tomia Okamury. V něm jsem srovnával korelaci volebního výsledku strany SPD v okresu s celkem 20 statistickými veličinami, a hledal tu nejsilnější.&lt;/p&gt;
&lt;p&gt;Na svůj článek jsem dostal vcelku pozitivní ohlas, a tak jsem se rozhodl zpracovaná data ještě jednou oprášit a hotnoty korelace propočítat na &lt;em&gt;všechny&lt;/em&gt; parlamentní strany.&lt;/p&gt;
&lt;p&gt;Využil jsem přitom toho, že Rko je skriptovací jazyk, a získat devět obdobných výsledků neznamená udělat stejnou práci devětkrát, ale “jenom” napsat jeden for cyklus, což je kódu na pár řádek (říkal jsem, že miluji Rko? :)&lt;/p&gt;
&lt;p&gt;Připomenu své zpracované veličiny:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;počet cizinců, vztažený k počtu obyvatel.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet cizinců, kromě Slováků (kteří u nás nejsou tak úplně cizí), vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet cizinců ze zemí mimo EU (ti “nejcizejší cizinci”), vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet léčených diabetiků (jako míra zdravotního stresu), vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet potratů na 100 narozených dětí (jako míra zdravotního a sociálního stresu)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet vyplacných sociálních dávek, vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet vyplacených příspěvků na bydlení, vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet vyplacených přídavků na děti, vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;celková hlášená kriminalita, vztažená k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet nahlášených vloupání, vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;podíl dětí (obyvatel věkové skupiny 0 - 14 let) z celkového počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;podíl důchodců (obyvatel věkové skupiny 65+) z celkového počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet obyvatel do okresu přistěhovalých, vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;počet obyvatel z okresu vystěhovalých, vztažený k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;celkové saldo migrace, vztažené k počtu obyvatel&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;procento obyvatel venkova (obcí do tří tisíc obyvatel)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;procento obyvatel měst (obcí nad tři tisíce obyvatel)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;procento celkové nezaměstnanosti&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;procento nezaměstnanosti mužů&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;procento nezaměstnanosti žen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pro každou z devíti parlamentních stran jsem si našel veličinu, která má nejsilnější korelaci s volebním výsledkem. Uvažoval jsem přitom absolutní hodnotu korelačního koeficientu - nebylo pro mě důležité, jestli je úměra přímá (čím víc, tím víc) nebo nepřímá (čím víc, tím míň), ale hlavně aby byla silná.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left;&#34;&gt;
parlamentní strana
&lt;/th&gt;
&lt;th style=&#34;text-align:left;&#34;&gt;
nejpodstatnější veličina
&lt;/th&gt;
&lt;th style=&#34;text-align:right;&#34;&gt;
korelační koeficient
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
topka
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
stehovani_plus
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
0.730
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
ODS
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
stehovani_plus
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
0.683
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
SPD
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
davky_celkem
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
0.660
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
ANO
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
davky_celkem
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
0.653
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
pirati
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
cizinci_mimo_eu
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
0.630
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
lidovci
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
stehovani_minus
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
-0.609
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
socdem
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
podil_14minus
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
-0.445
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
komunisti
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
potraty
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
0.439
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
STAN
&lt;/td&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
stehovani_saldo
&lt;/td&gt;
&lt;td style=&#34;text-align:right;&#34;&gt;
0.324
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Z tabulky vyvozuju že:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;volební úspěch &lt;strong&gt;ODS&lt;/strong&gt; a &lt;strong&gt;TOP 09&lt;/strong&gt; stojí a padá na migraci do regionu; migrace do regionu je přitom dobrá proxy pro regionální konjunkturu. Okresy, které jsou na tom dobře, a počet nově přistěhovalých obyvatel vzhledem k populaci je vysoký, volí tyto strany více, nežli okresy, které na tom jsou špatně a nikomu se tam stěhovávat nechce.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;volební úspěch &lt;strong&gt;SPD&lt;/strong&gt; a &lt;strong&gt;ANO&lt;/strong&gt; závisí nejsilněji na počtu dávek na hlavu. V okresech, jejichž obyvatelé berou v průměru na člověka hodně sociálních dávek, je volební výsledek těchto stran lepší, nežli v okresech ve kterých se dávky moc nečerpají.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;výsledek &lt;strong&gt;ČPS&lt;/strong&gt; závisí nejsilněji na podílu cizinců mimo země EU z obyvatel; toto je zajímavé, protože cizinci nemají volební právo. Výsledek si překládám tak, že volební výsledek pirátů je tím lepší, čím více je daný okres podobnější Praze (volebním obvodu s nejvyšším podílem cizinců mimo EU).&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;výsledek &lt;strong&gt;KDU-ČSL&lt;/strong&gt; opět souvisí s migrací, ale nepřímo: výsledek lidovců je tím lepší, čím &lt;em&gt;méně&lt;/em&gt; se obyvatelé okresu odstěhovávají z okresu pryč. Jinými slovy se lidovcům nejvíce daří mezi lidmi, kteří sedí doma a nikam se nederou.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;výsledek &lt;strong&gt;ČSSD&lt;/strong&gt; nejsilněji závisí na podílu dětí z obyvatel okresu; opět se jedná o závislost nepřímou (čím méně, tím více). Je zajímavé, že pro volební úspěch sociálních demokratů není až tak podstatný vysoký podíl důchodců (což byla samostatně sledovaná veličina), jako to, aby v kraji nebyly děti.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KSČM&lt;/strong&gt; to má hozené podobně jako sociální demokraté, jenom o něco drsněji. Komunistům se nejlépe daří v okresech, které mají vysoký podíl potratů ku živě narozeným dětem (… a divme se pak, že jim ubývají voliči).&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;výsledek &lt;strong&gt;Starostů&lt;/strong&gt; ze sledovaných veličin nejsilněji souvisí se saldem migrace, ale jedná se ze všech parlamentních stran o korelaci nejslabší. Můj závěr tedy je, že pro starosty se mi nepodařilo najít silnou korelaci pro žádnou ze sledovaných veličin a jejich podpora závisí na něčem jiném (snad na kvalitě kandidátů, ale ve skutečnosti nevím).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ještě zajímavější nežli tato tabulka je, že hodnotu korelace výsledků strany s dvaceti ekonomickými a sociálními ukazateli můžu použít jako souřadnice bodu ve dvacetirozměrném prostoru; a ze souřadnic si následně odečíst vzdálenost od pozice hnutí ANO, vítěze parlamentních voleb.&lt;/p&gt;
&lt;p&gt;Získám tak míru voličské podobnosti parlamentní strany s hnutím Andreje Babiše, a podle ní si mohu sestavit pravděpodobnou vládní koalici - stačí přitom vycházet z předpokladu, že nejsnáze se bude Andreji Babišovi uzavírat spojenectví se stranami, jejichž voliči se nejvíce podobají jeho voličům.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.jla-data.net/CZE/2017-11-04-kdo-voli-jake-strany_files/figure-html/euklid-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Na základě statistické podobnosti voličského profilu parlamentních stran s vítězem voleb tedy očekávám vládní koalici ANO + SPD s podporou komunistů.&lt;br /&gt;
A k tomu soukromě dodávám, budiž nám dobré Nebe milostivo…&lt;/p&gt;
</description>
  </item>
  
</channel>
  </rss>