Como mencioné, estábamos interesados en saber si las predicciones
a nivel de individuos podían agruparse en un modelo
para realmente hacer buenas predicciones.
Llamamos a este artículo "Prediciendo la Marea Alta"
porque nos interesaba predecir
el momento en que la gran mayoría de personas
están en línea y reenviando 'tweets'
para difundir nuestro mensaje.
Este trabajo en realidad fue impulsado
o motivado por una pregunta de Jimpei Harada
quien era un estudiante de ABM en ese momento cuando preguntó
¿podemos predecir cuándo es más probable que un 'tweet' sea 'retweeteado'?
Para empezar, queremos determinar cuándo una gran proporción de tus 'seguidores'
estarán activos en el futuro cercano.
Aquí se muestran los datos de cuatro semanas
y se observa que los picos de tiempo cuando mucha gente está activa
varía tanto en los días de la semana como entre una semana y otra.
Hay además algunos picos de actividad
que deberíamos poder capturar para lograr 'tweetear' lo más posible.
El tiempo óptimo varía día con día y semana con semana,
así que la pregunta es ¿podemos hacer algo mejor que un modelo de estacionalidad?
La estacionalidad en este caso no se refiere a la primavera u otoño,
sino que significa un patrón basado en el tiempo que se repite de alguna forma.
Entonces vamos a comparar el modelo de agrupación de individuos,
(en el que tomamos los modelos de estados causales y agrupamos predicciones)
con un modelo de estacionalidad y también con lo que se conoce como
'modelo de agrupación autorregresivo'
el cual toma el modelo de estacionalidad y agrega un factor local de excitación
basado en actividad reciente en el pasado cercano.
Así que aquí está el modelo de estacionalidad
el cual es realmente sencillo.
Se toman todos los datos de la conducta pasada
y se hace la predicción de que el número de 'retweets'
que ocurrirán en un tiempo X,
será el promedio de la actividad para ese día y hora en las semanas anteriores.
Así que sólo promedias todos los datos.
Aquí tienen todos los datos unos encima de otros,
y la línea punteada es el promedio de todas las semanas.
Esa línea la tomamos con nuestra predicción para cualquier tiempo X.
Si este fuera el caso y buscáramos el tiempo óptimo para difundir un 'tweet'
escogeríamos este punto en el jueves, o éste en el viernes,
y así el resto de la semana.
El modelo autoregresivo agrega el factor de excitación,
así que este pico de actividad,
que de hecho sabemos que fue causado por la captura de Osama Bin Laden,
y hubo mucha actividad en Twitter por ello,
así que este pico no es necesariamente algo que nos interese
ya que dependiendo del mensaje que busquemos difundir
podríamos no querer involucrarnos en esta conversación.
O quizá sí por ejemplo si eres una organización de noticias
sería útil predecir un pico de este tipo, ¿cierto?
En cualquier caso es útil predecir la conducta que causa eso
así que el modelo autoregresivo comienza con el modelo de estacionalidad
y le agrega un componente residual basado en la historia pasada.
Lo podemos pensar como una línea
que se ajusta a los datos anteriores al tiempo X
y si la línea se ve con una pendiente que sube,
entonces le agrega un valor al resultado del modelo de estacionalidad.
El modelo de agrupación de individuos es muy sencillo:
tomamos las máquinas epsilon,
los modelos de estados causales que creamos para cada usuario
y vemos el estado en el que se encuentran al momento
y ese estado nos dirá la probabilidad de que usen Twitter en el futuro cercano.
Después podemos agrupar las probabilidades,
y al hacerlo con todas, obtenemos el número esperado de 'tweets' en cierto momento futuro.
Si tenemos dos usuarios con 50% de probabilidad de mandar 'tweets'
en un periodo de tiempo futuro,
y cuando los agrupamos juntos el resultado predice al menos un tweet,
porque ese es el número esperado de tweets para ese tiempo.
La pregunta es: usando estos distintos métodos,
qué tan bien podemos predecir que estamos dentro del 10%
del periodo de mayor actividad,
que el cuantil p estrella (p*) estará...
que la actividad estará dentro de ese cuantil en ese periodo de tiempo.
La manera de comparar estos modelos en muchas ocasiones
no involucra medir la precisión de las predicciones,
en cambio, dado que existe este umbral que dice
qué tan probable es que estés por encima de...
necesitamos saber el número al que estamos ajustando
así que utilizamos la curva ROC (Característica Operativa del Receptor)
la cual nos muestra para cada valor límite