Indici di posizione e tendenza centrale: media, mediana, moda

Le misure di posizione, o indici di posizione, o anche misure di tendenza centrale, sono valori che sintetizzano la posizione di una distribuzione statistica, fornendo un valore che ne riassume gli aspetti ritenuti più importanti. In questa breve discussione vedremo alcuni degli indici più comuni e di uso pratico, quali le varie tipologie di media, la mediana, i quartili e i percentili.

Le misure di tendenza centrale

Una media è una misura della tendenza centrale di un insieme di valori.

La media aritmetica

La media aritmetica, come tutti sappiamo fin da bambini, è la somma dei valori presenti nel gruppo di dati, divisa per il numero dei valori.

In statistica, un parametro della popolazione è rappresentato da una lettera greca, mentre una misura descrittiva di un campione si rappresenta con una lettera romana.

Per la media, avremo il simbolo \( \mu \) per la media di una popolazione di valori, e useremo invece la lettera \( \overline X \) (si legge “x segnato”) per la media di un campione di valori.

N.B. Per la nostra esposizione, da qui in avanti, faremo sempre riferimento a parametri della popolazione.

Ed allora, ecco la formula per calcolare la media della popolazione:

\( \mu = \frac {\Sigma X}{N} \\ \\ \)

In R la funzione è mean(). Un semplicissimo esempio:

variabile = c(-3,1,2,4,5,2,8);
mean(variabile);

[1] 2.714286

La media di dati raggruppati

Immaginiamo di avere n dati raggruppati in un numero k classi. Chiamiamo xc il valore centrale di ciascuna classe e fi la frequenza osservata di ciascuna classe.

La formula per calcolare la media in questo caso è:

\( \bar x = \frac{\sum^{k}_{i=1} x_c f_i}{N} \\ \\ \)

Facciamo un esempio:

Classexcfixc * fi
4<x86530
8<x121011110
12<x201614224
20<x28247168
Tot37532
i nostri dati di esempio

Usiamo la formula e calcoliamo la media:

\( \bar x = \frac{(6*5) + (10*11) + (16*14) + (24*7)}{37} \\ \\ = \frac{532}{37} = 14.38 \)

La media ponderata

La media ponderata, o media pesata, è una media aritmetica in cui ogni valore è pesato a seconda della sua importanza nel complesso del gruppo.
Ciascun valore del gruppo (X) viene moltiplicato per il fattore di peso appropriato \( \omega \) e i vari prodotti vengono sommati e divisi per la somma dei pesi:

\( \mu_{w} = \frac{\Sigma(w X)}{\Sigma w} \)

Facciamo un esempio. Immaginiamo il caso di una disciplina sportiva in cui il punteggio dato dalla giuria per ogni esercizio è “pesato” con un certo coefficiente di difficoltà. Avremo ad esempio questi punteggi per i vari esercizi:

Voto della giuriaCoefficiente
9.34
9.82.8
8.83.3

Moltiplichiamo ciascun voto per il relativo coefficiente:

(9.3 * 4) + (9.8 * 2.8) + (8.8 * 3.3) = 93.68

La somma dei coefficienti (cioè dei “pesi”) è:

4 + 2.8 + 3.3 = 10.1

E calcolo la media ponderata:

93.68 / 10.1 = 9.275

La media geometrica

Dato un insieme di numeri positivi x1,x2,…,xn la media geometrica è la radice ennesima del prodotto degli n numeri. In formula:

\( \\ \newcommand{\vc}[3]{\overset{#2}{\underset{#3}{#1}}} Media \ geometrica = \sqrt[n]{\vc{\Pi}{n}{i=i} \ x_{i}} \)

n.b. La lettera pi maiuscola greca è il simbolo di produttoria. La formula quindi equivale a questa:

\( \\ Media \ geometrica = \sqrt[n]{x_{1} x_{1} … x_{n}} \\ \\ \)

R non ha di base una funzione ad hoc per calcolare, la media geometrica, ma il calcolo di questa misura di posizione è molto semplice. Facciamo un esempio:

dato = c(2,9,12) # I miei valori
n = length(dato) # il numero di valori
 
# prod calcola prodotto elementi di un vettore
# Calcolo la media geometrica
prod(dato)^(1/n)

La media armonica

La media armonica di un insieme di dati x1,x2,…,xn è il reciproco della media aritmetica dei reciproci dei dati. In formula:

\( Media \ armonica = \frac{1}{\frac{1}{n} \vc{\Sigma}{n}{i=i} \frac{1}{x_{i}}} \\ \\ \)

Anche per la media armonica non abbiamo a disposizione una funzione specifica, ma sappiamo che la media armonica è il reciproco della media dei reciproci dei dati, quindi il calcolo è banale:

 1/mean(1/dato)

Riprendendo il semplicissimo esempio sopra:

dato = c(2,9,12) # I miei valori
n = length(dato) # il numero di valori

# Calcolo la media armonica
1/mean(1/dato)

La media troncata

Una media troncata (ad esempio al 5%) è una media aritmetica di tutte le modalità ordinate dopo aver eliminato dalla popolazione il 5% dei valori più bassi e il 5% dei valori più alti. Quindi, nell’esempio che abbiamo scelto, questa media è ottenuta calcolando la media aritmetica del 90% della popolazione di posto centrale nella serie ordinata delle osservazioni.

In R, possiamo ottenerla indicando nella funzione mean() l’opzione trim=quotadaescludere, dove quotadaescludere è la proporzione, tra 0 e 1, delle modalità più piccole e più grandi da escludere prima di calcolare la media aritmetica.

Un semplice esempio in R per chiarire meglio le idee:

variabile = c(-3,1,2,4,5,2,5,0.8,2.4,6,8);
mean(variabile, trim=0.05);  ### media troncata al 5%

[1] 3.018182

Un caso pratico SEO: media o mediana per le sessioni?

Gli indici di posizione si capiscono davvero quando li portiamo sui dati che guardiamo ogni giorno. Immaginiamo le sessioni organiche giornaliere di una pagina in due settimane, con un dettaglio realistico: un picco isolato il giorno del Black Friday.

210  235  198  252  221  243  209  267  231  215  248  226  239  2400

Calcolo i due indici in R:

sessioni <- c(210, 235, 198, 252, 221, 243, 209, 267, 231, 215, 248, 226, 239, 2400)
mean(sessioni)             # 385.3
median(sessioni)           # 233
mean(sessioni, trim = 0.10)  # 233

La media dice 385 sessioni al giorno; la mediana ne dice 233. E qui sta la lezione: nessun giorno normale si è avvicinato a 385 — quel valore è un artefatto del solo Black Friday, che da solo trascina la media di oltre 150 sessioni. La mediana, indifferente al picco, racconta il giorno tipico. Non a caso coincide con la media troncata al 10% (233), che abbiamo incontrato poco sopra: scartare le code prima di mediare è un altro modo per non farsi ingannare da un valore estremo. Riportare «385 sessioni al giorno di media» a un cliente sarebbe corretto in senso aritmetico e fuorviante in senso pratico.

La regola operativa è semplice e vale ben oltre la SEO: quando la distribuzione ha code lunghe o valori anomali — picchi stagionali, giornate virali, bot — la mediana (o la media troncata) descrive il centro meglio della media. La media resta insostituibile quando i dati sono simmetrici e privi di outlier.

Prova tu

Per fissare il meccanismo, ecco la durata di sessione (in secondi) di dieci visite a una pagina, con un valore sospetto — forse un bot rimasto aperto:

45  52  48  61  55  300  49  58  53  47

Il compito: calcolare media e mediana con mean() e median(), poi i quartili con quantile(x, c(0.25, 0.5, 0.75)), e decidere quale indice riporteresti come «durata tipica».

Per controllare i conti: la media è 76,8 s (gonfiata dal 300), la mediana 52,5 s; i quartili sono Q1 = 48,25 e Q3 = 57,25, con uno scarto interquartile di appena 9 secondi. La media quasi raddoppia la durata reale della maggior parte delle visite: la mediana, di nuovo, è l’indice onesto.

Con media, mediana, moda e quartili sappiamo dire dove si concentra una distribuzione. Ma è solo metà del racconto: due insiemi di dati possono avere la stessa identica media e somigliarsi pochissimo, a seconda di quanto i valori si disperdono attorno a quel centro. Misurare quella dispersione — la varianza, la deviazione standard, lo scarto interquartile che abbiamo appena sfiorato — è il passo che dà finalmente profondità ai nostri indici di posizione: ne parliamo nelle misure di dispersione.


La mediana

La mediana di un gruppo di elementi è il valore dell’elemento centrale quando tutti gli elementi del gruppo sono disposti in ordine ascendente o discendente di valore.

In pratica, la mediana dei dati è il valore che divide la serie in due parti uguali: tanti valori sopra la mediana quanti valori sotto.

Per trovare la mediana si usa la regola detta pari-dispari:

Regola pari-dispari

Se in una serie c’è un numero dispari di valori, la mediana è il valore intermedio della serie; se c’è un numero pari di valori, la mediana è la media artimetica dei due valori intermedi.


In pratica, la formula per trovare la mediana si può sintetizzare così:

\( Med = X_{(n/2)+(1/2)} \)


La mediana si calcola in R con la funzione median():

var = c(0,1,2,3,6,7,11,14);
median(var);

[1] 4.5
La mediana di dati raggruppati

Nel caso di dati raggruppati, si deve:
1. stabilire quale classe contenga il valore mediano
e poi
2. determinare per interpolazione la posizione della mediana all’interno di quella classe. 

La classe che contiene la mediana è la prima classe la cui frequenza cumulativa uguaglia o supera la metà del numero totale di osservazioni. Una volta individuata questa classe, il valore specifico della mediana si determina con la formula:

\( Med = C_{I} + (\frac{\frac{N}{2}- fc_{p}}{f_{c}})i \)

dove:

CI = confine inferiore della classe contenente la mediana
N = numero totale di osservazioni della distribuzione di frequenza
fcp = frequenza cumulativa della classe che precede quella contenente la mediana
fc = numero di osservazioni della classe contenente la mediana
i = ampiezza dell’intervallo di classe

Come sempre, è un esempio a mostrare come la realtà operativa sia più semplice di come appaia un primo sguardo. Prendiamo una distribuzione suddivisa in classi di frequenza. Nel nostro esempio parliamo di classi di altezze:

Altezza (cm)FrequenzeFrequenze cumulate
150 – 16044
160 – 170812
170 – 1801022
180 – 190830
190 – 200434

La classe che contiene la mediana è la prima classe la cui frequenza cumulata uguaglia o supera la metà del numero totale di osservazioni, che come si evince dalla tabella è 34/2 = 17.

La nostra classe mediana, che contiene il valore 17 è dunque quella 170 -180.

Possiamo quindi ricavare facilmente tutti i valori da inserire nella nostra formula di interpolazione:

CI = confine inferiore della classe contenente la mediana = 170
N = numero totale di osservazioni della distribuzione di frequenza = 34
fcp = frequenza cumulativa della classe che precede quella contenente la mediana = 12
fc = numero di osservazioni della classe contenente la mediana = 10
i = ampiezza dell’intervallo di classe = (180 – 170) = 10

\( Med = C_{I} + (\frac{\frac{N}{2}- fc_{p}}{f_{c}})i \\ \)

quindi

\( Med = 170 + (\frac{(34/2) – 12}{10}) * 10 = 175 cm \)

Il valore mediano della classe mediana ( 170-180 cm ) è pari a 175cm.

La mediana è resistente a valori estremi

La mediana è un indice di estrema utilità in statistica, per via di una preziosissima caratteristica: è infatti resistente a valori estremi. La media è una misura estremamente sensibile ai valori estremi (gli outliers), mentre la mediana assai meno. 


Per questo, ad esempio, nel caso di una distribuzione asimmetrica la mediana è un indice maggiormente affidabile della media, che sarà sempre “trascinata” verso la coda della distribuzione. In una distribuzione asimmetrica, la mediana cadrà sempre tra la media e la moda.

La moda

La moda di un insieme di dati è il valore che si presenta più frequentemente.

Ad esempio, consideriamo la frequenza dei voti in un test:

votofrequenza
55
6 << questa è la moda11
78
87
93

Una distribuzione del genere è detta unimodale.
Nel caso di un piccolo insieme di dati in cui nessun valore misurato si ripete, non esiste moda.
Quando due valori non adiacenti presentano entrambi lo stesso numero massimo di frequenza, si dice che la distribuzione è bimodale.
Le distribuzioni di misurazioni con parecchie mode sono dette multimodali.

In R possiamo trovare la moda in maniera molto semplice, sfruttando l’istruzione which.max():

var = c(3,6,7,7,9,11,12,12,12,14,15,16,17,22,29,31);
frequenza=tabulate(var);
which.max(frequenza);

[1] 12
Moda di dati raggruppati

Nel caso di dati raggruppati in una distribuzione di frequenza con intervalli di classe uguali, si stabilisce dapprima quale classe contenga la moda individuando la classe con il maggior numero di osservazioni. Poi si usa la formula:

\( Moda = C_{I} + (\frac{d_{1}}{d_{1}+d_{2}})i \)

dove:

CI = confine inferiore della classe contenente la moda
d1 = differenza tra la frequenza della classe modale e la frequenza della classe precedente
d2 = differenza tra la frequenza della classe modale e la frequenza della classe successiva
i = ampiezza dell’intervallo di classe

Relazione tra media, mediana e moda

Nel caso dei dati raggruppati rappresentati da una curva di frequenza, la differenza fra i valori della media, della mediana e della moda rivela la forma della curva in termini di simmetria.

Per una distribuzione unimodale simmetrica, la media, la mediana e la moda coincidono, ossia hanno identico valore.

Nel caso della distribuzione asimmetrica positiva, la media ha il valore più grande e la mediana è più grande della moda.
Quindi:

Asimmetria positiva = coda a destra = Media > Mediana > Moda

asimmetria positiva

Nel caso dell’asimmetria negativa, la media ha il valore minimo e la mediana è minore della moda.
Quindi, in sintesi:

Asimmetria negativa = coda a sinistra = Media < Mediana < Moda

asimmetria negativa

Una misura molto nota dell’asimmetria, che utilizza la differenza osservata fra la media e la mediana di un gruppo di valori, è l’indice di asimmetria di Pearson, che vedremo più in dettaglio quando introdurremo il concetto di misure di variabilità, poichè presenta al denominatore il valore della deviazione standard, ma che possiamo anticipare:

\( Asimmetria = \frac{3(\mu – Med)}{\sigma} \)

Quartili, decili e percentili

I quartili, i decili e i percentili sono analoghi alla mediana in quanto suddividono anch’essi una distribuzione di misurazioni a seconda della proporzione delle frequenze osservate.

Mentre la mediana divide la distribuzione in due metà, i quartili la dividono in quattro quarti; i decili in dieci decimi; i percentili in 100 centesimi. Nel caso di dati non raggruppati, la formula della mediana viene modificata a seconda della frazione desiderata:

\( Q_{1} \ (primo\ quartile) = X_{(\frac{n}{4} + \frac{1}{2})} \\ D_{3} \ (terzo\ decile) = X_{(\frac{3n}{10} + \frac{1}{2})} \\ P_{60} \ (sessantesimo\ percentile) = X_{(\frac{60n}{100} + \frac{1}{2})} \\ \)

In R possiamo calcolarli così:

var = c(3,6,7,7,9,11,12,12,14,15,16,17,22,29,31);
quantile(var, probs=c(0.25,0.50,0.75)); ### quartili

 25%  50%  75% 
 8.0 12.0 16.5 

quantile(var, probs=c(1:9)/10); ### decili

 10%  20%  30%  40%  50%  60%  70%  80%  90% 
 6.4  7.0  9.4 11.6 12.0 14.4 15.8 18.0 26.2 
Quartili, decili e percentili di dati raggruppati

In questo caso si deve prima determinare la classe contenente il punto corrispondente alla frazione desiderata, con riferimento alle frequenza cumulative, poi interpolare. Ad esempio:

\( Q_{1} \ (primo\ quartile) = C_{1} + (\frac{\frac{n}{4} – fc_{p}}{f_{c}})i \\ D_{2} \ (terzo\ decile) = C_{1} + (\frac{\frac{3n}{10} – fc_{p}}{f_{c}})i \\ P_{60} \ (sessantesimo\ percentile) = C_{1} + (\frac{\frac{60n}{100} – fc_{p}}{f_{c}})i \\ \)

Uno sguardo d’insieme: gli utilissimi 5 numeri

Esiste una descrizione sintetica dai dati che ci consente di avere immediatamente sott’occhio misure fondamentali:

  1. Il valore minimo dei nostri dati
  2. il valore del primo quartile
  3. la mediana
  4. il valore del terzo quartile
  5. il valore massimo

I 5 numeri costituiscono spesso un ottimo punto di partenza per analizzare le caratteristiche di una distribuzione. In R abbiamo un apposito comando, chiamato (ovviamente) fivenum():

var = c(3,6,7,7,9,11,12,12,14,15,16,17,22,29,31);
fivenum(var);

[1]  3.0  8.0 12.0 16.5 31.0

Aiutiamoci con un grafico furbo: il box-plot 

Il boxplot (o diagramma a scatola) è un tipo di grafico inventato dal grande John Tukey al fine di poter avere una buona visione d’insieme di un insieme di dati in un unico colpo d’occhio. 

Il boxplot può essere orientato orizzontalmente o verticalmente e si presenta come un rettangolo diviso in due parti, da cui escono due segmenti. Il rettangolo (la “scatola”) è delimitato dal primo e dal terzo quartile ed è diviso al suo interno dalla mediana. I “baffi” rapresentano il minimo e il massimo dei valori. 

n.b. proprio la presenza dei “baffi” fa sì che questo diagramma sia spesso chiamato box-and-whisker plot o diagramma a scatola e baffi.

In questo modo vengono rappresentati graficamente i quattro intervalli ugualmente popolati delimitati dai quartili.
Uso una semplice distribuzione di dati e mostro in R come richiamare la funzione boxplot:

dati <- c(24,17,21,23,15,30,24,21,24,19,25,28,22,20,14,19,26,29,23,25,24,18,27,21);
boxplot(dati,ylab="",col=gray(0.8));

Aggiungendo qualche testo qua e là per una maggior comprensibilità, il risultato che ottengo è questo:

esempio

Un "colpo d'occhio" estremamente efficace sulla distribuzione dei valori osservati.

Potrebbe interessarti anche


Per approfondire

Media, mediana e i loro tranelli sono tra i protagonisti de L’arte della statistica di David Spiegelhalter: un libro che mostra, con casi reali, quando un indice di posizione illumina i dati e quando invece li tradisce.

Un commento su “Indici di posizione e tendenza centrale: media, mediana, moda”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *