Je cherche l'équation correcte pour calculer la covariance sans biais pondérée de l'échantillon. Les sources Internet sont assez rares sur ce thème et elles utilisent toutes des équations différentes.
L'équation la plus probable que j'ai trouvée est celle-ci:
De: https://en.wikipedia.org/wiki/Sample_mean_and_sample_covariance#Weighted_samples
Bien sûr, vous devez au préalable calculer la moyenne de l'échantillon pondéré (sans biais).
Cependant, j'ai trouvé plusieurs autres formules comme:
Ou j'ai même vu des codes source et des articles universitaires en utilisant simplement la formule de covariance standard mais avec la moyenne de l'échantillon pondéré au lieu de la moyenne de l'échantillon ...
Quelqu'un peut-il m'aider et faire la lumière?
/ EDIT: mes poids sont simplement le nombre d'observations pour un échantillon dans l'ensemble de données, donc weights.sum () = n
Réponses:
J'ai trouvé la solution dans un livre de 1972 (George R. Price, Ann. Hum. Genet., Lond, pp485-490, Extension of covariance selection mathématiques, 1972) .
Covariance de l'échantillon pondéré biaisé:
Et la covariance non pondérée de l'échantillon donnée en appliquant la correction de Bessel:
Oùμ∗ est la moyenne de l'échantillon pondéré (sans biais):
Remarque importante: cela ne fonctionne que si les poids sont des poids de type "répétition", ce qui signifie que chaque poids représente le nombre d'occurrences d'une observation, et que∑Ni = 1wje=N∗ où N∗ représentent la taille réelle de l'échantillon (nombre total réel d'échantillons, en tenant compte des poids).
J'ai mis à jour l'article sur Wikipedia, où vous trouverez également l'équation de la variance d'échantillon pondérée non biaisée:
https://en.wikipedia.org/wiki/Weighted_arithmetic_mean#Weighted_sample_covariance
Note pratique: je vous conseille de multiplier d'abord colonne par colonnewje et (Xje-μ∗) puis faire une multiplication matricielle avec (Xje-μ∗) pour envelopper les choses et effectuer automatiquement la sommation. Par exemple, en code Python Pandas / Numpy:
A fait quelques vérifications d'intégrité en utilisant un ensemble de données non pondéré et un ensemble de données pondéré équivalent, et cela fonctionne correctement.
la source