Tengo un problema con el parámetro de estimación para Zipf. Mi situación es la siguiente:
Tengo un conjunto de muestra (medido a partir de un experimento que genera llamadas que deberían seguir una distribución Zipf). Tengo que demostrar que este generador realmente genera llamadas con distribución zipf. Ya leí estas preguntas y respuestas ¿Cómo calcular el coeficiente de ley de Zipf a partir de un conjunto de frecuencias máximas? pero alcanzo malos resultados porque uso una distribución truncada. Por ejemplo, si configuro el valor "s" en "0.9" para el proceso de generación, si trato de estimar el valor "s" como se escribió en las preguntas y respuestas reportadas, obtengo una "s" igual a 0.2 ca. Creo que esto se debe al hecho de que uso una distribución TRUNCADA (tengo que limitar el zipf con un punto de truncamiento, está truncado a la derecha).
¿Cómo puedo estimar parámetros con una distribución zipf truncada?
fuente
Respuestas:
Actualización : 7 de abril de 2011 Esta respuesta se está haciendo bastante larga y cubre varios aspectos del problema en cuestión. Sin embargo, me he resistido, hasta ahora, dividiéndolo en respuestas separadas.
Agregué al final una discusión sobre el rendimiento de Pearson para este ejemplo.χ2
Bruce M. Hill escribió, tal vez, el documento "seminal" sobre estimación en un contexto tipo Zipf. Escribió a mediados de los años 70 varios artículos sobre el tema. Sin embargo, el "estimador de Hill" (como se lo llama ahora) se basa esencialmente en las estadísticas de orden máximo de la muestra y, por lo tanto, dependiendo del tipo de truncamiento presente, eso podría ocasionarle algunos problemas.
El papel principal es:
BM Hill, Un enfoque general simple de inferencia sobre la cola de una distribución , Ann. Stat. 1975.
Si sus datos realmente son inicialmente Zipf y luego se truncan, entonces se puede aprovechar una buena correspondencia entre la distribución de grados y el gráfico Zipf .
Específicamente, la distribución de grados es simplemente la distribución empírica del número de veces que se ve cada respuesta entera,
Si graficamos esto contra en un gráfico log-log, obtendremos una tendencia lineal con una pendiente correspondiente al coeficiente de escala.yo
Por otro lado, si trazamos el gráfico Zipf , donde clasificamos la muestra de mayor a menor y luego graficamos los valores contra sus rangos, obtenemos una tendencia lineal diferente con una pendiente diferente . Sin embargo, las pendientes están relacionadas.
Si es el coeficiente de la ley de escala para la distribución Zipf, entonces la pendiente en la primera gráfica es - α y la pendiente en la segunda gráfica es - 1 / ( α - 1 ) . A continuación se muestra un gráfico de ejemplo para α = 2 y n = 10 6 . El panel de la izquierda es la distribución de grados y la pendiente de la línea roja es - 2 . El lado derecho es el gráfico Zipf, con la línea roja superpuesta con una pendiente de - 1 / ( 2 - 1 ) = -α - α - 1 / ( α - 1 ) α = 2 n = 106 6 - 2 .- 1 / ( 2 - 1 ) = - 1
Por lo tanto, si sus datos se han truncado para que no vea valores mayores que algún umbral , pero los datos están distribuidos por Zipf y τ es razonablemente grande, entonces puede estimar α a partir de la distribución de grados . Un enfoque muy simple es ajustar una línea al gráfico log-log y usar el coeficiente correspondiente.τ τ α
@csgillespie dio un artículo reciente escrito en colaboración con Mark Newman en Michigan sobre este tema. Parece que publica muchos artículos similares sobre esto. A continuación hay otra junto con otras referencias que pueden ser de interés. Newman a veces no hace las cosas más sensatas estadísticamente, así que tenga cuidado.
MEJ Newman, Leyes de poder, distribuciones de Pareto y la ley de Zipf , Contemporary Physics 46, 2005, pp. 323-351.
M. Mitzenmacher, Una breve historia de los modelos generativos para la ley de potencia y las distribuciones logarítmicas , Internet Math. vol. 1, no. 2, 2003, pp. 226-251.
K. Knight, una modificación simple del estimador Hill con aplicaciones a la robustez y reducción de sesgos , 2010.
Anexo :
La trama resultante es
Aún así, desde un punto de vista práctico, tal argumento debería ser relativamente convincente.
También calcularemos un segundo estadístico formado al agrupar primero los conteos en contenedores de tamaño 40, como se muestra en la hoja de cálculo de Maurizio (el último contenedor solo contiene la suma de veinte valores de resultados separados.
fuente
El papel
Clauset, A et al , Distribuciones de la ley de poder en datos empíricos . 2009
contiene una muy buena descripción de cómo hacer para adaptar modelos de ley de potencia. La página web asociada tiene ejemplos de código. Desafortunadamente, no proporciona código para distribuciones truncadas, pero puede darle un puntero.
Como comentario aparte, el documento discute el hecho de que muchos "conjuntos de datos de leyes de poder" se pueden modelar igualmente bien (y en algunos casos mejor) con las distribuciones Log normales o exponenciales.
fuente
Siguiendo la respuesta detallada del cardenal del usuario, realicé la prueba de chi-cuadrado en mi distribución zipf truncada presumible. Los resultados de la prueba de chi-cuadrado se presentan en la siguiente tabla:
Donde StartInterval y EndInterval representan, por ejemplo, el rango de llamadas y Observado es el número de llamadas que generan de 0 a 19 llamadas, y así sucesivamente. La prueba de chi-cuadrado es buena hasta que se alcanzan las últimas columnas, aumentan la cantidad final cálculo, de lo contrario hasta ese punto, ¡el valor de chi-cuadrado "parcial" era aceptable!
Con otras pruebas, el resultado es el mismo, la última columna (o las últimas 2 columnas) siempre aumenta el valor final y no sé por qué y no sé si (y cómo) usar otra prueba de validación.
PD: para completar, para calcular los valores esperados ( esperados ), sigo la sugerencia del cardenal de esta manera:
donde se usan las X_i para calcular:,
x <- (1:n)^-S
las P_i para calcularp <- x / sum(x)
y finalmente la E_i (número esperado de usuarios para cada número de llamadas) se obtiene medianteP_i * Total_Caller_Observed
y con Grado de libertad = 13, la bondad de Chi-cuadrado rechaza siempre la Hipótesis de que el conjunto de muestras sigue la Distribución Zipf porque la Estadística de prueba (64,14 en este caso) es mayor que la informada en las tablas de chi-cuadrado, "demérito" para la última columna El resultado gráfico se informa aquí:
aunque el punto de truncamiento se establece en 500, el valor máximo obtenido es 294. Creo que la "dispersión" final es la causa del fracaso de la prueba de chi-cuadrado.
¡¡ACTUALIZAR!!
Intento realizar la prueba de chi-cuadrado en una muestra presumible de datos zipf generada con el código R informado en la respuesta anterior.
La trama asociada es la siguiente:
Los resultados de la prueba de chi-cuadrado se presentan en la siguiente figura:
y la estadística de prueba de chi-cuadrado (44,57) es demasiado alta para la validación con el Grado de Libertad elegido. También en este caso, la "dispersión" final de datos es la causa del alto valor de chi-cuadrado. Pero hay un procedimiento para validar esta distribución zipf (independientemente de mi generador "incorrecto", quiero centrarme en la muestra de datos R) ???
fuente