可以计算谐波平均值的标准偏差吗?


Answers:


13

随机变量的谐波均值定义为HX1,...,Xn

H=11ni=1n1Xi

以分数的时刻,是一个混乱的业务,所以不是我宁愿与工作。现在1/H

1H=1ni=1n1Xi

利用中心极限定理,我们立即得到

n(H1EX11)N(0,VarX11)

如果和是iid,因为我们简单地使用变量算术平均值进行工作。VarX11<XiYi=Xi1

现在对函数使用delta方法,我们得到g(x)=x1

n(H(EX11)1)N(0,VarX11(EX11)4)

这个结果是渐近的,但是对于简单的应用程序可能就足够了。

更新正如@whuber正确指出的那样,简单的应用程序用词不当。仅当存在时,中心极限定理成立,这是一个限制性假设。VarX11

更新2如果有样本,则要计算标准偏差,只需将样本矩插入公式即可。因此,对于样本,谐波均值的估计为X1,...,Xn

H^=11ni=1n1Xi

样本矩和分别是:EX11Var(X11)

μ^R=1ni=1n1Xiσ^R2=1ni=1n(1XiμR)2

在这里,代表倒数。R

最后,对于标准偏差的近似式是H^

sd(H^)=σ^R2nμ^R4

我对间隔均匀分布的随机变量进行了一些蒙特卡洛模拟。这是代码:[2,3]

hm <- function(x)1/mean(1/x)
sdhm <- function(x)sqrt((mean(1/x))^(-4)*var(1/x)/length(x))

n<-1000

nn <- c(10,30,50,100,500,1000,5000,10000)

N<-1000

mc<-foreach(n=nn,.combine=rbind) %do% {

    rr <- matrix(runif(n*N,min=2,max=3),nrow=N)

    c(n,mean(apply(rr,1,sdhm)),sd(apply(rr,1,sdhm)),sd(apply(rr,1,hm)))

}
colnames(mc) <- c("n","DeltaSD","sdDeltaSD","trueSD")

> mc
             n     DeltaSD    sdDeltaSD      trueSD
result.1    10 0.089879211 1.528423e-02 0.091677622
result.2    30 0.052870477 4.629262e-03 0.051738941
result.3    50 0.040915607 2.705137e-03 0.040257673
result.4   100 0.029017031 1.407511e-03 0.028284458
result.5   500 0.012959582 2.750145e-04 0.013200580
result.6  1000 0.009139193 1.357630e-04 0.009115592
result.7  5000 0.004094048 2.685633e-05 0.004070593
result.8 10000 0.002894254 1.339128e-05 0.002964259

我模拟Nn大小样本的样本。对于每个n大小的样本,我都计算了标准估计(函数sdhm)的估计。然后,我将这些估计的均值和标准差与每个样本估计的谐波均值的样本标准差进行比较,假设这应该是谐波均值的真实标准差。

如您所见,即使样本量适中,结果也相当不错。当然,均匀分布是表现良好的一种,因此结果良好并不奇怪。我将留给其他人调查其他发行版的行为,该代码很容易适应。

注意:在此答案的先前版本中,增量方法的结果有误,方差不正确。


2
@mpiktas这是一个不错的开始,并在CV低时提供了一些指导。但是即使在实际的简单情况下,也不清楚CLT是否适用。我希望许多变量的倒数在有任何明显的可能性都不会接近零时都不会具有有限的第二甚至第一刻。由于倒数的潜在大导数接近于零,我也希望不应用增量法。因此,这可能有助于更准确地表征您的方法可能起作用的“简单应用程序”。顺便说一句,什么是“ D”?
whuber

@ whuber,D用于方差,。简单的应用是指那些存在方差和均值的应用。正如您说的那样,随机变量的值可能接近零,而倒数甚至没有均值。但是,原始问题的答案是否定的。我假设OP询问是否可以计算标准偏差(如果存在)。显然,它并没有很多随机变量。DX=E(XEX)2
mpiktas 2011年

@whuber,出于好奇顺便说一句对我来说是标准的表示法,但有人可能会说我来自俄罗斯概率学校。在“资本主义西方”中不是很常见吗?:)DX
mpiktas 2011年

@mpiktas我从未见过这种表示差异的符号。我的第一个反应是是一个微分算子!标准符号是助记符,例如。V - [R [ X ]DVar[X]
Whuber

1
EL Lehmann和Juliet Popper Shaffer撰写的论文“ Inverted Distributions”是有关随机变量的分布的有趣读物。
emakalic

2

对一个相关问题的回答指出,一组正数据的谐波均值是加权最小二乘(WLS)估计(权重为)。 因此,您可以使用WLS方法计算其标准误差。 这具有一些优点,包括简单性,通用性和可解释性,以及可以由允许在其回归计算中权重的任何统计软件自动生成的优点。 1 / x xi1/xi

主要缺点是,对于高度偏斜的基础分布,计算不会产生良好的置信区间。任何通用方法都可能存在问题:谐波均值对数据集中甚至只有一个微小值的存在都很敏感。

为了说明,这里是Gamma(5)分布(适度偏斜)的独立生成的大小为样本的经验分布。蓝色线表示真实的谐波平均值(等于),而红色虚线表示加权的最小二乘估计值。蓝线周围的垂直灰色带约为谐波平均值的两侧95%置信区间。在这种情况下,在所有样本中,CI覆盖了真实的谐波平均值。重复进行此模拟(使用随机种子)表明,即使对于这些小型数据集,覆盖率也接近预期的95%比率。n = 12 4 2020n=12420

图

这是R模拟和图形的代码。

k <- 5             # Gamma parameter
n <- 12            # Sample size
hm <- k-1          # True harmonic mean
set.seed(17)

t.crit <- -qt(0.05/2, n-1)
par(mfrow=c(4, 5))
for(i in 1:20) {
  #
  # Generate a random sample.
  #
  x <- rgamma(n, k)
  #
  # Estimate the harmonic mean.
  #
  fit <- lm(x ~ 1, weights=1/x)
  beta <- coef(summary(fit))[1, ]
  message("Harmonic mean estimate is ", signif(beta["Estimate"], 3), 
          " +/- ", signif(beta["Std. Error"], 3))
  #
  # Plot the results.
  #
  covers <- abs(beta["Estimate"] - hm) <= t.crit*beta["Std. Error"]
  plot(ecdf(x), main="Empirical CDF", sub=ifelse(covers, "", "***"))
  rect(beta["Estimate"] - t.crit*beta["Std. Error"], 0, 
       beta["Estimate"] + t.crit*beta["Std. Error"], 1.25, 
       border=NA, col=gray(0.5, alpha=0.10))
  abline(v = hm, col="Blue", lwd=2)
  abline(v = beta["Estimate"], col="Red", lty=3, lwd=2)
}

1

这是指数r.v的示例。

数据点的谐波平均值定义为n

S=11ni=1nXi

假设您有 iid指数随机变量样本 。指数变量的总和遵循Gamma分布nXiExp(λ)n

i=1nXiGamma(n,θ)

其中。我们也知道θ=1λ

1nGamma(n,θ)Gamma(n,θn)

因此,的分布为S

SInvGamma(n,nθ)

该rv的方差(和标准偏差)是众所周知的,例如,请参见此处


3
您对谐波平均值的定义与Wikipedia
不符

使用指数是理解问题的好方法。
ub

1
所有希望并没有完全丧失。如果Xi〜Exp(\ lambda),则Xi〜Gamma(1,\ lambda)就是1 / Xi〜InvGamma(1,1 / \ lambda)。然后使用“ V. Witkovsky(2001)计算反向伽玛变量的线性组合的分布,Kybernetika 37(1),79-90”,看看能得到多大的效果!
tristan

0

mpiktas的CLT要求有界方差。当正密度在零附近时,确实有疯狂的尾巴。但是,在许多使用谐波平均值 。在这里,以为边界,给您所有想要的时刻!1/X1/XXX11/X1


0

我建议使用以下公式代替标准偏差:

σ=Ni=1N(1x^1xi)2,

其中。关于此公式的好处是,当,该公式最小化,并且具有与标准偏差相同的单位(即与相同的单位)。x^=N1xix^=N1xix

这是类似于标准偏差,这是值需要最小化时超过。当是平均值时,它被最小化:。XXX=μ=11N(x^xi)2x^x^x^=μ=1Nxi

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.