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ů.