Digamos que tengo un gran conjunto de valores que a veces se repiten. Deseo estimar el número total de valores únicos en el conjunto grande.
Si tomo una muestra aleatoria de valores y determino que contiene valores únicos , ¿puedo usar esto para estimar el número de valores únicos en el conjunto grande?
estimation
sampling
cordura
fuente
fuente
Respuestas:
Aquí hay un artículo completo sobre el problema, con un resumen de varios enfoques. Se llama Estimación de valor distinto en la literatura.
Si tuviera que hacer esto por mí mismo, sin haber leído papeles elegantes, lo haría. Al construir modelos de lenguaje, a menudo hay que estimar la probabilidad de observar una palabra previamente desconocida, dado un montón de texto. Un enfoque bastante bueno para resolver este problema para los modelos de lenguaje en particular es usar el número de palabras que ocurrieron exactamente una vez, dividido por el número total de tokens. Se llama el Estimación de Good Turing .
Sea u1 el número de valores que ocurrieron exactamente una vez en una muestra de m elementos.
Sea la cantidad de elementos únicos en su muestra de tamaño m.
Si asume erróneamente que la tasa de 'nuevo elemento siguiente' no disminuyó a medida que obtuvo más datos, entonces usando Good Turing, tendrá
Esto tiene un comportamiento desagradable ya que u1 se vuelve realmente pequeño, pero eso podría no ser un problema para usted en la práctica.
fuente
s
en este caso? el número total de 'palabras'?s
ocurre dos veces en esto, tanto en el tamaño de la mano izquierda como en la derecha?La estrategia de simulación
Collect m muestras aleatorias de tamaño n de la serie S . Para cada una de las m muestras, calcule el número u de valores únicos y divídalo por n para normalizar. A partir de la distribución simulada de u normalizada , calcule estadísticas resumidas de interés (p. Ej., Media, varianza, rango intercuartil). Multiplique la media simulada de u normalizada por la cardinalidad de S para estimar el número de valores únicos.
Cuanto mayor es m y n , cuanto más cerca su media simulada coincidirá con el verdadero número de valores únicos.
fuente
Aquí hay una implementación para pandas:
Se basa en las secciones 2 y 4 de este documento: http://ftp.cse.buffalo.edu/users/azhang/disc/disc01/cd1/out/papers/pods/towardsestimatimosur.pdf
fuente