View Full Version : Aiuto matematico sulle medie
anonimizzato
16-05-2011, 10:34
Ciao a tutti,
avrei bisogno di un aiuto sul capire perchè un calcolo non mi torna.
Mettiamo di avere N record in una tabella suddivisi in 3 gruppi
Gruppo A - 10
Gruppo A - 12
Gruppo B - 20
Gruppo B - 24
Gruppo C - 12
Dove i numeri sono i valori su cui calcolare la media
Se li sommo tutti tra loro ottengo 78 che diviso 5 (il numero dei record) mi da 15,6
Se invece faccio prima la media per ogni gruppo e poi divido per il numero dei gruppi ottengo un numero diverso, ovvero:
Gruppo A - 11
Gruppo B - 22
Gruppo C - 12
Quindi: 45/3 = 15
15.6 != 15
Perchè non sono uguali?
Ho bisogno di capire dove sbaglio ovvero che mi aiutate a capire perchè matematicamente è giusto (suppongo) che i due risultati siano differenti.
Purtroppo in matematica sono sempre stato un capra. :D
sottovento
16-05-2011, 10:50
Ho bisogno di capire dove sbaglio ovvero che mi aiutate a capire perchè matematicamente è giusto (suppongo) che i due risultati siano differenti.
No, non lo e'. Stai facendo delle operazioni diverse. Prova a scriverle su di un pezzetto di carta (scrivi l'espressione, sono semplicemente somme e divisioni) e vedrai che le operazioni sono proprio diverse!
Perchè non sono uguali?
Perche' in un caso tutti i valori hanno peso uguale, mentre nell'altro hanno peso differente.
Quando vai a fare la media delle medie, hai che due valori del gruppo A e due valori del gruppo B hanno lo stesso peso del singolo valore nel gruppo C
In termini matematici, la prima media e' uguale a
(10+12+20+24+12)/5 = 10/5 + 12/5 + 20/5 + 24/5 + 12/5
mentre la seconda a
((10+12)/2 + (20+24)/2 + 12) / 3
= 10/6 + 12/6 + 20/6 + 24/6 + 12/3
Come vedi le somme sono diverse
anonimizzato
16-05-2011, 10:57
edit
anonimizzato
16-05-2011, 11:01
Perche' in un caso tutti i valori hanno peso uguale, mentre nell'altro hanno peso differente.
Quando vai a fare la media delle medie, hai che due valori del gruppo A e due valori del gruppo B hanno lo stesso peso del singolo valore nel gruppo C
In termini matematici, la prima media e' uguale a
(10+12+20+24+12)/5 = 10/5 + 12/5 + 20/5 + 24/5 + 12/5
mentre la seconda a
((10+12)/2 + (20+24)/2 + 12) / 3
= 10/6 + 12/6 + 20/6 + 24/6 + 12/3
Come vedi le somme sono diverse
Mi torna, infatti se all'esempio originario avessi aggiunto un altro valore al gruppo C avrei avuto un calcolo corretto, ergo tutti i gruppi devono avere lo stesso numero di occorrenze giusto altrimenti non potrebbe mai tornare giusto?
Esempio:
A 10
A 12
B 20
B 24
B 12
B 8
86/6 = 43/3
A livello matematico qual'è la regola che governa tutto ciò?
anonimizzato
16-05-2011, 11:32
Quindi c'è un modo per "far tornare i conti" tra i due calcoli oppure non è possibile?
Tenete conto che non posso regolare il totale delle occorrenze per ciascun gruppo.
Grazie ancora.
Quindi c'è un modo per "far tornare i conti" tra i due calcoli oppure non è possibile?
Tenete conto che non posso regolare il totale delle occorrenze per ciascun gruppo.
Grazie ancora.
Per far tornare i conti suppongo tu intenda che hai gia' le medie e da queste vuoi ricavarti la media globale.
Puoi fare nel seguente modo, fai una media pesata in base alla dimensione dei gruppi.
Supponendo ad esempio che MA sia la media del gruppo A, e CA la cardinalita' del gruppo (numero di elementi), puoi scrivere qualcosa tipo
(MA*CA + MB*CB + MC*CC) / (CA+CB+CC)
ovvero moltiplichi ogni media per il numero di elementi del gruppo corrispondente e poi dividi non per il numero di gruppi ma per il totale degli elementi
anonimizzato
16-05-2011, 12:01
Per far tornare i conti suppongo tu intenda che hai gia' le medie e da queste vuoi ricavarti la media globale.
Puoi fare nel seguente modo, fai una media pesata in base alla dimensione dei gruppi.
Supponendo ad esempio che MA sia la media del gruppo A, e CA la cardinalita' del gruppo (numero di elementi), puoi scrivere qualcosa tipo
(MA*CA + MB*CB + MC*CC) / (CA+CB+CC)
ovvero moltiplichi ogni media per il numero di elementi del gruppo corrispondente e poi dividi non per il numero di gruppi ma per il totale degli elementi
In realtà io parto dal verso opposto ovvero ho la media globale poi voglio visualizzare le singole medie dei gruppi.
In sostanza è una query che prima calcola la media su tutti gli elementi e poi, con un altra query, visualizza le medie del singolo gruppo.
Esempio:
select avg(field) from table = MEDIA TOTALE
altra query:
select avg(field) from table group by field2
dove field2 è la colonna del gruppo.
Ecco il perchè dei problemi riscontrati.
La prima query "MEDIA TOTALE" è quella che pongo come "corretta".
Solo avrei bisogno che la seconda query, quella col group by, mi restituisca una serie di valori tali che:
(MEDIA 1 + MEDIA 2 + MEDIA 3 + MEDIA N) / numero gruppi = MEDIA TOTALE.
Però è anche vero che la singola media del gruppo è corretta se calcolata a sè quindi, francamente, non capisco se è corretto che i conti NON debbano tornare e amen.
Oppure se devo "NORMALIZZARE" la media totale o le singole medie dei gruppi.
Grazie ancora.
anonimizzato
16-05-2011, 12:24
Anche se forse ... è giusto lasciare tutto com'è ora ovvero con dati diversi che non possono essere confrontati con semplici somme aritmetiche.
Questi dati infatti sono ciò che viene mostrato in uno strumento di Business Intelligence aziendale.
A livello teorico sono giusti, sia il calcolo della media totale sia il calcolo delle medie dei gruppi.
Queste ultime infatti non sono altro che un'"esplosione" sul dato globale con un filtro posto su una particolare dimensione aziendale ovvero un fattore di raggruppamento particolare e, per ogni dato globale, ce ne sono N.
Esempio:
Media totale
Media totale esplosa per:
- GRUPPO
- CATEGORIA
- UTENTE
ecc.
Il mio dubbio sui calcoli nasceva dal fatto che i conti tornano quando in ballo ci sono dei banali totali.
Esempio:
Totale record di un determinato tipo =
(Totale record di un determinato tipo filtrati per gruppo A +
Totale record di un determinato tipo filtrati per gruppo B +
Totale record di un determinato tipo filtrati per gruppo C)
In tal caso i conti tornano sempre dato che non ci sono di mezzo medie calcolati su gruppi con pesi diversi.
non puoi ottenere che la media delle medie sia la media dei valori, a meno di non cadere in un caso particolare.
tu supponi per un attimo, come caso limite, di avere 999 elementi di valore 0 nel primo gruppo, e un elemento di valore 1000 nel secondo.
La media totale e' 1000/1000 = 1
le medie dei due gruppi sono 0 e 1000 rispettivamenet.
Fare la media di 0 e 1000 ottieni 500... come vedi e' ben diversa e ha un tutt'altro significato.
Solo avrei bisogno che la seconda query, quella col group by, mi restituisca una serie di valori tali che:
Codice:
(MEDIA 1 + MEDIA 2 + MEDIA 3 + MEDIA N) / numero gruppi = MEDIA TOTALE.
Però è anche vero che la singola media del gruppo è corretta se calcolata a sè quindi, francamente, non capisco se è corretto che i conti NON debbano tornare e amen.
Ma in sostanza perche' ti deve tornare quel conto ?
rеpne scasb
16-05-2011, 12:44
■
anonimizzato
16-05-2011, 12:56
non puoi ottenere che la media delle medie sia la media dei valori, a meno di non cadere in un caso particolare.
tu supponi per un attimo, come caso limite, di avere 999 elementi di valore 0 nel primo gruppo, e un elemento di valore 1000 nel secondo.
La media totale e' 1000/1000 = 1
le medie dei due gruppi sono 0 e 1000 rispettivamenet.
Fare la media di 0 e 1000 ottieni 500... come vedi e' ben diversa e ha un tutt'altro significato.
Ma in sostanza perche' ti deve tornare quel conto ?
No no, non è che DEVE tornare quel calcolo, l'importante per me era CAPIRE se sbagliavo qualcosa nei calcoli e nelle query che eseguivo oppure se, come appurato, era normale che i due valori non fossero confrontabili.
Il dubbio, come accennato prima, nasceva dal fatto che in molti altri casi (altri tipi di calcolo) le sommatorie tornavano, ma questo perchè basate su totali e NON su medie aritmetiche.
;)
anonimizzato
16-05-2011, 12:57
Permettimi di dirti che hai le idee confuse. Stai confondendo due medie aritmetiche di cui la prima con elementi aventi pesi uguali, mentre la seconda con elementi dei gruppi A e B aventi pesi doppi rispetto agli elementi del gruppo C. Per fare in modo che, come dici tu, tu voglia "far tornare i conti", allora gli elementi di ogni singolo gruppo A,B,C... devono essere ugiali. In questo caso particolare il gruppo C deve essere dotato di un elemento in piu'. In questo caso particolare e' proprio la media aritmetica a peso costante che avevi gia' calcolato. Per capirci:
M1=(10+12+20+24+12)/5=15.6
M2=((10+12)/2+(20+24)/2+12)/3=15
M(tua)=((10+12)/2+(20+24)/2+(12+M1)/2=M1
Ok, grazie questo adesso è chiaro ormai. ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.