零值的谐波平均值


11

谐波平均值如何处理零值?什么会的调和平均值{3,4,5,0}是因为1个/0=


3
好吧,对于您的数据,谐波平均值没有定义!为什么要使用谐波均值?您应该提供您想做什么的细节。谐波均值主要用于零观测在逻辑上不可能的情况下,那么产生零的原因是什么?截断?真零?答案取决于!
kjetil b halvorsen 2012年

我有一堆数字,并且正在将有关它们的“特征”输入神经网络类型分类器。我所做的是排除零值。
Dez Udezue 2012年

Answers:


12

正如任何事物的几何平均值和0,它通常是自然定义任何事物的调和平均值和000000

谐波均值的一种物理解释是,如果并联并联电阻,则总电阻就好像​​每个电阻都具有谐波均值电阻一样。如果其中一个电阻器没有电阻,则表示所有电阻都没有电阻(短路),这与所有电阻器都没有电阻一样。

如果出于某种原因考虑数字的调和均值,以使某些为负数,有些为正数,那么最好说未定义其本身为的调和均值。但是,在我所知道的谐波均值应用中,它用于非负数。0


1
电阻的类比很有用。
Amrinder Arora

3

如果您使用的语言正确地支持Infinity计算,例如R,则可以定义谐波均值,如下所示:

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

然后它将以自然方式正确处理零:

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

3
这是一个见解,但我认为这不是“适当”地支持无穷大。
尼尔·G

1
它出什么问题了?它只是使用1/0==Inf1/Inf==0,这是标准IEEE算法。
肯·威廉姆斯

IEEE允许的原因是常规计算可能会下溢,因此至少您可以从计算中恢复符号。我认为,语言最好在被零除时引发异常,并让用户明确地忽略它们。例如,如果导致x的计算是减法(ab),则结果1 / x是无意义的。
尼尔·G

1个0=1个=0
1个=1个1个=00=00=0=1个=

6
01个1个1个ñ一个ñ

0

当值为零时,EPA的DFLOW算法将使用以下算法:

μH=一世=1个ñŤ-ñ01个/X一世ñŤ-ñ0-1个×ñŤ-ñ0ñŤ

μHX一世ñŤñ0

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.