Como les dije queríamos saber si era posible hacer predicciones agrupadas sobre el nivel de los individuos en un modelo, para poder hacer predicciones fusionadas y llamamos a este texto "Previendo la marea alta" debido a que estábamos interesados en predecir cuando la mayor parte de la gente está en línea y retwitteando para que podamos difundir nuestro mensaje La sección vino de una especie de empujón o fue motivada por preguntas como las de Jimpei Harada, quien era un estudiante en MBA al momento en que se preguntó si era posible predecir cuando un twit va a ser retwiteado una de las cosas en que empezamos a pensar es cuando una gran proporción de los seguidores estarán activos próximamente aquí vemos los datos de 4 semanas y nos muestra que los picos de tiempo, cuando la gente está activa no es únicamente durante la semana sino entre una semana y otra; hay algunos picos que también deberíamos capturar para maximizar el retwit el momento óptimo varía de semana en semana y en el día de la semana, así que la pregunta es, podemos hacer algo un poco mejor que un modelo de estacionalidad?, la estacionalidad acá no se refiere a la primavera o al otoño, lo que sea en vez de ello, nos referimos a un patrón que está basado en el tiempo que parece ser el mismo vamos a comparar, nuestro modelo agregado de individuos, tomamos todos los modelos de estado, los agrupamos en función de sus predicciones en una forma de estacionalidad y en lo que se conoce como modelo de agrupamiento autorregresivo en un modelo de agrupamiento autorregresivo toma uno de estacionalidad pero también le agrega un factor local de excitamiento, que está basado en la actividad reciente que ocurrió hace muy poco aquí tenemos el modelo de estacionalidad el modelo de estacionalidad es muy sencillo, buscamos en todas las conductas del pasado y realizamos las predicciones en base al número de retwits que veremos en un tiempo particular, es el promedio de lo que pasó, para ese día en particular y en ese tiempo particular entonces promediamos todos los datos aquí tenemos todos los datos unos encima de otros y la línea azul es el promedio de todos estos datos, esta es nuestra predicción a lo largo del tiempo, si este fuera el caso y dijéramos quiero hacer un twit en el momento oportuno, uno debería twitear aquí, el jueves o aquí el viernes y así sucesivamente el agregado autoregresivo suma el factor de excitación, entonces en este pico de los datos, que sabemos fue causado por la captura de Osama Bin Laden, cuando hubo mucha actividad en twitter sobre ese tema esto no es algo que necesariamente querramos conocer porque no estoy seguro, dependiendo de qué mensaje es el que queremos difundir, podría ser que no quisiéramos quedar involucrados en esa conversación pero puede que que si quisiéramos si somos una agencia de noticias, por ejemplo, este sería un pico que quisiéramos predecir en cualquier caso queremos capturar la causa de esta actividad local, por lo que el agregado autoregresivo comienza por el modelo de estacionalidad, pero luego modela los componentes residuales basados en la historia pasada, entonces, lo podemos pensar que ajusta a una línea recta en función de la historia pasada y esa línea recta agrega algo al modelo de estacionalidad el modelo de agregación de individuos es muy sencillo, tomamos estas máquinas épsilon, estos modelos de estado que creamos para cada diferente usuario y vemos en qué estado se encuentra actualmente y en el estado en el que se encuentra actualmente nos dice cual es la probabilidad de que twiteen en el futuro próximo y si sumamos esas dos probabilidades, y los agregados nos muestran todas las probabilidades que podemos esperar conocer consistentemente el número esperado de twits que podemos ver en un futuro cercano. Tenemos dos usuarios que tienen un 50% de probabilidad de twitear en el próximo período de tiempo y cuando los sumamos, podemos esperar ver un twit, debido a que ese es el número esperado de twits que podemos ver en ese espacio La pregunta entonces es, usando estos métodos diferentes, cómo podemos predecir que el 10% del pico máximo se alcanzará en ese período? El cuartil p estrella estará en esa cola de actividad según lo predicho cuando comparamos estos modelos muchas veces si no usamos una predicción certera sino que tenemos este umbral que es la forma en que llegamos arriba, necesitamos saber cual es el número que estamos usando recibe las curvas características y lo que esto nos muestra para cada uno de estos valores de umbral es cual es la tasa pasiva predicha versus la tasa verdadera lo que vemos a partir de esto es que la suma de los modelos individuales lo hace bastante bien y podemos comparar dos conjuntos de datos, uno de 2011 y otro de 2012 y como podemos ver el modelo de estacionalidad lo hace bastante bien en 2011, no lo hace tan bien en 2012, principalmente debido a que muchos de los datos no están en el modelo pero los modelos individuales de agregación lo hacen mucho mejor, se adapta mejor y va para abajo en su performance pero no tan mal y el modelo autoregresivo lo hace un poquito mejor en este caso pero para una tasa positiva, el modelo de agregación individual es sorprendentemente exitoso y para tasas positivas bajas lo que queremos ver, si somos un grupo que quiere enviar mucho contenido probablemente tengamos un número limitado de twits que podamos enviar por día, debido a que podemos caer en spam entonces tenemos una tasa positiva baja, queremos estar seguros que nuestra predicción es la correcta, nos gustaría tener una tasa verdadera positiva tomando estos dos escenarios twitear en este espacio es donde querríamos estar, por lo que en general vamos a preferir el modelo de agregación individual, ya que es el mejor modelo para el espacio que estamos explorando entonces, qué significa todo esto como conclusiones? lo que significa es que hay un nuevo modo de construir MBA, podemos tomar el aprendizaje de máquina y darle reglas que se usan en los modelos de estado, podemos usar árboles de decisión podemos usar reglas de asociación, podemos usar otros métodos y los podemos combinar un MBA automático; no estoy diciendo que es lo que hay que hacer primero, lo primero que uno intenta es hacerlo en forma regular, mucha gente no está trabajando en proyectos particulares pero nuestro objetivo aquí es, eventualmente, desarrollar un conjunto de conocimientos y métodos que nos puedan proveer de herramientas para la gente que realiza esto constantemente y tal vez construir algo así en NetLogo; el código puede estar escrito en Python o en otros lenguajes, ok? pero también estos métodos tienen limitaciones, requieren de alta resolución de la serie de datos temporales, necesitás tener muchos datos para el modelo de estados, no para el aprendizaje de máquina más MBA para el modelo de estados necesitamos muy buenos datos en un trabajo futuro, habrá que construir una plataforma de software, que potencialmente implemente la arquitectura GPGPU no durante la ejecución, ya que la ejecución del modelo involucra a muchos agentes interactuando, pero la construcción del modelo puede necesitar que implementemos GPGPU, debido a que cada una de estas series de datos temporales pueden ser leídas por procesadores individuales que fueron construidos en forma individual para el sistema les quiero mostrar un paso más; el argumento que (...) es que estos modelos deben ser lo más predictivos posibles para poder separar los pasos próximos; pero sabemos que en algún punto se va a degradar entonces tratar de comprender mejor cuan rápido se degrada puede ser muy interesante ok, esta fue una intro rápida en un tema particular avanzado en el que estuve pensando bastante, si tienen preguntas las pueden hacer en el forum y gracias