Ciencia de datos

¿Siguen las visitas a Analytics Lane la ley de la potencia?

Hace un par de años, en los primeros días del blog, intenté comprobar si las visitas a Analytics Lane seguían la ley de la potencia. Sin obtener en aquel momento un resultado claro. La ley de la potencia es una relación entre magnitudes que se puede observar en múltiples fenómenos de carácter físico, biológico o debido a la actividad humana. Ahora, una vez han aumentado el númoro de páginas y visitas en el blog es un buen momento para revisar si esta ley se verifica o existen otras alternativas más adecuadas como una distribución lognormal.

Paquete para trabajar con la ley de la potencia

En PyPI existe un paquete que facilita con el que se pueden automatizar el análisis de datos para comprobar si estos siguen una ley como la de la potencia o son mejores otras alternativas. Un paquete que se llama powerlaw y se puede instalar simplemente con el siguiente comando

pip install powerlaw

Datos de visitar a Analytics Lane

Para el análisis se van a utilizar los datos de visitas únicas a las 500 páginas más populares durante el pasado mes. Evitando de esta manera el error que puede introducir las búsquedas u otras visitas a las páginas inexistentes.

Ajustando los datos a la ley de la potencia

Al ajustar el número de visitas con la ley se obtiene una gráfica como la siguiente. Una gráfica en la que se ve como los datos no siguen perfectamente la ley, especialmente en las páginas menos visitadas.

Visitas a Analytics Lane modeladas por la ley de la potencia

Distribución Lognormal

Una alternativa para explicar las visitas al blog es una distribución Lognormal. Lo que se puede comparar en la siguiente gráfica.

Visitas a Analytics Lane modeladas por la ley de la potencia y la distribución lognormal

En este caso se puede ver claramente que los datos se ajustan mejor a una distribución Lognormal. Lo que se puede comprobar mediante el método distribution_compare() del paquete powerlaw.

Ley de la potencia truncada

Otra alternativa es la ley de la potencia truncada, una modificación en la que se tiene en cuenta el hecho de usar datos truncados, como es el caso. Solamente se usan las visitas a las 500 primeras páginas. En este caso el resultado con los tres modelos se puede ver en la siguiente gráfica.

Visitas a Analytics Lane modeladas por la ley de la potencia, la distribución lognormal y la ley de la potencia truncada

En este caso es dificil apreciar, pero el modelo basado en la versión truncada es ligeramente mejor que la Lognormal. Algo que también se puede validar con el método distribution_compare().

Los resultados que se muestran en la entrada se pueden conseguir con el siguiente código

import pandas as pd
import powerlaw
from matplotlib.pyplot import legend

visitas = pd.read_excel('visitas.xlsx')

fit = powerlaw.Fit(visitas.Unicas)

fig = fit.plot_ccdf(linewidth = 2)
fit.power_law.plot_ccdf(ax = fig, color = 'r', linewidth = 2, linestyle = '--')
fit.lognormal.plot_ccdf(ax = fig, color = 'g', linewidth = 2, linestyle = '--')
fit.truncated_power_law.plot_ccdf(ax = fig, color = 'b', linewidth = 2, linestyle = '--')
legend(['Visitas', 'Power Law', 'Lognormal', 'Truncate Power Law'])

Conclusiones

En esta ocasión se ha podido comprobar que las visitas a una web, por lo menos en el caso de Analytics Lane, cumple la ley. Aunque para validarlo hay que tener en cuenta que los datos empleados para el análisis suelen estar truncados para evitar ruido causado por visitas que no deberían tenerse en cuenta.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

1 día ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

2 días ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

6 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

1 semana ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

2 semanas ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

This website uses cookies.