Digamos que tenho um grande conjunto de valores que às vezes se repetem. Desejo estimar o número total de valores únicos no conjunto grande.
Se eu coletar uma amostra aleatória de valores e determinar que ele contém T u valores exclusivos, posso usar isso para estimar o número de valores exclusivos no conjunto grande?
estimation
sampling
sanidade
fonte
fonte
Respostas:
Aqui está um artigo inteiro sobre o problema, com um resumo de várias abordagens. É chamado de estimativa de valor distinto na literatura.
Se eu tivesse que fazer isso sozinho, sem ter lido papéis sofisticados, faria isso. Na construção de modelos de linguagem, muitas vezes é preciso estimar a probabilidade de observar uma palavra anteriormente desconhecida, dado um monte de texto. Uma abordagem bastante boa para resolver esse problema, especialmente para os modelos de linguagem, é usar o número de palavras que ocorreram exatamente uma vez, dividido pelo número total de tokens. É chamado de estimativa de Good Turing .
Seja u1 o número de valores que ocorreram exatamente uma vez em uma amostra de m itens.
Seja u o número de itens únicos em sua amostra de tamanho m.
Se você erroneamente presumir que a taxa de 'novo item seguinte' não diminuiu à medida que você obteve mais dados, usando o Good Turing, você terá
Isso tem um comportamento desagradável quando o u1 se torna realmente pequeno, mas isso pode não ser um problema para você na prática.
fonte
s
nesse caso? o número total de 'palavras'?s
ocorre duas vezes nisso, tanto no tamanho da mão esquerda quanto da direita?A estratégia de simulação
Recolha m amostras aleatórias de tamanho n a partir do conjunto de S . Para cada uma das m amostras, calcule o número u de valores exclusivos e divida por n para normalizar. A partir da distribuição simulada de u normalizado , calcule as estatísticas resumidas de interesse (por exemplo, média, variância, intervalo interquartil). Multiplique a média simulada de u normalizado pela cardinalidade de S para estimar o número de valores únicos.
Quanto maiores são m e n , mais próxima sua média simulada corresponderá ao número real de valores únicos.
fonte
Aqui está uma implementação para os pandas:
Baseia-se nas seções 2 e 4 deste documento: http://ftp.cse.buffalo.edu/users/azhang/disc/disc01/cd1/out/papers/pods/towardsestimatimosur.pdf
fonte