Calcolare la media... di medie

ToMMy!!!112
Vi pongo un quesito la cui risposta probabilmente è più banale di quanto possa pensare, ma cui comunque non riesco a dare una risposta sicura.
Per rendere le cose più comprensibili, pongo la domanda con un esempio pratico:

Supponiamo che 5 articoli scientifici misurino un parametro (diciamo, la pressione arteriosa) in soggetti affetti da una certa malattia. I 5 articoli sono scritti da persone diverse, anni diversi, nazioni diverse; essi riportano solamente valori descrittivi dei loro gruppi (ossia numerosità del gruppo su cui hanno effettuato le misurazioni; media delle misurazioni; deviazione standard). Raccolgo i dati, che riporto qua sotto (i dati li ho creati io):

$n_1=120, \bar{x_1}=99.22, sd_1=22.89$
$n_2=160, \bar{x_2}=88.84, sd_2=18.22$
$n_3=85, \bar{x_3}=108.98, sd_3=15.42$
$n_4=100, \bar{x_4}=100.57, sd_4=19.73$
$n_5=60, \bar{x_5}=92.84, sd_5=25.38$

La mia domanda è: è possibile calcolare una "grand-mean", ossia calcolare la media di tutti i gruppi, e la sua deviazione standard? Se sì, quali sono le formule?
Siccome i dati li ho generati io con un programma, e dato che dispongo delle singole rilevazioni, la risposta "vera" sarebbe:
$N=525, \bar{X}=97.1644, SD=21.28955$
Appare abbastanza semplice che per calcolare la media generale dei 5 gruppi, basta calcolare la media pesata, utilizzando come pesi le numerosità dei gruppi. Ma per la deviazione standard?

Secondo quesito: è legittimo fare questo calcolo? Cioè, serve fare qualche assunzione per giustificare tale calcolo? Ad esempio, è necessario che i 5 gruppi siano stati estratti da un'unica distribuzione normale, perchè possa avere senso calcolare la media generale? E se sono estratti da 5 popolazioni con distribuzioni normali differenti, come me la cavo?

Giusto per la cronaca, è un dubbio che mi è venuto, leggendo qua e là; non è un esercizio che voglio essere risolto, nè un lavoro su cui voglio essere aiutato; è una mia semplice curiosità.
Spero di aver scritto la domanda nel modo più chiaro possibile. Se non mi sono spiegato al meglio, chiedete pure delucidazioni, e vi rispondo subito!
Grazie :)

Risposte
cenzo1
"ToMMy!!!":
Ma per la deviazione standard?

Se non ho sbagliato i conti per la deviazione standard la formula è questa (nel caso di due campioni, ma la puoi estendere facilmente a più di due):
$sigma^2=frac{sigma_1^2(n_1-1)+sigma_2^2(n_2-1)+(\bar{x}_1-\bar{x})^2n_1+(\bar{x}_2-\bar{x})^2n_2}{n_1+n_2-1}$

dove con $\bar{x}$ indico la media del campione complessivo (media pesata come dici tu) e con $sigma^2$ indico la varianza campionaria, ad esempio, per intenderci, $sigma_1^2=frac{\sum_{i=1}^{n_1}(x_i-\bar{x}_1)^2}{n_1-1}$

Per il secondo quesito non ti so dare una risposta certa, meglio attendere qualcuno più esperto.

Io comunque mi regolerei così (ma forse sbaglio): se so per certo che i due campioni provengono dalla stessa popolazione allora non mi farei problemi a fondere i campioni.
Se provengono da "situazioni" diverse, allora farei prima un test d'ipotesi per valutare se è ragionevole che siano estratti della stessa popolazione (con un certo livello di fiducia). Se il test è positivo allora mi sentirei confidente di fondere in un unico campione, altrimenti non mi sembra una cosa sensata.

markowitz
Cosa ci devi fare con media e dev, st. ? Questo è il problema!
Calcolare statistiche descrittive è sempre lecito e l'informazione "descrittiva" che ne trai è sempre valida
nel tuo caso media dev. st e se vuoi pure mediana asimmetria ecc.. le puoi calcolare sempre senza farti troppi problemi.
Le complicazioni arrivano quando vuoi fare inferenza allora si che dobbiamo inserire test e quindi assunzioni
più o meno stringenti.
Se devi solo descrivere vai tranquillo!

ToMMy!!!112
"cenzo":

Se non ho sbagliato i conti per la deviazione standard la formula è questa (nel caso di due campioni, ma la puoi estendere facilmente a più di due):
$sigma^2=frac{sigma_1^2(n_1-1)+sigma_2^2(n_2-1)+(\bar{x}_1-\bar{x})^2n_1+(\bar{x}_2-\bar{x})^2n_2}{n_1+n_2-1}$


Quindi generalizzando, la formula dovrebbe essere:
$sigma^2=\frac{\sum_{i=1}^{k}[\sigma_i^2(n_i-1)]+\sum_{i=1}^{k}[n_i(\bar{x_i}-\bar{X})^2]}{(\sum_{i=1}^{k}n_i)-(k-1)}$
Qui k è il numero di gruppi, il resto sono i già utilizzati simboli.
Mi piace questa formula (eheh), perchè non la conoscevo; l'ho implementata in R e sembra funzionare, mi dà delle buone approssimazioni dei valori reali.
Hai qualche bibliografia, o una dimostrazione/spiegazione? Perchè non l'ho trovata da nessuna parte, stranamente.
Io conoscevo quest'altra formula:
$sigma^2=\frac{\sum_{i=1}^{n}[w_i(\bar{x_i}-\bar{X})^2]}{\sum_{i=1}^{n}w_i}$, con $w_i=1/\sigma_i^2$
Questa formula compare in wikipedia (http://en.wikipedia.org/wiki/Weighted_mean) e in quest'altro pdf che vi linko perchè l'ho trovato molto interessante (http://www-uxsup.csx.cam.ac.uk/~fanf2/hermes/doc/antiforgery/stats.pdf).
E mi chiedevo: che differenza c'è tra le due?

"cenzo":

valutare se è ragionevole che siano estratti della stessa popolazione (con un certo livello di fiducia)

A quali test fai riferimento? Test di omogeneità della varianza? Q di Cochran? O più probabilmente il Kolmogorov-Smirnov's test?
Lo chiedo a te, magari sai rapidamente la risposta, altrimenti cerco un pò io; non ricordo sinceramente se questi test possono essere svolti solo se si dispone dei "raw-data", oppure anche su "dati descrittivi", come nel mio caso.

"markowitz":

Se devi solo descrivere vai tranquillo!

Effettivamente mi interessava ricavare solamente quel numero, la media; da inserire poi in altre formule, ma senza alcuna inferenza. Almeno per ora XD
E spero di non doverne fare, altrimenti entro in confusione totale.

Grazie a entrambi per le risposte :D

cenzo1
"ToMMy!!!":
Quindi generalizzando, la formula dovrebbe essere:
$sigma^2=\frac{\sum_{i=1}^{k}[\sigma_i^2(n_i-1)]+\sum_{i=1}^{k}[n_i(\bar{x_i}-\bar{X})^2]}{(\sum_{i=1}^{k}n_i)-(k-1)}$
Qui k è il numero di gruppi, il resto sono i già utilizzati simboli.


Non mi trovo, la generalizzazione dovrebbe essere questa (cambia il denominatore):
$sigma^2=\frac{\sum_{i=1}^{k}[\sigma_i^2(n_i-1)]+\sum_{i=1}^{k}[n_i(\bar{x_i}-\bar{X})^2]}{(\sum_{i=1}^{k}n_i)-1}$

Purtroppo non ti so indicare una bibliografia, me la sono ricavata al momento partendo dalle definizioni di varianza campionaria, quelle note e quella dell'unico campione cosituito dalla unione dei gruppi noti. In definitiva al numeratore c'è la devianza totale e al denominatore i gradi di libertà del campione complessivo (solo un "-1"). Puoi provare a ricavartela, non è stato difficile.

"ToMMy!!!":
Io conoscevo quest'altra formula:
$sigma^2=\frac{\sum_{i=1}^{n}[w_i(\bar{x_i}-\bar{X})^2]}{\sum_{i=1}^{n}w_i}$, con $w_i=1/\sigma_i^2$
Questa formula compare in wikipedia (http://en.wikipedia.org/wiki/Weighted_mean) e in quest'altro pdf che vi linko perchè l'ho trovato molto interessante (http://www-uxsup.csx.cam.ac.uk/~fanf2/hermes/doc/antiforgery/stats.pdf).
E mi chiedevo: che differenza c'è tra le due?

In effetti sarebbe interessante capire se danno gli stessi risultati e quindi sono due espressioni analoghe oppure se danno risultati diversi e quindi capire la logica di quest'altra formula, che a pensarci non mi è nuova...

"ToMMy!!!":
A quali test fai riferimento? Test di omogeneità della varianza? Q di Cochran? O più probabilmente il Kolmogorov-Smirnov's test?
Lo chiedo a te, magari sai rapidamente la risposta, altrimenti cerco un pò io; non ricordo sinceramente se questi test possono essere svolti solo se si dispone dei "raw-data", oppure anche su "dati descrittivi", come nel mio caso.

Su questo non sono preparato.. :oops:
..Se pensi che le popolazioni debbano essere normali, un test di normalità (QQ-plot, Shapiro-Wilk), però in tal caso ti servirebbero i dati, che a quanto ho capito non disponi.
Se "assumi" che le popolazioni hanno distribuzione normale, comunque dovresti verificare che abbiano gli stessi parametri (media e varianza). Mi viene in mente l'analisi della varianza per valutare la differenza tra medie (hai più di due gruppi)...
Mi spiace, non so dirti di più, dovrei documentarmi anche io :-)

ToMMy!!!112
"cenzo":
Non mi trovo, la generalizzazione dovrebbe essere questa (cambia il denominatore):
$sigma^2=\frac{\sum_{i=1}^{k}[\sigma_i^2(n_i-1)]+\sum_{i=1}^{k}[n_i(\bar{x_i}-\bar{X})^2]}{(\sum_{i=1}^{k}n_i)-1}$

Purtroppo non ti so indicare una bibliografia, me la sono ricavata al momento partendo dalle definizioni di varianza campionaria, quelle note e quella dell'unico campione cosituito dalla unione dei gruppi noti. In definitiva al numeratore c'è la devianza totale e al denominatore i gradi di libertà del campione complessivo (solo un "-1"). Puoi provare a ricavartela, non è stato difficile.

E' vero, hai ragione, al denominatore ci va solo $N-1$ in pratica!

Ho fatto alcune prove (con solo due gruppi), che puoi vedere in quesi grafici:

Nel primo grafico, in blu e in verde ci sono i valori di due gruppi normali, disegnati; in rosso invece ho unito i due vettori (quindi unico vettori con gruppo-1 e gruppo-2).
Nel secondo grafico, ho calcolato media e deviazione standard di gruppo-1 (in blu), di gruppo-2 (in verde), e del gruppo-unione (in rosso); e ho disegnato le relative normali $N(\mu, \sigma)$.
Nel terzo grafico invece ho simulato di avere solamente i dati descrittivi. Ovviamente le normali di gruppo-1 e gruppo-2 sono praticamente sovrapponibili. La normale rossa, è disegnata calcolando la media (come media pesata) e la deviazione standard (con la formula che mi hai detto tu).
Direi che il risultato ottenuto è chiaro! Quindi grazie per la formula :)
(Ora però mi viene il dubbio: funziona uguale anche se partiamo anzichè da normali, da distribuzioni t?)

"cenzo":
Se "assumi" che le popolazioni hanno distribuzione normale, comunque dovresti verificare che abbiano gli stessi parametri (media e varianza). Mi viene in mente l'analisi della varianza per valutare la differenza tra medie (hai più di due gruppi)...
Mi spiace, non so dirti di più, dovrei documentarmi anche io :-)

Come vedi dalla mia prova, ho volutamente allontanato di parecchio le medie dei due gruppi, per motivi visivi (se li avvicinavo, avrei avuto una confusione di linee); e in tal caso la curva rossa, suggerisce piuttosto una distribuzione bimodale, quindi calcolare la media generale ha un senso puramente descrittivo, ma nulla di più (come diceva anche markowitz).
E' come dire: calcolo media e ds delle altezza nei maschi, e nelle femmine (ovviamente i valori sono molto diversi); qual è la media dell'altezza generale nei due gruppi? Ottengo un numero (la media), ma non mi dice granchè (e difatti la ds sarà anche molto alta). E da questo numero, pertanto non potrò fare alcuna inferenza.
Se invece le normali che approssimano i grafici sono tra loro vicine, allora ha senso "fondere" i dati, e calcolare media e ds generale (perchè è come dire: io calcolo la media delle altezze in un gruppo di maschi, tu calcoli la media nelle altezza di un altro gruppo di maschi; qual è la media delle altezza generale nei maschi?).
Ed effettivamente una ANOVA dovrebbe essere sufficiente (il Kolmogorov-Smirnov sarebbe l'ideale, ma non dispongo dei raw-data); peraltro mi ero anche dimenticato di aver scritto un post (sul mio blog) su come eseguire una ANOVA partendo da dati aggregati come quelli di questo caso :lol:

Spero in tutto questo ragionamento di non aver dimenticato niente... e di non aver fatto errori banali!

cenzo1
"ToMMy!!!":
Ora però mi viene il dubbio: funziona uguale anche se partiamo anzichè da normali, da distribuzioni t?

Nel ricavare la formula non è stata fatta nessuna ipotesi circa la distribuzione, pertanto dovrebbe avere portata generale.
Ti mostro come l'ho ottenuta, nel caso di 2 campioni (ma l'estensione è ovvia).

Varianza campionaria campione 1:
[tex]s_{1}^{2}=\frac{\sum\limits_{i=1}^{{{n}_{1}}}{{{(x_{i}^{(1)}-{{{\bar{x}}}_{1}})}^{2}}}}{{{n}_{1}}-1}[/tex]
da cui:
[tex]\sum\limits_{i=1}^{{{n}_{1}}}{{{(x_{i}^{(1)}-{{{\bar{x}}}_{1}})}^{2}}}=s_{1}^{2}({{n}_{1}}-1)[/tex]

Varianza campionaria campione 2:
[tex]s_{2}^{2}=\frac{\sum\limits_{i=1}^{{{n}_{2}}}{{{(x_{i}^{(2)}-{{{\bar{x}}}_{2}})}^{2}}}}{{{n}_{2}}-1}[/tex]
da cui:
[tex]\sum\limits_{i=1}^{{{n}_{2}}}{{{(x_{i}^{(2)}-{{{\bar{x}}}_{2}})}^{2}}}=s_{2}^{2}({{n}_{2}}-1)[/tex]

Varianza campionaria del campione unione:

[tex]{{s}^{2}}=\frac{\sum\limits_{i=1}^{N}{{{({{x}_{i}}-\bar{x})}^{2}}}}{N-1}=\frac{\sum\limits_{i=1}^{{{n}_{1}}}{{{(x_{i}^{(1)}-\bar{x})}^{2}}}+\sum\limits_{i=1}^{{{n}_{2}}}{{{(x_{i}^{(2)}-\bar{x})}^{2}}}}{N-1}=\frac{\sum\limits_{i=1}^{{{n}_{1}}}{{{(x_{i}^{(1)}-{{{\bar{x}}}_{1}}+{{{\bar{x}}}_{1}}-\bar{x})}^{2}}}+\sum\limits_{i=1}^{{{n}_{2}}}{{{(x_{i}^{(2)}-{{{\bar{x}}}_{2}}+{{{\bar{x}}}_{2}}-\bar{x})}^{2}}}}{N-1}=[/tex]

[tex]=\frac{\sum\limits_{i=1}^{{{n}_{1}}}{[{{(x_{i}^{(1)}-{{{\bar{x}}}_{1}})}^{2}}+2(x_{i}^{(1)}-{{{\bar{x}}}_{1}})({{{\bar{x}}}_{1}}-\bar{x})+{{({{{\bar{x}}}_{1}}-\bar{x})}^{2}}]+}\sum\limits_{i=1}^{{{n}_{1}}}{[{{(x_{i}^{(2)}-{{{\bar{x}}}_{2}})}^{2}}+2(x_{i}^{(2)}-{{{\bar{x}}}_{2}})({{{\bar{x}}}_{2}}-\bar{x})+{{({{{\bar{x}}}_{2}}-\bar{x})}^{2}}]}}{N-1}=[/tex]

[tex]=\frac{\sum\limits_{i=1}^{{{n}_{1}}}{{{(x_{i}^{(1)}-{{{\bar{x}}}_{1}})}^{2}}}+{{n}_{1}}{{({{{\bar{x}}}_{1}}-\bar{x})}^{2}}+\sum\limits_{i=1}^{{{n}_{2}}}{{{(x_{i}^{(2)}-{{{\bar{x}}}_{2}})}^{2}}}+{{n}_{2}}{{({{{\bar{x}}}_{2}}-\bar{x})}^{2}}}{N-1}=\frac{s_{1}^{2}({{n}_{1}}-1)+{{n}_{1}}{{({{{\bar{x}}}_{1}}-\bar{x})}^{2}}+s_{2}^{2}({{n}_{2}}-1)+{{n}_{2}}{{({{{\bar{x}}}_{2}}-\bar{x})}^{2}}}{N-1}[/tex]

dove [tex]N={{n}_{1}}+{{n}_{2}}[/tex]
e in cui ho tenuto conto che:
[tex]\sum\limits_{i=1}^{{{n}_{1}}}{2(x_{i}^{(1)}-{{{\bar{x}}}_{1}})({{{\bar{x}}}_{1}}-\bar{x})}=2({{{\bar{x}}}_{1}}-\bar{x})\sum\limits_{i=1}^{{{n}_{1}}}{(x_{i}^{(1)}-{{{\bar{x}}}_{1}})}=0[/tex] dato che la somma degli scarti dalla media aritmetica è nulla.

"ToMMy!!!":
Come vedi dalla mia prova, ho volutamente allontanato di parecchio le medie dei due gruppi, per motivi visivi (se li avvicinavo, avrei avuto una confusione di linee); e in tal caso la curva rossa, suggerisce piuttosto una distribuzione bimodale, quindi calcolare la media generale ha un senso puramente descrittivo, ma nulla di più (come diceva anche markowitz).
E' come dire: calcolo media e ds delle altezza nei maschi, e nelle femmine (ovviamente i valori sono molto diversi); qual è la media dell'altezza generale nei due gruppi? Ottengo un numero (la media), ma non mi dice granchè (e difatti la ds sarà anche molto alta). E da questo numero, pertanto non potrò fare alcuna inferenza.

Capisco, quindi possiamo anche dire che dall'unione di due campioni normali, in generale il campione risultante non è normale.

ToMMy!!!112
"cenzo":

Capisco, quindi possiamo anche dire che dall'unione di due campioni normali, in generale il campione risultante non è normale.

Sì, a meno che i due campioni non siano stati estratti, in realtà, dalla stessa distribuzione normale (cosa che può accadere); e questa evenienza si verifica (PROBABILMENTE) con una ANOVA (a cui aggiungerei, ora che mi viene in mente, anche una test di verifica di omoschedasticità: così facendo verifichiamo se i gruppi hanno medie simili e sono omoschedastici, e quindi dovremmo essere abbastanza sicuri che si tratti della stessa distribuzione, da cui sono stati estratti i due campioni). Non ne ho la certezza, nè sono riuscito a trovare articoli che ne parlino; se qualcuno sa qualcosa, parli :lol:

Ti ringrazio per aver scritto tutti i passaggi, e per esserti preso la briga di tradurre il tutto in latex :)

cenzo1
"ToMMy!!!":
Ti ringrazio per aver scritto tutti i passaggi, e per esserti preso la briga di tradurre il tutto in latex :)

Prego!
Tra l'altro ho scoperto che posso scivere col MathType di Word e copia-incollare in tex :-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.