Další z mých malých průzkumů jsem věnoval odhadu počtu psů v ČR, abychom si mohli udělat přibližnou představu a zodpovědět si otázku, zda-li je u nás “přepejskováno” nebo ne.
Chybička na začátek
Zprvu jsem se chystal tuto otázku vyřešit způsobem, že pro domácnost každého dotázaného vydělím počet psů počtem lidí a tyto poměry pak zprůměruju. Na základě toho jsem si u lidí, kteří žádného psa nemají, nezapisoval, kolik je lidí v jejich domácnosti, protože 0 děleno čímkoliv je 0 — takže je to vlastně jedno … anebo ne?
Jak mi ukázal jeden známý, je to tak trochu průšvih a to z následujícího důvodu. Představme si domácnost, co má 0 psů a 3 lidi. Poměr psů na 1 člověka je pak 0/3 = 0. A nyní domácnost, co má 0 psů a třeba 7 lidí. Poměr je taktéž 0/7 = 0. Zde už začíná být patrné, že jelikož dostávám stejné číslo pro různé počty lidí v domácnosti, dochází mi zde k určité ztrátě informace. Neboli jinými slovy: ta první 0 má jinou váhu než ta druhá 0! (co se průměru týče)
Kvůli tomuto omylu jsem přišel o nějakou část dat a tak jsem se musel dotázat většího počtu lidí, něž jsem původně zamýšlel. Výpočet jsem zprvu koncipoval tímto (špatným) způsobem právě proto, že pak by mi v R-ku stačilo spustit nad danými poměry t-test a rovnou bych pohodlně dostal i confidence intervaly.
Pokud to spočítám správně, tj. že celkový počet psů vydělím celkovým počtem lidí, pak způsob, jak spočítat confidence interval nemusí být definovaný (možná že je, ale nehledal jsem to). Avšak to nevadí, protože už vím, co je to (a k čemu slouží) tzv. bootstrapping, takže nyní už se na to můžeme s klidem vrhnout 🙂
Metodologie
Celkem 119 lidí jsem se zeptal na 2 otázky:
- Kolik vlastníte psů ve vaší domácnosti?
- Kolik tam žije lidí?
Přehled sesbíraných dat:
> summary(validdf)
pohlavi psi lidi spravny_pocet_lidi psu_na_cloveka ma_psa
muz :70 Min. :0.0000 Min. :1.00 no : 0 Min. :0.0000 FALSE:67
zena:49 1st Qu.:0.0000 1st Qu.:2.00 yes:119 1st Qu.:0.0000 TRUE :52
Median :0.0000 Median :3.00 Median :0.0000
Mean :0.4874 Mean :3.16 Mean :0.1775
3rd Qu.:1.0000 3rd Qu.:4.00 3rd Qu.:0.3333
Max. :2.0000 Max. :8.00 Max. :1.0000
> dim(validdf)
[1] 119 6
Počet psů v ČR
Jak již bylo uvedeno výše, nejdříve spočítáme poměr celkového počtu psů vůči celkovému počtu lidí, a pak pomocí bootstrapingu odhadneme confidence interval:
> pomer = \(d,i) sum(d[i,]$psi)/sum(d[i,]$lidi)
> bp = boot(validdf, pomer, 10000)
> bp
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = validdf, statistic = pomer, R = 10000)
Bootstrap Statistics :
original bias std. error
t1* 0.1542553 3.513287e-05 0.01760127
> boot.ci(bp)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 10000 bootstrap replicates
CALL :
boot.ci(boot.out = bp)
Intervals :
Level Normal Basic
95% ( 0.1197, 0.1887 ) ( 0.1195, 0.1876 )
Level Percentile BCa
95% ( 0.1209, 0.1890 ) ( 0.1221, 0.1904 )
Calculations and Intervals on Original Scale
Z vypočítaných hodnot vyplývá, že v průměru v ČR připadá na lidskou populaci 15,43% psů. Dále jsme si na 95% jistí, že reálné procento se pohybuje v rozmezí 11,97%-18,87%. Pokud vezmeme počet lidí v ČR z posledního sčítání lidu z roku 2022 (10 525 739), pak v průměru zde žije 1 623 651 psů, kde 95% confidence interval je 1 259 931 až 1 986 207.
Pro srovnáni podle webu statista.com se uvádí, že v roce 2020 vyčíslili počet psů v ČR na 2,2 milionů. Kde horní confidence interval (1,98 milionů), který nám vyšel, je danému číslu nejblíže. Je však taky možné, že počet psů za poslední 2 roky mohl klesnout.
Poměr domácností se psem
Pomocí bootstrappingu můžeme taktéž vyčíslit, v jakém rozmezí se pohybuje % domácností, které psa mají:
> pomer_domacnost = \(d,i) table(d[i,]$ma_psa) |> prop.table()
> bpd = boot(df, pomer_domacnost, 10000)
> bpd
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = df, statistic = pomer_domacnost, R = 10000)
Bootstrap Statistics :
original bias std. error
t1* 0.7248677 -0.0004910053 0.03297849
t2* 0.2751323 0.0004910053 0.03297849
> boot.ci(bpd, index = 2)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 10000 bootstrap replicates
CALL :
boot.ci(boot.out = bpd, index = 2)
Intervals :
Level Normal Basic
95% ( 0.2100, 0.3393 ) ( 0.2065, 0.3386 )
Level Percentile BCa
95% ( 0.2116, 0.3438 ) ( 0.2116, 0.3386 )
Calculations and Intervals on Original Scale
Alespoň zde jsme mohli využít i původní “špatné” data, protože informaci o tom, jestli domácnost psa má nebo ne zde zůstala zachována. Z bootstrapovaných samplů vyplynulo, že v průměru 27,5% domácností psa má, kde conf. interval se pohybuje v rozmezí 21% – 33,9%.
Vliv počtu členů domácnosti na počet psů
Krom hlavního cíle této studie mě ještě napadla zajímavá otázka, a sice jestli počet psů v domácnostech nějak souvisí s počtem jejich členů. Jelikož se jedná o nezáporné počty, použijeme obecný lineární model s Poissonovým rozdělením:
Call:
glm(formula = psi ~ lidi, family = poisson(), data = validdf)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.2125 -0.9759 -0.8947 0.6605 1.7208
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.00257 0.30475 -3.290 0.001 **
lidi 0.08686 0.08138 1.067 0.286
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 100.002 on 118 degrees of freedom
Residual deviance: 98.885 on 117 degrees of freedom
AIC: 210.57
Number of Fisher Scoring iterations: 5
P-value nám zde vyšlo 0.286, z čehož nemůžeme vyvodit, že by zde vliv byl.
Závěr
Z průzkumu jsme zjistili, že na počet obyvatel ČR spadá průměrně 15,43% psů (95% conf. interval 11,97% až 18,87%), což při přepočtu odpovídá 1 623 651 psům (95% conf. interval 1 259 931 až 1 986 207).
Počet psů na jednu domácnost nám v průměru vyšel 27,5% (95% conf. interval 21% – 33,9%). Dále se neprokázal vliv počtu členů domácností na počet psů.