Newsgroup: it.scienza.fisica
Titolo: [semi-OT] "media pesata ... convergiuta" ?

Ho una domanda, probabilmente semi OT (dovrei farla su 
matematica, ma non frequento quel NG e non mi ci voglio 
iscrivere solo x 1 3D), ed è relativa a un tipo di media 
pesata a pesi "auto-adattivi", che non è difficile definire 
in modo "RICORSIVO", ma che chiederei se si possa calcolare 
analiticamente (non so se il termine sia corretto, ma con 
ciò intendo una formula non ricorsiva, semplicemente)
 
Allora, supponiamo di avere dati da mediare, e supponiamo 
che per qualche ragione si sappia che i dati lontani dalla 
media, quale che sia, contengano un maggiore errore e vadano 
sottopesati, diciamo "col senno del poi", mentre i dati 
vicini alla media, quale che sia, contengano un minore 
errore e vadano sovrapesati, diciamo "col senno del poi". I 
dati in questione non sono misure fisiche per cui si possa 
ritenere costante l'errore né casuale, diciamo, ma appunto 
l'errore sia viziato quando i dati sono agli estremi.
 
faccio un ulteriore assunto ma non so SE e QUANTO importante 
: la distribuzione dei dati sia sufficientemente SIMMETRICA 
rispetto alla media.
 
quindi ogni dato avrà un coefficiente (normalizzato a 1),
che per lo step J della ricorsione avrebbe un aspetto simile a
alfa_n = ABS(val_n - media_j) / range_mezzi
 
dove range_mezzi è il valore max.-min.
 
Si possono anche trovare altri fattori di peso variabile 
adattivo, tanto poi vengono normalizzati, ma questo mi 
pareva tra i più lineari
 
media_J+1 = sum_da_1_a_n (alfa_n * dato_n)
 
(non mi ricordo se si deve dividere la sommatoria per n, ma 
siccome i pesi alfa sono normalizzati, probabilmente no ... 
boh ! Intuitelo :))
 
 
Ora la mia domanda sarebbe. Ammettendo di iterare 
all'infinito, ottenendo medie ogni volta diverse, esiste 
(si, no, sempre, talvolta, mai ...) una convergenza della 
media ? A naso direi che deve convergere, perché anche i 
pesi mi pare che si stabilizzerebbero, ma nn sono sicuro
 
Ammesso che converga, esiste qualche formula analitica che 
consentirebbe di calcolare questa media "convergiuta" ?
 
Al momento non ho tempo di scrivere codice, ma magari prima 
o poi proverò a computare esempi col PC.
 
Nel frattempo se avete qualche idea a prescindere, ditemela.
Grazie
Soviet
 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)
 
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 

 Nel frattempo se avete qualche idea a prescindere, ditemela.
 
 
Penso che dipenda tutto dalla formula usata per calcolare
il "peso".
 
Con pesi "normali" dovrebbe convergere verso un
valore "centrale".
 
Ma dimostrare è difficile...
 
 
-- 
AIOE °¿°  

 Nel frattempo se avete qualche idea a prescindere, ditemela.
 
Certamente dovresti precisare meglio il problema, specificando
quale fosse l'origine e la numerosita' dei dati e quale lo scopo
del calcolo...
Se proprio devo tirare a indovinare :-(, forse gia' la semplice
media aritmetica dei dati (calcolata una sola volta) potrebbe
bastare...
 
Ciao
-- 
Giorgio Bibbiani 
 

 consentirebbe di calcolare questa media "convergiuta" ?
 
Se mi confermi i dettagli ci penso. A naso bisognerebbe
considerare la media come incognita e risolvere il tutto
come un sistema di equazioni, ma dovrei pensarci meglio.
 
Ciao
Paolo Russo

 Ciao



nella risposta a ADPUF ho postato il codice, con hard-wired 
un esempio a caso, per vedere come gira. Se hai word, 
potrebbe girare tal quale come macro, visto che non usa 
nessuna libreria e solo una msgbox.
Mi pare che hai indicato la stessa patch del codice.
 
Ciao


 Ma dimostrare è difficile...
 
si ... più che altro mi interessava se esistesse già un 
qualche tipo di media, analiticamente calcolabile in una 
sola passata invece che in modo ricorsivo, equivalente.
Ma non conosco molte medie prefabbricate, ergo non saprei dire


 vuoi posto sia il codice che due o tre log di prova.
 
Il codice a me servirebbe a poco senza sapere esattamente
(cioe' con un esempio *concreto*, non con i soli dati) quale
fosse il problema...
Scusa se per il momento sono stato di poco aiuto e se mi
sono ripetuto, ma non sono capace di dare una risposta
sensata in queste condizioni; aggiungo che pero' non
sono sicuro che anche se tu esplicitassi il problema allora
esisterebbe una "soluzione", o in subordine che io allora
sarei in grado di trovarla.
 
Ciao
-- 
Giorgio Bibbiani
 
 
 
 

 sarei in grado di trovarla.
 
no figurati, mi sono spiegato evidentemente male, mi spiace 
averti fatto perdere tempo semmai


 nessun modo.
 
Allora leggiamo questo che scrive Wikipedia sulla mediana:
 
 
https://en.wikipedia.org/wiki/Median
 
 
   The basic advantage of the median in describing data compared to
   the mean (often simply described as the "average") is that it is not
   skewed so much by extremely large or small values, and so it may give
   a better idea of a 'typical' value. For example, in understanding
   statistics like household income or assets which vary greatly, a mean
   may be skewed by a small number of extremely high or low values.
   Median income, for example, may be a better way to suggest what
   a 'typical' income is.
 
   Because of this, the median is of central importance in robust
   statistics, as it is the most resistant statistic, having a breakdown
   point of 50%: so long as no more than half the data are contaminated,
   the median will not give an arbitrarily large or small result.
 
Quindi se tu vuoi qualcosa di più vicino alla media, la soluzione
più semplice sarebbe di usare una media (aritmetica, ma puoi provare
anche con quella geometrica o quella armonica) di media e mediana.
 
Almeno, questo è ciò che farei io al tuo posto. Le funzioni necessarie
ci sono già in Excel e basta immettere i tuoi valori in una colonna
per calcolarne ad esempio:  =MEDIA(MEDIA(A1:A40);MEDIANA(A1:A40))
(per le altre medie, userai MEDIA.GEOMETRICA e MEDIA.ARMONICA).
 
Bye,
 
   *GB*

 nessuna libreria e solo una msgbox.
 
Preferisco il C. Ho fatto un po' di prove. E` una media un
po' strana:
 
media(1 2 3 4)=2.5
media(1 2 3 4.1)=2
media(1 2 3 3.9)=2.99562
media(1 2 3 5)=2
media(1 2 3 5 5)=2
media(1 2 3 5 5 5)=4.37915
media(1 2 3 5 6)=2.40693
media(1 2 3 6 6)=2
 
Premesso che non credo che esista una funzione piu' "giusta"
di tutte le altre, perche' a rigore tutto dipende dalle
assunzioni che fai sull'origine degli errori, cosi' a naso
proverei a ordinare i dati (con un sort qualunque, anche un
bubble sort alla peggio se non ne hai uno pronto di
libreria), a eliminarne meta' (il quarto piu' basso e il
quarto piu' alto, o forse eventualmente la meta` che si
discosta maggiormente dalla mediana se ti aspetti che gli
errori non siano equamente distribuiti in alto e in basso) e
fare la media di quel che resta. Almeno non e` ricorsivo e le
proprieta` matematiche sono piu' intuitive. Se ti sembra
troppo drastico, potresti assegnare pesi via via minori ai
dati piu' estremi invece di eliminarli, lasciando peso 1 a
tutta la zona centrale (pesando "a trapezio", diciamo), ma
non sono molto sicuro che ne valga la pena: mediare su piu'
dati aumenta la precisione ma non di molto e quindi penso che
convenga solo se ci sono ragionevoli aspettative che i dati
aggiuntivi non siano sballati. Dipende anche da quanti dati
hai; con solo una decina sarebbe forse un po' drastico
buttarne via meta`.
 
Ciao
Paolo Russo

 Paolo Russo


 dire
 
 
Perché non prendi la mediana?
 
Devi solo fare un sort, un ordinamento, poi prendi il valore
centrale che lascia 50% di qua e 50% di là.
 
La mediana è molto più significativa della media in molti casi,
p.es
. nella distribuzione dei redditi: pochi stipendioni
contano come tanti stipendiucci e alzano la media anche se la
mediana è bassa.
 
p.es
. con i dati 1,2,3,4,5,6,7,8,9,100 la media è 14,5 e la
mediana è 5,5.
 
 
-- 
AIOE °¿°  

 mediana è 5,5.
 
Il tuo esempio è tale che il valore difforme 100 andrebbe puramente
e semplicemente eliminato. Ma con valori meglio distribuiti:
 
   2,2,4,4,7,8,11,20,20,25,85
 
abbiamo che la media è: 17,1
 
la mediana è: 8,0
 
la media tra media e mediana è: 12,5
 
Io userei il terzo valore, l'avevo già spiegato.
 
Bye,
 
   *GB*

Immagino una collezione di n misure "bianca", cioè equidistruita:
 
Val 1 = a con k occorrenze 
Val 2 = 2a con k occorrenze poi 3a 4a et reliqua similiter.... da 1 a nk finale
 
 
Qui vedi che hai una configurazione a specchio rispetto al valore centrale.
 
Hai sostanzialmente una duplice valenza ad eccezione di quella mediana.
 
 
 
 
Siccome metti un peso alleggerito allontanandoti dal vero valore... potresti scrivere che se il valore vero è ex. na/2 lì calcoli esattamente su k occorrenze, mentre per gli estremi su ex. 1 sola, in maniera lineare.... ma se questa diminuzione la vuoi "assoluta" allora ti riduci ad un problema geometrico: qual'è l'area max "visibile" da un frame di larghezza n di un triangolo isoscele a base n e altezza nk qualora lo traslassi rigidamente verso destra o sinistra? Beh il mediano!