Média harmônica com valor zero

11

Como a média harmônica lida com valores zero? qual seria o significado harmônico de {3, 4, 5, 0} desde ?1/0=

Dez Udezue
fonte
3
Bem, para seus dados, a média harmônica não está definida! Por que você deseja usar uma média harmônica? Você deve dar detalhes do que você quer fazer. A média harmônica é usada principalmente para situações em que zero observação é logicamente impossível, então o que está produzindo seus zeros? truncamento? zeros verdadeiros? A resposta vai depender!
Kjetil b halvorsen
Eu tenho vários números e estou alimentando "características" sobre eles em um classificador de tipo de rede neural. O que eu fiz foi excluir valores zero.
Dez Udezue 19/09/12

Respostas:

12

Assim como a média geométrica de qualquer coisa e é 0 , geralmente é natural definir a média harmônica de qualquer coisa e 0 como 0 .0000

Uma interpretação física da média harmônica é que, se você tiver resistores em paralelo, a resistência total é como se cada resistor tivesse a resistência média harmônica. Se um dos resistores não tiver resistência, não haverá resistência geral (um curto), e é o mesmo que se todos os resistores não tivessem resistência.

Se, por algum motivo, você estiver considerando as médias harmônicas dos números, de modo que algumas sejam negativas e outras positivas, talvez seja melhor dizer que uma média harmônica de consigo não está definida. No entanto, nas aplicações que conheço pela média harmônica, ela é usada em números não negativos.0

Douglas Zare
fonte
11
A analogia do resistor é útil.
Amrinder Arora 9/04/19
3

Se você estiver trabalhando em um idioma que suporte o Infinito corretamente nos cálculos, como R, poderá definir a média harmônica da seguinte forma:

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

Então, ele lidará corretamente com os zeros de maneira natural:

> harm(c(6, 2, 9, 4, 3, 1))
[1] 2.541176
> harm(c(6, 2, 9, 4, 0, 3, 1))
[1] 0
Ken Williams
fonte
3
É uma questão de opinião, mas não acho que isso apóie o infinito "adequadamente".
Neil G
11
O que há de errado com isso? É apenas usando 1/0==Inf, e 1/Inf==0, que é a aritmética padrão do IEEE.
Ken Williams
A razão pela qual o IEEE permitiu isso foi que os cálculos regulares podem ser insuficientes e, dessa forma, pelo menos você recupera um sinal do seu cálculo. Eu acho que é melhor para os idiomas criar exceções na divisão por zero e permitir que o usuário as ignore explicitamente. Se o cálculo que levou ao seu x foi uma subtração (ab), por exemplo, seu resultado 1 / x é um absurdo.
Neil G
10=1=0
1=11=(0)(0)=(00)=0=1=,
5
0111NaN
0

O algoritmo DFLOW by EPA usa o seguinte quando há valores zero:

μH=(i=1nTn01/xinTn0)1×nTn0nT,

μHxinTn0

wrktsj
fonte