Coleto amostras muito grandes (> 1.000.000) de dados categóricos todos os dias e desejo que os dados pareçam "significativamente" diferentes entre os dias para detectar erros na coleta de dados.
Eu pensei que usar um teste de ajuste adequado (em particular, um teste G) seria um bom ajuste (trocadilhos) para isso. A distribuição esperada é dada pela distribuição do dia anterior.
Mas, como o tamanho da minha amostra é muito grande, o teste tem uma potência muito alta e gera muitos falsos positivos. Ou seja, mesmo uma flutuação diária muito menor fornecerá um valor p próximo de zero.
Acabei multiplicando minha estatística de teste por alguma constante (0,001), que tem a boa interpretação de amostrar os dados nessa taxa. Este artigo parece concordar com essa abordagem. Eles disseram aquilo:
O quadrado de Chi é mais confiável, com amostras entre aproximadamente 100 a 2500 pessoas
Estou procurando mais comentários oficiais sobre isso. Ou talvez algumas soluções alternativas para falsos positivos ao executar testes estatísticos em grandes conjuntos de dados.
fonte
Respostas:
O teste está retornando o resultado correto. As distribuições não são as mesmas no dia a dia. Naturalmente, isso não serve para você. O problema que você está enfrentando é conhecido há muito tempo. Veja: Karl Pearson e RA Fisher em testes estatísticos: uma troca de 1935 da natureza
Em vez disso, você pode olhar para os dados anteriores (o seu ou de outro lugar) e obter a distribuição das alterações diárias para cada categoria. Em seguida, verifique se é provável que a alteração atual tenha ocorrido, dada essa distribuição. É difícil responder mais especificamente sem conhecer os dados e os tipos de erros, mas essa abordagem parece mais adequada ao seu problema.
fonte
Vamos em frente e mate a vaca sagrada de 5%.
Você (corretamente) apontou que o problema é o poder exuberante do teste. Você pode recalibrá-lo para uma potência mais relevante, como, por exemplo, um valor mais tradicional de 80%:
(Please check my math, this is a ridiculous level of a test, but that's what you wanted with your Big Data, didn't you? On the other hand, if you routinely see Pearsonχ2 in the range of a couple hundred, this may be an entirely meaningful critical value to entertain.)
Keep in mind though that the approximations, both for the null and the alternative, may work poorly in the tails, see this discussion.
fonte
In these cases, my professor has suggested to compute Cramér's V which is a measure of association based on the chi-squared statistic. This should give you the strength and help you decide if the test is hypersensitive. But, I am not sure whether you can use the V with the kind of statistic which the G2 tests return.
This should be the formula for V:
wheren is the grand total of observations and k is the number of rows or number of columns whichever is less. Or for goodness of fit tests, the k is apparently the no. of rows.
fonte
Uma abordagem seria tornar os testes de qualidade do ajuste mais significativos, realizando-os em blocos de dados menores.
Você pode dividir seus dados de um dia em, por exemplo, 1000 blocos de 1000 amostras cada e executar um teste individual de ajuste para cada bloco, com a distribuição esperada fornecida pelo conjunto de dados completo do dia anterior. Mantenha o nível de significância para cada teste individual no nível que você estava usando (por exemplo,α = 0,05 ) Em seguida, procure desvios significativos do número total de testes positivos e do número esperado de falsos positivos (sob a hipótese nula de que não há diferença nas distribuições, o número total de testes positivos é distribuído binomialmente, com o parâmetroα )
Você pode encontrar um bom tamanho de bloco para usar usando conjuntos de dados de dois dias em que você poderia assumir que a distribuição era a mesma e ver qual tamanho de bloco fornece uma frequência de testes positivos que é aproximadamente igual aα (ou seja, qual o tamanho do bloco para seu teste de relatar diferenças espúrias).
fonte