Średnia harmoniczna o wartości zerowej

11

W jaki sposób harmoniczne oznaczają wartości zerowe? co by średnia harmoniczna z {3, 4, 5, 0} będzie od ?1/0=

Dez Udezue
źródło
3
Cóż, dla twoich danych średnia harmoniczna nie jest zdefiniowana! Dlaczego chcesz użyć środka harmonicznego? Powinieneś podać szczegóły tego, co chcesz zrobić. Średnia harmoniczna jest używana głównie w sytuacjach, gdy zerowe obserwacje są logicznie niemożliwe, więc co produkuje zera? obcięcie? prawdziwe zera? Odpowiedź będzie zależeć!
kjetil b halvorsen
Mam sporo liczb i karmię ich „charakterystyką” do klasyfikatora typu sieci neuronowej. To, co zrobiłem, to wykluczyć wartości zerowe.
Dez Udezue,

Odpowiedzi:

12

Tak jak średnia geometryczna czegokolwiek, a to 0 , zwykle naturalne jest zdefiniowanie średniej harmonicznej czegokolwiek, a 0 to 0 .0000

Jedna fizyczna interpretacja średniej harmonicznej jest taka, że ​​jeśli równolegle rezystory mają rezystory, całkowita rezystancja jest taka, jakby każdy rezystor miał średnią rezystancję harmoniczną. Jeśli jeden z oporników nie ma oporności, nie ma oporności na wszystkich (zwarcie), a to tak samo, jakby wszystkie oporniki nie miały oporności.

Jeśli z jakiegoś powodu rozważasz średnie harmoniczne liczb, tak aby niektóre były ujemne, a niektóre dodatnie, lepiej byłoby powiedzieć, że średnia harmoniczna z samym sobą nie jest zdefiniowana. Jednak w zastosowaniach, które znam dla średniej harmonicznej, jest ona stosowana na liczbach nieujemnych.0

Douglas Zare
źródło
1
Przydatna jest analogia rezystora.
Amrinder Arora,
3

Jeśli pracujesz w języku, który poprawnie obsługuje obliczenia Infinity, np. R, możesz zdefiniować średnią harmoniczną w następujący sposób:

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

Wtedy w naturalny sposób będzie poprawnie radził sobie z zerami:

> harm(c(6, 2, 9, 4, 3, 1))
[1] 2.541176
> harm(c(6, 2, 9, 4, 0, 3, 1))
[1] 0
Ken Williams
źródło
3
To kwestia opinii, ale nie sądzę, żeby wspierała nieskończoność „właściwie”.
Neil G
1
Co jest z tym nie tak? Po prostu używa 1/0==Infi 1/Inf==0, co jest standardową arytmetyką IEEE.
Ken Williams
Powodem, dla którego IEEE na to zezwoliło, było to, że regularne obliczenia mogą być niedopełnione i w ten sposób przynajmniej odzyskujesz znak z obliczeń. Myślę, że lepiej jest, aby języki zgłaszały wyjątki przy dzieleniu przez zero i pozwalały użytkownikowi jawnie je ignorować. Jeśli obliczenia, które doprowadziły do ​​twojego x, były odejmowaniem (ab), np. Wtedy twój wynik 1 / x jest nonsensowny.
Neil G
To jest straszne niezrozumienie granic. Niech i110=1=0
1=11=(0)(0)=(00)=0=1=,
6
0111NaN
0

Algorytm DFLOW według EPA wykorzystuje następujące wartości, gdy istnieją wartości zerowe:

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

μHxinTn0


źródło