Equação correta para covariância de amostra imparcial ponderada

9

Estou procurando a equação correta para calcular a covariância de amostra imparcial ponderada. As fontes da Internet são bastante raras nesse tema e todas usam equações diferentes.

A equação mais provável que encontrei é esta:

qjk=i=1Nwi(i=1Nwi)2i=1Nwi2i=1Nwi(xijx¯j)(xikx¯k).

De: https://en.wikipedia.org/wiki/Sample_mean_and_sample_covariance#Weighted_samples

Obviamente, você deve calcular a média ponderada da amostra (imparcial) de antemão.

No entanto, eu encontrei várias outras fórmulas como:

qjk=1i=1Nwi)1i=1Nwi(xijx¯j)(xikx¯k).

Ou eu já vi alguns códigos-fonte e trabalhos acadêmicos apenas usando a fórmula de covariância padrão, mas com a média ponderada da amostra em vez da média da amostra ...

Alguém pode me ajudar e lançar alguma luz?

/ EDIT: meus pesos são simplesmente o número de observações para uma amostra no conjunto de dados, assim weights.sum () = n

laborioso
fonte
1
ff
@whuber: Meus pesos são simplesmente o número de observações para uma amostra no conjunto de dados, e assim: Sum (pesos) = n
gaborous
1
Em seguida, sua pergunta é respondida em muitos lugares aqui (embora isso possa não ser aparente imediatamente), incluindo stats.stackexchange.com/questions/58986/… (que explica o princípio) e stats.stackexchange.com/questions/6534/ … (Que ainda mantenho está incorreto, mas você pode decidir por si mesmo).
whuber
@ whuber: obrigado por sua ajuda, mas o primeiro link é sobre desvio padrão (raiz quadrada da variância) e não sobre covariância, e o segundo está claramente errado (como você apontou).
gaborous
3
Não há diferença entre variância e covariância: todas as covariâncias podem ser obtidas como (combinações lineares) de variações e variações, é claro, são apenas exemplos particulares de covariâncias. (Os matemáticos chamam essa relação de polarização .)
whuber

Respostas:

18

Encontrou a solução em um livro de 1972 (George R. Price, Ann. Hum. Genet., Lond, pp485-490, Extension of covariance selection math, 1972) .

Covariância de amostra ponderada enviesada:

Σ=1i=1Nwii=1Nwi(xiμ)T(xiμ)

E a covariância de amostra ponderada imparcial dada pela aplicação da correção de Bessel:

Σ=1i=1Nwi1i=1Nwi(xiμ)T(xiμ)

μ

μ=i=1Nwixii=1Nwi

i=1Nwi=NN

Atualizei o artigo na Wikipedia, onde você também encontrará a equação para variação de amostra ponderada imparcial:

https://en.wikipedia.org/wiki/Weighted_arithmetic_mean#Weighted_sample_covariance

wi(xiμ)(xiμ)

import pandas as pd
import numpy as np
# X is the dataset, as a Pandas' DataFrame
mean = mean = np.ma.average(X, axis=0, weights=weights) # Computing the weighted sample mean (fast, efficient and precise)
mean = pd.Series(mean, index=list(X.keys())) # Convert to a Pandas' Series (it's just aesthetic and more ergonomic, no differenc in computed values)
xm = X-mean # xm = X diff to mean
xm = xm.fillna(0) # fill NaN with 0 (because anyway a variance of 0 is just void, but at least it keeps the other covariance's values computed correctly))
sigma2 = 1./(w.sum()-1) * xm.mul(w, axis=0).T.dot(xm); # Compute the unbiased weighted sample covariance

Realizou algumas verificações de sanidade usando um conjunto de dados não ponderado e um conjunto de dados ponderado equivalente, e funciona corretamente.

laborioso
fonte
@ whuber: não, está correto, mas depende do que seus "pesos" estão atribuídos. No meu caso, é o número de observações (também conhecidas como "repetições"), pois essa equação funciona corretamente. No seu caso com pesos normalizados ou também se os pesos são as variações de cada medição de uma observação, chamada "confiabilidade", não funciona e a outra equação no wiki deve ser usada (o que não significa trabalhe com pesos "repetidos"!).
gaborous
@ whuber: enfim, se você tem uma abordagem mais generalizável, eu ficaria feliz em ouvir sobre isso. Rastreei toda a Internet e este site e não encontrei uma equação que funcionasse com pesos repetidos, exceto o que eu publiquei acima!
gaborous
3
nn/(n1)wi
3
@ whuber: Obrigado pela explicação, é o que eu temia (sem equação unificada e perda de fator de correção). Eu adicionei uma nota à minha resposta para melhor descrever isso. Também vou adicionar sua linha sobre o fator de correção no artigo da Wikipedia.
gaborous
@whuber Deparei com esses tópicos antigos. Gostaria de saber como a sua afirmação de que "não pode haver uma fórmula universal" se encaixa, por exemplo, em uma resposta aceita neste tópico: stats.stackexchange.com/questions/47325 . Você acha que a resposta está errada (ao afirmar que há uma expressão imparcial para quaisquer pesos)?
Ameba