Media armonica con valore zero


11

In che modo significa armonica gestire i valori zero? cosa significherebbe l'armonica di {3, 4, 5, 0} dal ?1/0=


3
Bene, per i tuoi dati, la media armonica non è definita! Perché vuoi usare un mezzo armonico? Dovresti fornire i dettagli di ciò che vuoi fare. La media armonica viene utilizzata principalmente per situazioni in cui zero osservazioni sono logicamente impossibili, quindi cosa produce i tuoi zeri? troncamento? veri zeri? La risposta dipenderà!
kjetil b halvorsen,

Ho un sacco di numeri e sto alimentando "caratteristiche" su di loro in un classificatore di tipo di rete neurale. Quello che ho fatto è stato di escludere i valori zero.
Dez Udezue,

Risposte:


12

Proprio come la media geometrica di qualcosa e è , di solito è naturale definire la media armonica di qualsiasi cosa e deve essere .0 0 00000

Un'interpretazione fisica della media armonica è che se si hanno resistori in parallelo, la resistenza totale è come se ogni resistenza avesse la resistenza media armonica. Se uno dei resistori non ha resistenza, non c'è resistenza su tutti (un corto), e questo è lo stesso come se tutti i resistori non avessero resistenza.

Se per qualche motivo stai considerando le medie armoniche dei numeri in modo che alcune siano negative e altre positive, allora potrebbe essere meglio dire che una media armonica di con se stessa non è definita. Tuttavia, nelle applicazioni che conosco per la media armonica, viene utilizzato su numeri non negativi.0


1
L'analogia della resistenza è utile.
Amrinder Arora,

3

Se stai lavorando in un linguaggio che supporta Infinity nei calcoli correttamente, come R, puoi definire la media armonica in questo modo:

harm <- function(x) 1/mean(1/x)

Quindi gestirà correttamente gli zero in modo naturale:

> harm(c(6, 2, 9, 4, 3, 1))
[1] 2.541176
> harm(c(6, 2, 9, 4, 0, 3, 1))
[1] 0

3
È una questione di opinione, ma non credo che supporti l'infinito "correttamente".
Neil G,

1
Che cosa c'è che non va? Sta solo usando 1/0==Inf, e 1/Inf==0, che è l'aritmetica IEEE standard.
Ken Williams,

Il motivo per cui l'IEEE ha consentito è che i calcoli regolari possono essere insufficienti e in questo modo almeno si recupera un segno dal calcolo. Penso che sia meglio per le lingue aumentare le eccezioni sulla divisione per zero e consentire all'utente di ignorarle esplicitamente. Se il calcolo che ha portato alla tua x è stata una sottrazione (ab), ad esempio, il tuo risultato 1 / x è senza senso.
Neil G,

Questo è un terribile fraintendimento dei limiti. Consenti a e . Quindi e questa è ovviamente una sciocchezza. 110=1=11=(0)(0)=(00)=0=11=0
1=11=(0)(0)=(00)=0=1=,
Björn Friedrich,

6
Capisco abbastanza bene i limiti, in realtà. Per quanto riguarda il tuo calcolo, non è così che funziona la matematica (i non convertibili non sono associativi e ) né come funziona l'aritmetica IEEE ( non è uguale a , è ). 1011NaN11Nun'N
Ken Williams,

0

L'algoritmo DFLOW di EPA utilizza quanto segue in presenza di valori zero:

μH=(Σio=1nT-n01/XionT-n0)-1×nT-n0nT,

μHXionTn0

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.