Capítulo 6. Tecnologías de Soporte a la Arquitectura de Procesamiento
6.2 Descarte Selectivo basado en Z-Score y Metadatos de Medición
6.2.1 Búfer de Datos y Estimación Incremental
A partir de la definición de proyectos intercambiada en los nodos y capas de procesamiento en la nube (Ver BriefPD en Capítulo 3), es posible lograr diferentes organizaciones del búfer de datos en los adaptadores de mediciones que sirvan para ajustar diferentes escenarios, por ejemplo, de recursos y capacidad de almacenamiento limitada en un nodo.
Figura 43 Perspectiva Conceptual de la Organización del Búfer de Datos alineado con el Esquema de Intercambio de Mediciones
La Figura 43 sintetiza la organización y comportamiento global del búfer de datos para soportar descarte selectivo y detectores de cambio en el adaptador de medición introducidos en la Figura 38. Estas organizaciones se crean dinámicamente en base a la configuración del nodo, por ejemplo, si desea o no emplear detectores de cambio, barreras temporales, entre otras funcionalidades [134]. El descarte selectivo consiste en
172
retener las medidas asociadas con aquellas métricas de mayor importancia para el proyecto de medición cuando la capacidad de procesamiento se ve comprometida.
Dado que esta importancia relativa para las métricas es fijada por el director de proyecto en base a la importancia de la métrica para el monitoreo del contexto o entidad, posee un impacto directo en la distancia compuesta al momento de calcular la similitud o no en términos de comportamiento esperado. En otras palabras, si se debe calcular la distancia compuesta es lógico que se priorice las medidas más importante. Por ejemplo, siguiendo el ejemplo de la humedad del suelo de la Tabla 28, las medidas a informar prioritariamente serían 1º) Humedad del Suelo (0,6) seguido por la temperatura ambiental o la humedad ambiental indistintamente dado que ambas tienen una ponderación de 0,2.
Como se introdujo en la sección previa, la transmisión ocurre cuando el adaptador recibe la alarma desde la barrera temporal o del detector de cambio de datos. A partir de dicho momento, se genera el mensaje con los datos del búfer. La sección 5.2.1 describió la organización del esquema de intercambio de mediciones y cómo los metadatos se embeben junto con las medidas basados en la definición del proyecto de medición. Por ejemplo, Un mensaje CINCAMIMIS en XML parcial es descripto en la Figura 43. Se indica el adaptador de medición que actúa como traductor entre las medidas planas de los sensores y la generación del mensaje (Estrella con un 1, etiqueta dsAdapterID), la fuente de las medidas (etiqueta dataSourceID en rectángulo con estrella 2), el proyecto de medición al que pertenecen (etiqueta projectID en rectángulo con estrella 2), la categoría de entidad (etiqueta entityCategoryID en rectángulo con estrella 2), la entidad en particular con el que se asocian las medidas (etiqueta idEntity en rectángulo con estrella 2), la métrica asociada con las medidas (etiqueta idMetric en estrella 3), la/s medida/s deterministas o no (estrella 4 se asocia con medidas estimadas). Así, cuando la recolección de datos de PAbMM recibe los flujos de medidas puede procesarlos guiado por la semántica de sus metadatos.
Anteriormente se introdujo la estimación incremental de la media y desviación para los detectores de cambio, aunque tales estimaciones no se limitaban solo a los datos del búfer sino a todos los que habían procesados. Ahora, si se deseare tener una aproximación de la media y desviación incremental limitado a los datos del búfer, debiera considerarse no solo la incorporación de nuevas medidas sino también el momento en que se descartan las antiguas. Esto es importante porque si se desea obtener una puntuación Z se requieren media y desviación para estandarizar sus valores evitando el efecto de los valores atípicos (outliers) tal y como expone la Ecuación 21.
Ecuación 21 Fórmula para la Puntuación Z
𝑍𝑠𝑐𝑜𝑟𝑒 = 𝑥 − 𝑥̅
𝑠
173
Dado que se reciben medidas continuamente, debe abordarse una estrategia incremental de estimación de la media aritmética como expone la Ecuación 22 para un tiempo “t” a partir de la estimación del tiempo “t-1”.
Ecuación 22 Fórmula de Cálculo Incremental de la Media Aritmética
𝑥̅𝑡= 𝑥̅𝑡−1∗ 𝑛𝑡−1+ 𝑥𝑡 𝑛𝑡−1+ 1
La desviación estándar es estimada a partir de la varianza muestral utilizando la Ecuación 23. En este sentido, es importante mencionar que la estimación emplea la media aritmética actual disponible al momento en que la medida arriba.
Ecuación 23 Fórmula de Cálculo Incremental de la Varianza Muestral
𝑠𝑡 = √∑𝑛𝑡=1(𝑥𝑡− 𝑥̅ )𝑡 2 𝑛 − 1
La Ecuación 24 esquematiza dicha situación, donde la media aritmética por cada instante no es necesariamente igual a su predecesora o sucesora debido a la actualización asociada con cada nueva medida arribada.
Ecuación 24 Ejemplo del Cálculo Incremental de la Varianza Muestral
𝑠4 = √(𝑥1− 𝑥̅1)2+ (𝑥2− 𝑥̅2)2+ (𝑥3− 𝑥̅3)2+ (𝑥4− 𝑥̅4)2 4 − 1
La implementación de la Ecuación 23 y la Ecuación 24 requieren mantener en memoria los acumuladores junto con el número de medidas procesadas. Sin embargo, tal y como se introdujo en la sección anterior, el búfer de datos se comporta como una ventana lógica descartando las medidas antiguas ante el arribo de las nuevas cuando su capacidad está completa. Ello afectaría las sumas de las ecuaciones mencionadas dado que parte de tales datos sería descartados. Para evitar esta situación la Ecuación 25 y la Ecuación 26 se ajustaron siguiendo el supuesto que el parámetro maxMeasures (cantidad máxima de slots en el búfer de datos) se fija arbitrariamente para este ejemplo en 100.
Ecuación 25 Cálculo Incremental de la Media Muestral con Descarte de Medidas
𝑥̅𝑡=𝑥̅𝑡−1∗ 𝑛𝑡−1+ 𝑥𝑡− 𝑥𝑡−100 𝑛𝑡−1+ 1 − 1
174
La ecuación de la media muestral sustrae el valor descartado (es decir, 𝑥𝑡−100), y decrementa en 1 el denominador, al tiempo que el nuevo valor se incorpora (es decir, 𝑥𝑡).
Ecuación 26. Cálculo Incremental de la Varianza Muestral con Descarte de Medidas
𝑠𝑡 = √(∑𝑛𝑡=1(𝑥𝑡− 𝑥̅ )𝑡 2) − (𝑥𝑡−100− 𝑥̅𝑡−100)2 𝑛 − 1 − 1
En la Ecuación 26 sucede algo similar a la Ecuación 25. La diferencia relacionada con el vector de medidas más antiguas a ser descartada (es decir, (𝑥𝑡−100− 𝑥̅𝑡−100)) es decrementada del acumulador al mismo instante que en la nueva diferencia se incorpora. El denominador se decrementa en 1 mientras que ´n´es incrementado en paralelo debido a la nueva medida, teniendo siempre como límite superior el parámetro maxMeasures (es decir, 𝑛 ≤ 𝑚𝑎𝑥𝑀𝑒𝑎𝑠𝑢𝑟𝑒𝑠). La implementación de esta última ecuación requiere que para cada vector de medidas en memoria, se posea la media estimada en cada instante alineado con el proceso de descarte.
Ecuación 27 Alternativa para el Cálculo Incremental de la Varianza Muestral
𝑠𝑡 = √ 𝑛
𝑛 + 1∗ [𝑠𝑡−12 +(𝑥𝑡− 𝑥̅𝑡−1)2 𝑛 + 1 ]
La Ecuación 27 plantea una alternativa al cálculo incremental de la varianza muestral sin necesidad de almacenar medidas en memoria como sugiere la Ecuación 26. Esta alternativa requiere conocer las estimaciones previas de la desviación y media aritmética junto con el número de observaciones. Por un lado, la Ecuación 26 va progresivamente ajustando su valor de acuerdo a los últimos maxMeasures datos en consonancia con la estimación de la media, permitiendo una mejor caracterización de este. Por otro lado, la Ecuación 27 estima la varianza desde el principio de la serie de datos y no limitado a los últimos maxMeasures valores. De este modo, la Ecuación 27 sería una mejor alternativa para estudiante la estimación de la desviación global para la serie de datos cuando sea requerido. Sin embargo, la Ecuación 26 sería una mejor opción cuando se requiere emplear una suma parcial para estimar la covarianza entre métricas, dado que la desviación estimada debiera ser explicativa de los datos contenidos en el búfer de datos.
Sean “i” y “j” dos métrica a ser implementadas en el adaptador de medición a través de sus sensores, la covarianza entre ellos podría ser calculada basado en la Ecuación 26 como se expone en la Ecuación 28.
175 Ecuación 28 Cálculo de la Covarianza Muestral Incremental
𝐶𝑜𝑣(𝑖, 𝑗) =[∑(𝑥𝑖− 𝑥̅𝑖) ∗ (𝑥𝑗− 𝑥̅𝑗)] − [(𝑥𝑖−100− 𝑥̅𝑖−100) ∗ (𝑥𝑗−100− 𝑥̅𝑗−100)]
𝑛 − 1 − 1
La Ecuación 28 requeriría mantener en memoria las diferencias para sustraerlas cuando los vectores de datos son descartados del búfer. De este modo, dado un número de métricas “m” (en el proyecto de medición) y utilizando la anterior ecuación, es posible estimar una matriz de covarianza incremental de acuerdo a la ventana lógica del búfer como indica la Ecuación 29.
Ecuación 29 Cálculo de la Matriz de Covarianza Muestral Incremental
𝐶𝑜𝑣 = [
𝑠21 … 𝐶𝑜𝑣1𝑚
… … …
𝐶𝑜𝑣𝑚1 … 𝑠2𝑚 ]
La matriz de covarianza descripta en la Ecuación 29 es triangular debido a que 𝐶𝑜𝑣(𝑖, 𝑗) = 𝐶𝑜𝑣(𝑗, 𝑖). Ello permite implementar un arreglo unidimensional mapeando los elementos de acuerdo con una matriz triangular, optimizando el uso de memoria.
Adicionalmente, utilizando la matriz anterior es posible estimar la correlación de Pearson en forma incremental como indica la Ecuación 30.
Ecuación 30 Cálculo de la Correlación de Pearson Incremental
{
∀𝑖 ≠ 𝑗: 𝑟𝑖,𝑗 = 𝐶𝑜𝑣(𝑖, 𝑗)
√𝐶𝑜𝑣(𝑖, 𝑖) ∗ √𝐶𝑜𝑣(𝑗, 𝑗)= 𝐶𝑜𝑣(𝑖, 𝑗) 𝑠𝑖∗ 𝑠𝑗
∀𝑖 = 𝑗: 𝑟𝑖,𝑗 = 𝐶𝑜𝑣(𝑖, 𝑗)
√𝐶𝑜𝑣(𝑖, 𝑖) ∗ √𝐶𝑜𝑣(𝑗, 𝑗)= 𝑠2𝑖 𝑠𝑖 ∗ 𝑠𝑖 = 1
La librería pabmmCommons disponible en GitHub bajo los términos de la licencia Apache 2.0, contiene una implementación de referencia para las fórmulas aquí descritas junto con la articulación correspondiente con el búfer de datos.