Чи можна обчислити середнє гармонійне відхилення? Я розумію, що середнє арифметичне може бути обчислене середнє відхилення, але якщо ви маєте середнє гармонічне значення, то як обчислюєте стандартне відхилення чи CV?
Чи можна обчислити середнє гармонійне відхилення? Я розумію, що середнє арифметичне може бути обчислене середнє відхилення, але якщо ви маєте середнє гармонічне значення, то як обчислюєте стандартне відхилення чи CV?
Відповіді:
Середнє гармонічне значення випадкових змінних визначається як
Беручи моменти фракцій брудний бізнес, так що замість цього я хотів би працювати з . Тепер
Теорема центральної межі Усіна ми одразу отримуємо це
якщо, звичайно, і це iid, оскільки ми просто працюємо з середнім арифметичним змінними .
Тепер, використовуючи метод дельти для функції ми отримуємо це
Цей результат є асимптотичним, але для простих застосувань це може бути достатньо.
Оновлення Як справедливо зазначає @whuber, прості програми - це неправильне значення. Центральна гранична теорема виконується лише за наявності , що є досить обмежувальним припущенням.
Оновлення 2 Якщо у вас є вибірка, то для обчислення стандартного відхилення просто підключіть моменти вибірки до формули. Отже, для зразка оцінка гармонічного середнього становить
моменти вибірки і відповідно:
тут означає зворотну.
Нарешті, приблизна формула для стандартного відхилення є
Я провів кілька моделей Монте-Карло для випадкових змінних, рівномірно розподілених в інтервалі . Ось код:
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
Я імітував N
зразки за n
розміром вибірки. Для кожного n
зразка розміру я розраховував оцінку стандартної оцінки (функції sdhm
). Потім я порівнюю середнє та стандартне відхилення цих оцінок із стандартним відхиленням вибірки середнього гармонічного значення, оціненим для кожного зразка, яке, мабуть, має бути справжнім стандартним відхиленням середнього гармонічного значення.
Як бачите, результати досить хороші навіть для помірних розмірів вибірки. Звичайно, рівномірний розподіл дуже добре поводиться, тому не дивно, що результати хороші. Я залишу для когось іншого дослідити поведінку для інших дистрибутивів, код дуже легко адаптувати.
Примітка. У попередній версії цієї відповіді в результаті дельта-методу сталася помилка, неправильна дисперсія.
У моїй відповіді на відповідне запитання вказується, що середнє значення гармонії набору позитивних даних - це оцінка найменших зважених квадратів (WLS) (з вагою ). Тому ви можете обчислити його стандартну помилку за допомогою методів WLS. Це має деякі переваги, включаючи простоту, загальність та інтерпретацію, а також автоматично виробляється будь-яким статистичним програмним забезпеченням, яке дозволяє зважувати при його обчисленні регресії.
Основний недолік полягає в тому, що обчислення не створює хороших інтервалів довіри для сильно перекошених базових розподілів. Можливо, це буде проблемою з будь-яким методом загального призначення: гармонічне значення чутливе до наявності навіть одного крихітного значення в наборі даних.
Для ілюстрації тут наводяться емпіричні розподіли незалежно генерованих зразків розміром від розподілу Гамма (5) (який скромно перекошений). Сині лінії показують справжнє гармонічне середнє значення (дорівнює ), а червоні пунктирні - найменше зважених оцінок квадратів. Вертикальні сірі смуги навколо синіх ліній є приблизними двосторонніми 95% довірчими інтервалами для гармонійного середнього. У цьому випадку в усіх зразках ІС охоплює справжню гармонічну середню. Повторення цього моделювання (із випадковими насінням) дозволяють припустити, що покриття близьке до запланованої 95%, навіть для цих невеликих наборів даних.
Ось 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)
}
Ось приклад для експонентних r.v's.
Середнє гармонічне значення для точок даних визначається як
Припустимо, у вас є iid зразків Експоненціальної випадкової величини, . Сума експоненціальних змінних слід за розподілом Gamma
де . Ми також це знаємо
Отже, розподіл є
Дисперсія (і стандартне відхилення) цього rv добре відома, дивіться, наприклад, тут .
Існує побоювання , що mpiktas CLT вимагає ігрового обмежену дисперсії на . Це правда, що має шалені хвости, коли має позитивну щільність навколо нуля. Однак у багатьох програмах, що використовують середнє гармонічне значення, . Тут обмежений , що дає вам всі моменти, які ви хочете!1 / X X X ≥ 1 1 / X 1
Я б запропонував використовувати наступну формулу як заміну стандартного відхилення:
де . Приємно в цій формулі те, що вона зведена до мінімуму, коли , і вона має ті самі одиниці, що і стандартне відхилення (які є ті самі одиниці, що і ). х=Н
Це аналогічно стандартному відхиленню - це значення, яке приймає коли воно мінімізоване над . Він зведений до мінімуму, коли є середнім: .ххх=μ=1