Costruisci (con opportuno software) un file di dati (qualche migliaia) che abbia un istogramma di distribuzione simile a quello a lato e calcolane sperimentalmente media, mediana, 1º e 3º quartile. Confronta questi valori con quelli "teorici". | ![]() |
Procediamo con degli script online. Poi vedermo come procedere con R.
Con lo script rndrnd a cui si accede da qui otteniamo un esito simile al seguente:
Le uscite cadono nell'intervallo [0,2]. Se le raddoppio, ovvero se considerassi U1 e U2 distribuite uniformemente in [0,2), otterrei un istogramma simile, approssimabile con un triangolo isoscele.
Se mettiamo gli output numerici nello script boxplot otteniamo un esito simile al seguente:
La media e la mediana tendono ad essere uguali entrambe ad 1 (o 2), 1º e 3º quartile a circa 0.71 (o 1.42) e 1.3 (o 2.6).
Considerando la figura del testo dell'esercizio, determiniamo i valori teorici.
Media e mediana, per simmetria, valgono entrambe 2.
Il 1º quartile è pari alla base B del triangolo
con altezza B*0.5/2 avente area 1/4. B²*0.5/4=1/4.
B = √2 = 1.41421
.
Il 3º quartile, per simmetria, è
4−√2 = 2.58578
I valori sono in accordo con quelli sperimentali.
Vediamo come procedere con R.
n <- 1e5; U1 <- runif(n)*2; U2 <- runif(n)*2 # ovvero: # U1 <- runif(n,min=0,max=2); U2 <- runif(n,min=0,max=2) hist(U1+U2, probability=TRUE, col='yellow',nclass=40) abline(h=axTicks(2),lty=2) lines(c(0,2,4),c(0,1/2,0),lwd=2) summary(U1+U2) # Min. 1st Qu. Median Mean 3rd Qu. Max. # 0.009054 1.416000 1.999000 2.000000 2.588000 3.991000 lines(c(0,2,4),c(0,1/2,0),lwd=2,col="red")
# Ovvero (se conosci gli integrali): n = 1e6; U1 = runif(n,0,2); U2 = runif(n,0,2) Plane(0,4, 0,1/2) hist(U1+U2, probability=TRUE, col="grey90", add=TRUE, nclass=40) f = function(x) -abs(x-2)/4+1/2 graph1(f, 0,4, "blue"); abovex("2*runif+2*runif") statistics(U1+U2) # Min. 1st Qu. Median Mean 3rd Qu. Max. # 0.004323 1.413000 2.001000 2.000000 2.587000 3.998000 # The brown dots are 5^ and 95^ percentiles # The red dot is the meanintegral(f, 0,4) # 1 g = function(x) f(x)*x; integral(g, 0,4) # 2 la media h = function(x) f(x)*(x-2)^2; sqrt(integral(h,0,4)) # 0.8164966 lo sqm integral(f,0,sqrt(2)); integral(f,0,4-sqrt(2)) # 0.25 0.75 sqrt(2) e 4-sqrt(2): 1^ e 3^ quartile sqrt(2); 4-sqrt(2) # 1.414214 2.585786