domingo, 2 de octubre de 2016

Estimador insesgado, consistente e ineficiente de uso de WhatsApp

WhatsApp nos proporciona la siguiente información cuando se accede a un contacto: si en ese momento está haciendo uso de la aplicación aparecerá como en línea, y si no es así sabremos el momento en que lo estuvo por última vez.



Con estos datos y un número suficiente de muestras (entendiendo muestra como un acceso por nuestra parte al contacto para cotillear su estado), vamos a modelar y estimar estadísticamente los dos parámetros principales de uso de WhatsApp:
  • MTBC (Mean Time Between Connections): tiempo medio entre conexiones a WhatsApp.
  • MCT (Mean Connection Time): duración media de las conexiones a WhatsApp.

Diseñar una app específica que monitorice de manera continua el contacto sería la forma ideal para conocer los movimientos con el máximo detalle y mínimo esfuerzo. En este caso hemos buscado estimaciones estadísticas de los dos parámetros descritos que puedan calcularse a partir de unas pocas muestras en la aplicación estándar (de hecho el algoritmo funcionaría a partir de una sola muestra, con la esperable imprecisión).

Aquí se representa la evolución en el tiempo del uso de WhatsApp de un hipotético usuario:



En la parte inferior encontramos el muestreo realizado en el período de observación, concluyendo dos muestras en que el usuario estaba en línea, y cuatro muestras en que se encontraba desconectado de la aplicación. Para estas cuatro muestras sin actividad podemos, calculando la diferencia entre la hora de muestreo y la hora de último uso que nos proporciona WhatsApp, obtener los dti,j o intervalos de tiempo transcurridos desde la última desconexión (i) y el instante de muestreo (j).

Empezamos calculando un ratio fBUSY de uso de WhatsApp que tomará valores entre 0 y 1:

fBUSY = Núm. muestras en línea / Núm. muestras totales

Asumimos que los instantes de nuestro muestreo siguen una distribución aleatoria uniforme respecto a los tiempos de conexión e inactividad del usuario, independientemente de la distribución estadística de estos. Esto convierte a fBUSY en un estimador insesgado de la relación:

fBUSY = MCT / MTBC

Como paso intermedio estimaremos también el MDT (Mean Disconnection Time) o duración media de los períodos de no uso de WhatsApp.


MTBC = MCT + MDT


Así calculamos para cada uno de los m períodos de desconexión muestreados, el tiempo medio transcurrido entre la desconexión precedente y los ni instantes de muestreo que hayan tenido lugar dentro de cada período.

A continuación promediamos los m valores obtenidos en el paso anterior, cálculo que por la asunción de distribución uniforme del muestreo respecto a los períodos de desconexión equivaldrá a la mitad del MDT.

Finalmente obtendremos el MTBC a partir del MDT y el fBUSY usando las relaciones vistas, y de ahí el MCT:



Aprovechando que he dispuesto de tiempo libre de manera forzosa he estado siguiendo durante una jornada a dos de mis contactos de WhatsApp, totalizando 50 muestras en las que he anotado hora de muestreo y estado (en línea o última desconexión).

En el Excel usowhatsapp.xls pueden encontrarse los datos y los cálculos que han arrojado los siguientes valores:



Puede verse que el usuario A es un heavy user de WhatsApp, estimando que pasa casi un cuarto de la jornada consultando la aplicación y durante tiempos bastante prolongados. Sin embargo el usuario B entra en WhatsApp más esporádicamente, y durante períodos mucho más cortos lo que hace pensar que apenas participa en conversaciones largas.

Y ahora las malas noticias: por qué pese a ser un estimador insesgado y consistente (es decir que con un número infinito de muestras arrojaría resultados exactos), es ineficiente?. Pues porque requiere de un número muy alto de muestras para ser preciso, haciéndolo poco útil en la práctica pese a ser aplicable incluso con una sola muestra.

El punto débil del modelo es su fuerte dependencia del parámetro de uso fBUSY, cuya varianza puede ser muy grande cuando no se tiene un número de muestras elevado. Esto hace que el valor estimado de MCT (duración media de las conexiones) también sufra mucha varianza.

En el Excel se muestra un refinamiento del cálculo basado en los datos disponibles:



Podemos ver que las estimaciones de fBUSY y MCT varían mucho (en esta foto el usuario A ya no parece tan adicto a WhatsApp, dedicando solo un 10% de su tiempo a consultarlo), no cambiando el MDT y manteniéndose el MTBC bastante robusto.

No hay comentarios:

Publicar un comentario

Por claridad del blog, por favor trata de utilizar una sintaxis lo más correcta posible y no abusar del uso de emoticonos, mayúsculas y similares.