Variance pondérée, une fois de plus

17

La variance pondérée non biaisée a déjà été abordée ici et ailleurs, mais il semble toujours y avoir une confusion surprenante. Il semble y avoir un consensus sur la formule présentée dans le premier lien ainsi que dans l'article Wikipedia . Cela ressemble également à la formule utilisée par R, Mathematica et GSL (mais pas MATLAB). Cependant, l'article Wikipédia contient également la ligne suivante qui ressemble à un excellent test de cohérence pour une implémentation de la variance pondérée:

Par exemple, si les valeurs {2,2,4,5,5,5} sont tirées de la même distribution, alors nous pouvons traiter cet ensemble comme un échantillon non pondéré, ou nous pouvons le traiter comme l'échantillon pondéré {2,4, 5} avec les poids correspondants {2,1,3}, et nous devrions obtenir les mêmes résultats.

Mes calculs donnent la valeur de 2,1667 pour la variance des valeurs d'origine et de 2,9545 pour la variance pondérée. Dois-je vraiment m'attendre à ce qu'ils soient les mêmes? Pourquoi ou pourquoi pas?

confusedCoder
la source
6
cette question ne concerne pas vraiment la mise en œuvre, mais la théorie derrière elle
confusedCoder

Réponses:

15

Oui, vous devez vous attendre à ce que les deux exemples (non pondérés vs pondérés) vous donnent les mêmes résultats.

J'ai implémenté les deux algorithmes de l'article Wikipedia.

Celui-ci fonctionne:

xiwi

s2 =1V11i=1Nwi(xiμ)2,

Cependant celui-ci (en utilisant des poids fractionnaires) ne fonctionne pas pour moi:

xi1/wi

s2 =V1V12V2i=1Nwi(xiμ)2

J'étudie toujours les raisons pour lesquelles la deuxième équation ne fonctionne pas comme prévu.

/ EDIT: J'ai trouvé la raison pour laquelle la deuxième équation n'a pas fonctionné comme je le pensais: vous ne pouvez utiliser la deuxième équation que si vous avez des poids normalisés ou des poids de variance ("fiabilité"), et ce n'est PAS sans biais, parce que si vous ne le faites pas utilisez des poids de "répétition" (en comptant le nombre de fois qu'une observation a été observée et doit donc être répétée dans vos opérations mathématiques), vous perdez la capacité de compter le nombre total d'observations et vous ne pouvez donc pas utiliser un facteur de correction.

Cela explique donc la différence dans vos résultats en utilisant la variance pondérée et non pondérée: votre calcul est biaisé.

Ainsi, si vous voulez avoir une variance pondérée non biaisée, utilisez uniquement des poids «répétés» et utilisez la première équation que j'ai publiée ci-dessus. Si ce n'est pas possible, eh bien, vous ne pouvez pas vous en empêcher.

J'ai également mis à jour l'article de Wikipedia si vous voulez plus d'informations: http://en.wikipedia.org/wiki/Weighted_arithmetic_mean#Weighted_sample_variance

Et un article lié sur la covariance pondérée non biaisée (qui est en fait la même variance due à l' identité de polarisation ): Corriger l'équation pour la covariance de l'échantillon pondéré sans biais

généreux
la source
Après avoir lu et réfléchi beaucoup à cela, je n'ai toujours pas de sens intuitif ni d'exemple du terme "poids de fiabilité". Pouvez-vous développer un peu cela?
Peter
Les poids de fiabilité @Peter sont des poids normalisés, par exemple, bornés entre 0 et 1 ou -1 et 1. Ils représentent une fréquence (par exemple, 0,1 signifie que cet échantillon a été vu 10% du temps par rapport à tous les autres échantillons). Je n'ai pas inventé le terme, on le retrouve dans les publications. Pour les poids répétés, c'est l'inverse, chaque poids représente le nombre d'occurrences, la cardinalité (par exemple, 10 si l'échantillon a été observé 10 fois).
gaborous
C'est déroutant parce que ce que vous appelez les poids de répétition est souvent aussi appelé poids de fréquence , mais je pense avoir compris la différence. Cela dépend de la normalisation, non?
Peter
Non, les pondérations de fréquence sont un autre nom pour les pondérations de fiabilité. Pour les poids répétés, c'est le nombre d'occurrences, pas la fréquence. Avec des poids répétés, il n'y a pas du tout de normalisation, c'est le point: tant que vous normalisez vos poids, vous perdez la fréquence de base, donc vous ne pouvez pas totalement déformer vos calculs. Le seul moyen est de conserver le nombre total d'occurrences. Si vous voulez vraiment utiliser des pondérations de fréquence, je pense que si vous stockez au préalable le nombre N total d'occurrences que vous pouvez convertir dans les deux sens pour répéter les pondérations en multipliant les pondérations de fréquence par N, alors c'est OK.
gaborous
Et si vos poids sont des poids 1 / variance, comment les appelleriez-vous? S'agirait-il alors de «pondérations de fiabilité»?
Tom Wenseleers