Parametri media e deviazione standard della popolazione

library(ggplot2)
library(lattice)
library(gridExtra)
#caricare dataset dati (pilprocapite mondo)
N=142 
n=20
y=dati
mu=with(y,mean(gdpPercap))
mu
## [1] 11680.07
sigma=with(y,sd(gdpPercap))
sigma
## [1] 12859.94

Estrazione di un campione casuale semplice di n=20 elementi

# si crea la lista di campionamento
lista=c(1:N)
lista
##   [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17
##  [18]  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34
##  [35]  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51
##  [52]  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68
##  [69]  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85
##  [86]  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102
## [103] 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
## [120] 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
## [137] 137 138 139 140 141 142
set.seed(1)
s=sample(lista,n)
# indichiamo il campione estratto con s
s
##  [1]  68 129  43  14  51  85  21 106  74   7  73  79  37 105  89 110 101
## [18] 130  34 135
# indichiamo la stima ottenuta sul campione con mc
mc=mean(y$gdpPercap[s]);mc=round(mc,digits=2)
mc
## [1] 14036.16
# indichiamo l'errore di stima con ec 
ec=mc-mu
round(ec,digits=2)
## [1] 2356.09

Ripetiamo il processo di estrazione del campione e il relativo processo di stima per 500 volte

M=500
res=rep(0,M)
set.seed(10)
for(i in 1:M){
s=sample(lista,n)
res[i]=mean(y$gdpPercap[s]) 
}

Rappresentiamo le prime nostre 50 stime e vediamo come “ballano” intorno al valore del parametro mu

Alcune stime sono vicine a mu, altre sono lontane. Si nota come le stime oscillano casualmente attorno alla media della popolazione, ovvero l’errore di stima in media vale zero: stimatore corretto

Correttezza e efficienza dello stimatore media campionaria

Segue il calcolo dell’errore standard dello stimatore media campionaria

f=n/N
ES_ccs=sqrt( (1-f)*sigma^2/n )
ES_ccs
## [1] 2665.383

Possiamo verificare le caratteristiche di cui sopra sulle 500 stime ottenute

Verifica correttezza delle stime

# in media le stime forniscono un valore molto vicino al parametro mu
mean(res)
## [1] 11632.42
mean(res)-mu
## [1] -47.65132
#la differenza tra la media delle stime e il parametro mu: -47.65132 

(47.65132/11680.07)*100
## [1] 0.4079712
# che corrisponde ad un errore pari allo 0.40% di mu

Verifica dell’efficienza

Quanto sono variabili le 500 stime precedentemente ottenute?

# si nota come il valore sia vicino a quello fornito dalla teoria (ES_ccs)
sd(res)
## [1] 2551.681

Cosa accade se la dimensione campionaria diminuisce?

Estrazione di un campione casuale semplice di n=5 elementi

set.seed(5)
n=5
s=sample(lista,n)
# indichiamo il campione estratto con s
s
## [1]  66 107 121  41  71
# indichiamo la stima ottenuta sul campione con mc
mc=mean(y$gdpPercap[s]);mc=round(mc,digits=2)
mc
## [1] 11246.8
# indichiamo l'errore di stima con ec 
ec=mc-mu
round(ec,digits=2)
## [1] -433.27

Ripetiamo il processo di estrazione del campione e il relativo processo di stima per 500 volte

M=500
res_n5=rep(0,M)
set.seed(5)
for(i in 1:M){
s=sample(lista,n)
res_n5[i]=mean(y$gdpPercap[s]) 
}

Rappresentiamo le prime nostre 50 stime e vediamo come “ballano” intorno al valore del parametro mu

Si nota come le stime oscillano casualmente attorno alla media della popolazione, ovvero l’errore di stima in media vale zero: stimatore corretto per qualsiasi dimensione campionaria

Correttezza e efficienza dello stimatore media campionaria

Segue il calcolo dell’errore standard dello stimatore media campionaria per n=5

f=n/N
ES_ccs_n5=sqrt( (1-f)*sigma^2/n )
ES_ccs_n5
## [1] 5648.979

Ovviamente, si nota come l’errore standard sia aumentato rispetto al valore ottenuto per n=20

Verifica correttezza delle stime

# in media le stime forniscono un valore molto vicino al parametro mu
mean(res_n5)
## [1] 11663.65
mean(res_n5)-mu
## [1] -16.42203
#la differenza tra la media delle stime e il parametro mu: -16.42203 

(-16.42203/11680.07)*100
## [1] -0.1405987
# corrisponde ad un errore pari allo 0.14% di mu

Verifica dell’efficienza

Quanto sono variabili le 500 stime precedentemente ottenute?

# si nota come il valore sia vicino a quello fornito dalla teoria (ES_ccs_n5)
sd(res_n5)
## [1] 5821.66

Confronto fra le distribuzioni campionarie per n=5 e n=20

Si nota chiaramente che le stime sono meno variabili e quindi maggiormente precise per n=20