L'écart type peut-il être calculé pour la moyenne harmonique? Je comprends que l'écart type peut être calculé pour la moyenne arithmétique, mais si vous avez une moyenne harmonique, comment calculez-vous l'écart type ou CV?
L'écart type peut-il être calculé pour la moyenne harmonique? Je comprends que l'écart type peut être calculé pour la moyenne arithmétique, mais si vous avez une moyenne harmonique, comment calculez-vous l'écart type ou CV?
Réponses:
La moyenne harmonique de variables aléatoires est défini comme
Prendre des moments des fractions d' une entreprise est en désordre, donc au lieu que je préférerais travailler avec le . Maintenant
En utilisant le théorème de la limite centrale, nous obtenons immédiatement que
si bien sûr et sont iid, puisque nous travaillons simplement avec la moyenne arithmétique des variables .
Maintenant, en utilisant la méthode delta pour la fonction nous obtenons que
Ce résultat est asymptotique, mais pour des applications simples, il peut suffire.
Mise à jour Comme le souligne @whuber à juste titre, les applications simples sont un terme impropre. Le théorème central limite n'est valable que si existe, ce qui est une hypothèse assez restrictive.
Mise à jour 2 Si vous avez un échantillon, pour calculer l'écart type, branchez simplement les moments d'échantillonnage dans la formule. Donc , pour l' échantillon , l'estimation de la moyenne harmonique est
les moments d'échantillonnage et sont respectivement:
ici signifie réciproque.
Enfin , la formule approximative de l' écart type de H est
J'ai exécuté quelques simulations Monte-Carlo pour des variables aléatoires uniformément réparties dans l'intervalle . Voici le code:
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
J'ai simulé des N
échantillons d'échantillon de n
taille. Pour chaque n
échantillon de taille, j'ai calculé une estimation de l'estimation standard (fonction sdhm
). Ensuite, je compare la moyenne et l'écart-type de ces estimations avec l'écart-type de l'échantillon de la moyenne harmonique estimé pour chaque échantillon, qui devrait être vraisemblablement le véritable écart-type de la moyenne harmonique.
Comme vous pouvez le voir, les résultats sont assez bons, même pour des échantillons de taille modérée. Bien sûr, la distribution uniforme est très bien comportée, il n'est donc pas surprenant que les résultats soient bons. Je vais laisser quelqu'un d'autre enquêter sur le comportement des autres distributions, le code est très facile à adapter.
Remarque: Dans la version précédente de cette réponse, il y avait une erreur dans le résultat de la méthode delta, une variance incorrecte.
Ma réponse à une question connexe souligne que la moyenne harmonique d'un ensemble de données positives est une estimation des moindres carrés pondérés (WLS) (avec les poids 1 / x i ). Vous pouvez donc calculer son erreur standard à l'aide des méthodes WLS. Cela présente certains avantages, notamment la simplicité, la généralité et l'interprétabilité, tout en étant produit automatiquement par tout logiciel statistique qui permet des pondérations dans son calcul de régression.
Le principal inconvénient est que le calcul ne produit pas de bons intervalles de confiance pour des distributions sous-jacentes très asymétriques. Cela risque d'être un problème avec toute méthode à usage général: la moyenne harmonique est sensible à la présence même d'une seule petite valeur dans l'ensemble de données.
Voici le R
code de la simulation et des figures.
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)
}
Voici un exemple pour les r.v exponentiels.
La variance (et l'écart type) de ce rv sont bien connus, voir par exemple ici .
On craint que le CLT de mpiktas nécessite une variance limitée sur . C'est vrai que a des queues folles quand a une densité positive autour de zéro. Cependant, dans de nombreuses applications utilisant la moyenne harmonique, . Ici, est délimité par , vous offrant tous les moments que vous souhaitez!
Ce que je suggérerais, c'est d'utiliser la formule suivante comme substitut à l'écart type:
où . La bonne chose à propos de cette formule est qu'elle est minimisée lorsque, et il a les mêmes unités que l'écart type (qui sont les mêmes unités que a).
Ceci est en analogie avec l'écart-type, qui est la valeur qui prend quand il est minimisé . Il est minimisé lorsque est la moyenne: .