Czy odchylenie standardowe można obliczyć dla średniej harmonicznej? Rozumiem, że odchylenie standardowe można obliczyć dla średniej arytmetycznej, ale jeśli masz średnią harmoniczną, jak obliczyć odchylenie standardowe lub CV?
Czy odchylenie standardowe można obliczyć dla średniej harmonicznej? Rozumiem, że odchylenie standardowe można obliczyć dla średniej arytmetycznej, ale jeśli masz średnią harmoniczną, jak obliczyć odchylenie standardowe lub CV?
Odpowiedzi:
Średnia harmoniczna zmiennych losowych jest zdefiniowana jako
Biorąc chwile z frakcji jest brudny biznes, więc zamiast tego wolałbym pracować z . Teraz
Używając centralnego twierdzenia o granicy, natychmiast to rozumiemy
jeśli oczywiście i są iid, ponieważ po prostu pracujemy ze średnią arytmetyczną zmiennych .
Teraz przy pomocy Metody delta dla funkcji otrzymujemy że
Ten wynik jest asymptotyczny, ale w przypadku prostych aplikacji może wystarczyć.
Aktualizacja Jak słusznie zauważa @whuber, proste aplikacje są błędne. Twierdzenie o limicie centralnym obowiązuje tylko wtedy, gdy , co jest dość restrykcyjnym założeniem.
Aktualizacja 2 Jeśli masz próbkę, to aby obliczyć odchylenie standardowe, po prostu podłącz momenty próbne do formuły. Tak więc dla próbki , szacunkowa średnia harmonicznej wynosi
przykładowymi momentami i są odpowiednio:
tutaj oznacza wzajemność.
Wreszcie przybliżona formuła standardowego odchylenia to
Przeprowadziłem symulacje Monte-Carlo dla zmiennych losowych równomiernie rozmieszczonych w przedziale . Oto kod:
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
Symulowałem N
próbki n
wielkości próbki. Dla każdej n
wielkości próbki wyliczyłem oszacowanie standardowego oszacowania (funkcji sdhm
). Następnie porównuję średnią i odchylenie standardowe tych oszacowań z odchyleniem standardowym średniej harmonicznej próbki oszacowanym dla każdej próbki, co prawdopodobnie powinno być prawdziwym odchyleniem standardowym średniej harmonicznej.
Jak widać, wyniki są dość dobre nawet dla średnich rozmiarów próbek. Oczywiście równomierny rozkład jest bardzo dobrze zachowany, więc nic dziwnego, że wyniki są dobre. Zostawię komuś innemu, aby zbadał zachowanie innych dystrybucji, kod jest bardzo łatwy do dostosowania.
Uwaga: W poprzedniej wersji tej odpowiedzi wystąpił błąd w wyniku metody delta, niepoprawna wariancja.
Moja odpowiedź na powiązane pytanie wskazuje, że średnia harmoniczna zbioru dodatnich danych jest oszacowaną wagą najmniejszych kwadratów (WLS) (o wagach ). Można zatem obliczyć jego standardowy błąd przy użyciu metod WLS. Ma to pewne zalety, w tym prostotę, ogólność i interpretowalność, a także jest automatycznie wytwarzane przez dowolne oprogramowanie statystyczne, które umożliwia obliczanie regresji przez wagi.
Główną wadą jest to, że obliczenia nie dają dobrych przedziałów ufności dla silnie wypaczonych rozkładów podstawowych. Może to stanowić problem w przypadku dowolnej metody ogólnego zastosowania: średnia harmoniczna jest wrażliwa na obecność nawet jednej niewielkiej wartości w zbiorze danych.
Aby to zilustrować, oto rozkłady empiryczne niezależnie generowanych próbek o wielkości z rozkładu Gamma (5) (który jest nieco skośny). Niebieskie linie pokazują prawdziwą średnią harmoniczną (równą ), podczas gdy czerwone linie przerywane pokazują szacowane wartości najmniejszych kwadratów. Pionowe szare pasy wokół niebieskich linii to w przybliżeniu dwustronne 95% przedziały ufności dla średniej harmonicznej. W tym przypadku we wszystkich próbkach CI obejmuje rzeczywistą średnią harmoniczną. Powtórzenia tej symulacji (z losowymi nasionami) sugerują, że zasięg jest zbliżony do zamierzonego poziomu 95%, nawet dla tych małych zestawów danych.
Oto R
kod symulacji i rysunków.
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)
}
Oto przykład Exponential r.v's.
Średnia harmoniczna dla punktów danych jest zdefiniowana jako
Załóżmy, że mamy IID próbki o zmiennej losowej wykładniczej . Suma zmiennych wykładniczych odpowiada rozkładowi gamma
gdzie . My też to wiemy
Rozkład jest zatem
Wariancja (i odchylenie standardowe) tego rv są dobrze znane, patrz na przykład tutaj .