Wednesday 25 October 2017

Z-Score Moving Average


Cómo calcular puntajes Z Una puntuación Z le permite tomar cualquier muestra dada dentro de un conjunto de datos y determinar cuántas desviaciones estándar por encima o por debajo de la media que es. 1. Para encontrar la puntuación Z de una muestra, necesitará encontrar la media, la varianza y la desviación estándar de la muestra. Para calcular la puntuación z, encontrará la diferencia entre un valor en la muestra y la media, y divídelo por la desviación estándar. Aunque hay muchos pasos a este método de principio a fin, es un cálculo bastante simple. Pasos Editar Parte Uno de Cuatro: Cálculo de la Media Edición Mira tu conjunto de datos. Necesitará ciertas piezas clave de información para calcular el promedio o el promedio matemático de su muestra. 2 Saber cuántos números hay en su muestra. En el caso de la muestra de palmeras, hay 5 en esta muestra. Sepa lo que representan los números. En nuestro ejemplo, estos números representan mediciones de árboles. Mire la variación en los números. ¿Los datos varían en un rango grande o un rango pequeño? Puede poner wikiHow en la lista blanca para su bloqueador de anuncios wikiHow se basa en el dinero del anuncio para ofrecerle nuestras guías gratuitas de cómo hacerlo. Aprender cómo . Reúna todos sus datos. Necesitará todos los números de su muestra para comenzar sus cálculos. 3 La media es la media de todos los números de la muestra. Para calcular esto, agregará todos los números de su muestra, luego divida el tamaño de la muestra. En la notación matemática, n representa el tamaño de la muestra. En el caso de nuestra muestra de alturas de árbol, n 5 ya que hay 5 números en esta muestra. Agregue todos los números de su muestra juntos. Esta es la primera parte del cálculo de la media o media matemática. 4 Por ejemplo, utilizando la muestra de 5 palmeras, nuestra muestra consta de 7, 8, 8, 7,5 y 9. 7 8 8 7,5 9 39,5. Esta es la suma de todos los números de su muestra. Compruebe su respuesta para asegurarse de que hizo su adición correctamente. Divide la suma por el tamaño de la muestra (n). Esto proporcionará la media o la media de los datos. 5 Por ejemplo, utilice nuestra muestra de alturas de árbol: 7, 8, 8, 7.5 y 9. Hay 5 números en nuestra muestra para n 5. La suma de alturas de árbol en nuestra muestra fue de 39.5. A continuación, dividir esta cifra por 5 para calcular la media. 39,5 / 5 7,9. La altura media del árbol es de 7,9 pies. La media de la población es a menudo representada por el símbolo, por lo tanto 7.9 Parte dos de cuatro: Encontrar la variación Editar Encontrar la varianza. La varianza es una cifra que representa hasta qué punto los datos de su muestra se agrupan alrededor de la media. 6 Este cálculo le dará una idea de cuán lejos se extienden sus datos. Las muestras con baja varianza tienen datos que se agrupan estrechamente alrededor de la media. Las muestras con alta varianza tienen datos que se diseminan lejos de la media. La varianza se utiliza a menudo para comparar las distribuciones entre dos conjuntos de datos o muestras. Reste la media de cada uno de los números de su muestra. Esto le dará una idea de cuánto cada número en su muestra difiere de la media. 7 En nuestra muestra de alturas de árboles (7, 8, 8, 7,5 y 9 pies) la media fue de 7,9. 7 - 7,9 - 0,9, 8 - 7,9 0,1, 8 - 7,9 0,1, 7,5 - 7,9 - 0,4 y 9 - 7,9 1,1. Hacer estos cálculos de nuevo para revisar sus matemáticas. Es muy importante que tenga las cifras correctas para este paso. Cubre todas las respuestas de las sustracciones que acabas de hacer. Necesitará cada una de estas figuras para calcular la varianza de su muestra. 8 Recuerde que en nuestra muestra restamos la media de 7,9 de cada uno de nuestros puntos de datos (7, 8, 8, 7, 7 y 9) y obtuvimos lo siguiente: -0,9, 0,1, 0,1, -0,4 y 1,1. Cuadrado de todas estas cifras: (-0,9) 2 0,81, (0,1) 2 0,01, (0,1) 2 0,01, (-0,4) 2 0,16 y (1,1) 2 1,21. Los cuadrados de este cálculo son: 0,81, 0,01, 0,01, 0,16 y 1,21. Revise sus respuestas antes de pasar al siguiente paso. Agregue los números al cuadrado juntos. Este cálculo se llama la suma de cuadrados. 9 En nuestra muestra de alturas de árboles, los cuadrados fueron los siguientes: 0,81, 0,01, 0,01, 0,16 y 1,21. 0,81 0,01 0,01 0,16 1,21 2,2 Para nuestro ejemplo de alturas de árbol, la suma de cuadrados es 2,2. Compruebe su adición para asegurarse de que tiene la figura correcta antes de seguir adelante. Divide la suma de cuadrados por (n-1). Recuerde, n es el tamaño de la muestra (cuántos números hay en su muestra). Hacer este paso proporcionará la varianza. 10 En nuestra muestra de alturas de árboles (7, 8, 8, 7,5 y 9 pies), la suma de cuadrados fue 2,2. Hay 5 números en esta muestra. Por lo tanto n 5. n - 1 4 Recuerde que la suma de cuadrados es 2.2. Para calcular la varianza, calcule lo siguiente: 2.2 / 4. 2.2 / 4 0.55 Por lo tanto, la varianza para esta muestra de alturas de árbol es 0.55. Encuentre su figura de la varianza. Necesitará esto para encontrar la desviación estándar de su muestra. 11 La diferencia es cómo se extienden sus datos es de la media o el promedio matemático. La desviación estándar es una cifra que representa cómo se extienden sus datos en su muestra. En nuestra muestra de alturas de árboles, la varianza fue de 0,55. Tome la raíz cuadrada de la varianza. Esta cifra es la desviación estándar. 12 En nuestra muestra de alturas de árboles, la varianza fue de 0,55. 0,55 0,741619848709566. A menudo se obtiene una cifra decimal muy grande cuando se calcula este paso. Está bien redondear a la segunda o tercera cifra decimal para su cifra de desviación estándar. En este caso, puede utilizar 0.74. Usando una figura redondeada, la desviación estándar en nuestra muestra de alturas de árbol es 0.74 Vaya de nuevo encontrando la media, la varianza y la desviación estándar. Esto le permitirá asegurarse de que tiene la cifra correcta para la desviación estándar. Escriba todos los pasos que tomó cuando hizo sus cálculos. Esto le permitirá ver dónde cometió un error, si lo hubo. Si usted presenta diferentes cifras de media, varianza y desviación estándar durante su cheque, repita los cálculos mirando su proceso cuidadosamente. Cuarta parte de Cuatro: Cálculo de las puntuaciones Z Editar Utilice el siguiente formato para encontrar una puntuación z: z X - /. Esta fórmula le permite calcular una puntuación z para cualquier punto de datos de su muestra. 13 Recuerde, una puntuación z es una medida de cuántas desviaciones estándar un punto de datos está lejos de la media. En la fórmula X representa la figura que desea examinar. Por ejemplo, si desea averiguar cuántas desviaciones estándar 7.5 fue de la media en nuestro ejemplo de alturas de árboles, se debería conectar 7.5 para X en la ecuación. En la fórmula, significa la media. En nuestra muestra de alturas de árboles la media fue de 7,9. En la fórmula, representa la desviación estándar. En nuestra muestra de alturas de árboles la desviación estándar fue de 0.74. Inicie la fórmula restando la media del punto de datos que desea examinar. Esto comenzará los cálculos para una puntuación z. 14 Por ejemplo, en nuestra muestra de alturas de árbol queremos averiguar cuántas desviaciones estándar 7.5 es de la media de 7.9. Por lo tanto, realizaría lo siguiente: 7.5 - 7.9. 7,5 - 7,9 - 0,4. Compruebe que tiene la media correcta y la figura de sustracción antes de proceder. Divida la figura de sustracción que acaba de completar con la desviación estándar. Este cálculo le proporcionará su puntuación z. 15 En nuestra muestra de alturas de árbol, queremos la puntuación z para el punto de datos 7.5. Ya hemos substraído la media de 7,5, y se llegó con una cifra de -0,4. Recuerde, la desviación estándar de nuestra muestra de alturas de árboles fue 0.74. - 0,4 / 0,74 - 0,54 Por lo tanto, la puntuación z en este caso es -0,54. Esta puntuación z significa que 7.5 es -0.54 desviaciones estándar de distancia de la media en nuestra muestra de altura de los árboles. Las puntuaciones Z pueden ser tanto números positivos como negativos. Una puntuación z negativa indica que el punto de datos es menor que la media y un puntaje z positivo indica que el punto de datos en cuestión es mayor que la media. Indicador / función de desviación de precio flexible: FxDeviation FxDeviation es un super indicador que traza Una amplia variedad de funciones de desviación o desplazamiento en una carta desde dentro de un solo indicador. Es un indicador quotsisterquot para el indicador de trazado de cinta flexible, RibbonsPlotter. FxDeviation traza la desviación del precio actual de cualquier punto de referencia de línea central que pueda ser creado por RibbonsPlotter. Fig. 1. Cintas de la banda de Bollinger y indicador de la hermana FxDeviation que muestra el valor de la desviación del precio de cierre de la línea central. Esta Banda de Bollinger (Cinta). Por ejemplo, es un tipo de indicador bien conocido en el que la línea central se define como una media móvil simple y el desplazamiento vertical utilizado para calcular las bandas por encima y por debajo de esta media móvil es un múltiplo de la desviación estándar. El precio de cierre en la barra más derecha es casi 2 bandas por debajo de la línea central. La desviación correspondiente, medida en unidades de desviación estándar de la línea central media móvil, es -1,95. Al definir la desviación en unidades de desviación estándar, la desviación también se conoce como Z-Score. Sin embargo, FxDeviation es capaz de representar muchos otros tipos de desviaciones, como unidades ATR, porcentaje de precio, error estándar, etc. FxDeviation también puede representar múltiples desviaciones en el mismo gráfico. Por ejemplo, el siguiente gráfico muestra el gráfico simultáneo de la desviación del alto (verde) y el bajo (rojo) de cada barra desde una línea central de regresión lineal: Fig. 2 Desviación de Alto y Bajo de cada barra de una línea central de Regresión Lineal. FxDeviation debe utilizar los mismos parámetros de entrada para la línea central y la función de desviación como el indicador RibbonsPlotter de la salida para reflejar la acción de precio correspondiente en el indicador de cinta. La flexibilidad de FxDeviations surge del hecho de que el usuario puede especificar la función de línea central independientemente de la función de desplazamiento, haciéndola extremadamente flexible. La línea central, o referencia, es especificada por el usuario mediante un parámetro de entrada RefID. Y puede ser cualquiera de las siguientes funciones: Promedio móvil aritmético simple (AMA) Promedio móvil exponencial (EMA) Línea de regresión lineal (LR) Kaufman Media móvil adaptativa (KAMA) Tillson T3 Promedio móvil exponencial triple (T3) Promedio móvil Jurik (JMA) Valor promedio ponderado del volumen (VWAP) El valor fijo (cero, por ejemplo, representará la función de desviación sobre el eje cero). La función de Promedio móvil de Jurik requiere que el usuario compre este complemento Tradestation de Jurik Research. La llamada a esta función está comentada ya que la mayoría de los usuarios no tendrán licencia para usar esta función. Aquellos que tienen licencia pueden descomentar la sección de código apropiada en la función FxDeviation para implementar esta característica. El usuario puede especificar la función de desviación utilizada para producir las cintas independientemente de la función de línea central (referencia) especificando un parámetro de entrada, DevID. La función de desviación puede ser cualquiera de los siguientes: Desviación Estándar (Bandas de Bollinger) Error Estándar (Bandas de Jon Andersen) Rango Promedio Real - ATR (Bandas de Keltner) Jurik Promedio Rango Real JATR (ATR usando Promedio Móvil Jurik) Porcentaje de Puntos ¿Por qué usar la FxDeviation Indicador El indicador FxDeviation consolida la capacidad de representar una gran variedad de desviaciones en un solo indicador. Este indicador entonces puede reemplazar varios otros indicadores y proporciona una interfaz de usuario consistente para esta colección de funciones. Los valores trazados por el indicador provienen de una función FxDeviation multiusos correspondiente llamada por el indicador. Esta función también se puede llamar desde una estrategia. Dado que la misma función genera valores tanto para la estrategia como para el indicador FxDeviation, el usuario puede estar seguro de que los valores serán los mismos, siempre que los parámetros de entrada coincidan. Una función única de desviación multi-propósito tiene muchos beneficios para el desarrollador de estrategias de negociación automatizadas: Este es el indicador perfecto para usar en una estrategia de inversión a la media o una estrategia que se basa en la desviación de precio de un valor de referencia para iniciar vientos alisios. El optimizador puede probar muchos tipos diferentes de estrategias comerciales sin alterar la codificación básica de la estrategia, ya que el proceso de optimización puede, por ejemplo, cambiar entre las desviaciones Bollinger Band, Keltner Band y Percentage Band sin requerir una manipulación manual o duplicación del código de estrategia. Las revisiones y actualizaciones de códigos pueden realizarse en un solo lugar, sin necesidad de duplicar los cambios a lo largo de varios indicadores o estrategias diferentes. Una interfaz de usuario consistente a través de muchas funciones separadas hace que el código sea más fácil de usar y por lo tanto menos propenso a errores inadvertidos. FxDeviation Examples RibbonPlotter es capaz de producir una gran variedad de gráficos de cinta. Algunos de los ejemplos que se muestran a continuación representan las funciones de cinta o banda más comunes y conocidas. La función hermana, FxDeviation. Se muestra inmediatamente a continuación e indica la desviación del precio de cierre de la línea central. Las cintas de Bollinger se forman a partir de una línea central media móvil aritmética y una función de desplazamiento de StdDev. Este gráfico muestra bandas en desplazamientos de 1, 2 y 3 desviaciones estándar. Las bandas se ensanchan característicamente cuando el precio es tendencial y estrecho durante la consolidación. El precio de cierre de la última barra está justo por encima de la segunda banda inferior. FxDeviation muestra el valor de la desviación es -1.95 Anderson Ribbons utiliza una línea de regresión lineal y una función de desviación StdErr. Cada banda representa un incremento de error estándar lejos de la línea central. La línea central de regresión lineal abraza el precio más de cerca que un promedio móvil, y las bandas de error estándar no se expanden significativamente cuando la acción del precio es tendencia, a diferencia de Bollinger Bands. En cambio, las bandas estrechas indican que el precio está tendiendo consistentemente cerca de la línea de regresión. Las bandas anchas sugieren una volatilidad creciente del precio lejos de la línea de regresión y normalmente se ven durante una ruptura en una tendencia. Esta cinta representa una línea central del promedio móvil de Jurik (JMA) y una desviación porcentual de la línea central. La propiedad Jurik Moving Average es popular debido a su suavidad y bajo retraso. Se debe comprar como un complemento a Tradestation. El Tillson T3 Moving Average es similar y tiene casi la suavidad y el retraso del Jurik, y está disponible para los usuarios de Tradestation como una función incorporada. El Tillson T3 Moving Average también está disponible para su uso en FxDeviation. FxDeviation Parámetros de entrada Precio1 a precio3 son los precios de entrada utilizados para calcular las desviaciones de la línea central. El usuario podría, por ejemplo, trazar la desviación del alto y el bajo y el cierre de cada barra en un solo gráfico. RefPrice es el precio utilizado para calcular la línea de referencia a partir de la cual se mide la desviación. Puede ser, por ejemplo, Close. O si se desea un filtrado adicional de la línea central, AvgPrice. RefID selecciona la función a utilizar para calcular la (s) línea (s) central (es). Las otras funciones utilizadas para calcular la línea central (AMA, EMA, LR, etc.) son números en orden de sus parámetros de longitud después de RefID. Para seleccionar una línea central de promedio móvil exponencial, por ejemplo, el usuario debería introducir 2 ya que EMALength aparece en la segunda posición después de RefID. El usuario debería especificar un RefID de 3, 4 o 5 para elegir una línea central que consista en una línea de regresión lineal, una media móvil de Kaufman o una media móvil Tillson T3, respectivamente, ya que este es el orden en que sus parámetros de longitud correspondientes aparecen en la entrada Lista de parámetros. DevID es el valor de la función de desviación utilizada para medir unidades de desviación de PriceRef. Ref1-Ref5 son referencias de valor que también se mostrarán, si no son cero. Por ejemplo, para dibujar una línea de referencia cero en el gráfico de desviación, utilice un número distinto de cero muy cercano a cero, como 0,00001. Como se muestra a la derecha. Si desea ver cuándo la función de desviación alcanza o - 2,0, a continuación, agregue dos valores de referencia adicionales, Ref1 2 y Ref2 -2. Ayuda de Memoria de Mercado y Soporte Definición Z Definición En las estadísticas, Z-score muestra una relación de puntuaciones con la media . En el análisis técnico, el puntaje Z mide la diferencia entre el precio de cierre del promedio móvil del período n dado la desviación estándar del período n. Un Z-score de cero significa que el precio de cierre es el mismo que su promedio móvil. Z-score podría ser positivo o negativo, e indica si el precio de cierre está por encima o por debajo de su media móvil. Z-score es positivo cuando el precio de cierre está por encima de la media móvil y negativo cuando el precio de cierre está por debajo de la media móvil. Z-score Estrategia Z-fluctúa alrededor de la línea cero sobre la base de la relación de precio de cierre a su media móvil. Z-score se utiliza para identificar la volatilidad del precio. Al igual que las bandas de Bollinger, Z-score utiliza una desviación estándar seleccionada por el usuario como la banda superior y la banda inferior de alcance volátil. Cuando Z-score rompe a través de la desviación estándar, la volatilidad se está expandiendo. Modelar la volatilidad en los mercados financieros tanto como un arte como una ciencia porque los precios de las acciones no se consideran normalmente distribuidos y en ocasiones pueden estar sujetos a largas colas. Z-score Chart En el análisis técnico, Z-score funciona como un oscilador que fluctúa por encima o por debajo de la línea cero. Heres un gráfico de SPY con un período de 20 días y una desviación estándar. Heres un gráfico de SPY con un período de 20 días y dos desviaciones estándar. Comparando más de dos gráficos, Z-score con dos desviaciones estándar destaca sólo los más extremos se aleja de la media mientras que una desviación estándar resalta significativamente más de los datos históricos. Obtenga una ventaja sobre sus competidores con analítica avanzada y algoritmos de reconocimiento de patrones. Jamie L. Esa pregunta debe ser respondida por su exploración de python. Python es fácilmente el lenguaje más engañoso por ahí. Los resultados de los resultados de los métodos nunca son lo que parecen (inicialmente). Uno mira esa ecuación: y uno piensa, que hay sólo un solo número justo. Tus ojos te mentirán una y otra vez mientras aprendes lo que realmente se está creando y manipulando aquí. A continuación te llevo a través de lo que está realmente en ese objeto quotzquot. Pero para ayudarte (y yo) a entender los objetos en python, me he estado forzando recientemente a usar esta sintaxis con la historia, ya que me recuerda que lo que regresa de la historia es mucho más complejo que una simple lista de precios. Es un objeto de datos masivo similar, en mi mente, a una baraja de cartas. La palabra quotdataframequot no significa nada para mí, así que utilizo la palabra quotdeckquot mientras visualizo lo que hay en ese objeto quotcloseDeck como una baraja de cartas, cada carta tiene una tabla de filas y columnas en la que los precios de cierre se representan una tarjeta por SID (security) Que se encuentra en el objeto de datos que utiliza el método history para construir el closeDeck. Si desea sólo una de las tarjetas (que contiene los precios de cierre para una sola seguridad), entonces usted tiene que pedir a la cubierta para que sólo una tarjeta. Pero esa tarjeta todavía no es lo que quieres, sigue leyendo. Además, cuando se manipula las cubiertas y se preguntan a las cubiertas cosas como medios y stddevs y tal, no puede volver sólo números individuales, uno por cada tarjeta (dependiendo de lo que le pidió a la mesa). No, lo que generalmente obtendrá es otra pila de tarjetas y en cada tarjeta hay una serie, en este caso una tabla de dos columnas, datetime y quotvaluequot. Le dará otra baraja de cartas y en cada tarjeta hay una serie de valores de fecha y hora, siendo cada valor la desviación estándar hasta ese punto en el tiempo calculado por talib. STDDEV. Por lo tanto, esta llamada si miramos los tipos utilizados se parece más a esto: Y si depura tu código y para y echa un vistazo a zScoreDeck después de esa ecuación you39ll encontrar que zScoreDeck es una baraja de cartas (un marco de datos), con cada tarjeta , Una por seguridad, que contiene una serie de valores de tiempo, con sólo la última es lo que usted está pensando es la puntuación de quotZquot. En pocas palabras, para obtener este último valor de ese zScoreDeck, necesitas preguntar tanto a la baraja de la tarjeta como pedirle a la tarjeta su último valor. LastSPYZScore será un valor único que ahora puedes trazar. Jamie, los puntos de MarketTech están encendidos. Como usuario / víctima TOS compañero, daré un ejemplo más específico: def ma ExpAverage (close, 10) y luego decimos cosas como 39ma39 para obtener el valor actual (una abreviatura para ma0), y ma1 para el anterior 1, ma2 para La segunda vuelta, etc. En TOS, todas o casi todas las variables son realmente array-of-double (números de coma flotante de doble precisión) En Q, la mayoría de las cosas son estructuras de datos pandas. Usted debe leer sobre los pandas, y jugar con él en python scripts sin conexión (el shell ipython es muy útil para esto). Muchas de las cosas que nosotros haríamos como si fueran. 39 en TOS son una serie de pandas. Que sigue siendo básicamente un conjunto de fantasía-pantalones con indización de aspecto gracioso. La indización en pandas es digna de. Así, mira en línea, you39ll encontrar un montón de páginas en las muchas maneras de hacerlo y obtener muy confundido y encantado. Que 39.iloc-139 es básicamente TOS: 39ma139. Pasar unas horas jugando con los pandas sin conexión, y you39ll empezar a obtener la caída de la misma. Lo poderoso que puedes hacer en pandas (y por lo tanto en Q) es que puedes hacer operaciones matemáticas en arreglos completos de una sola vez, sin un bucle. p. ej. Data39this39 2 data39that39 obtendrá una nueva gama de valores, 2X el valor de 39that39 de una sola vez. 39zscores (close - means) / sigmas39 es un ejemplo de lo mismo. Así que zscores es una matriz (ok, es realmente una serie, pero tienes la idea.). Siendo una matriz, para obtener cualquier valor en un punto en el tiempo, es necesario indexar en él. Y no supone que la abreviatura thinkscript del nombre de la variable sea la misma que el valor más reciente. El más reciente está en. iloc-1 (a menudo, pero de nuevo, leer sobre las maravillas de la indexación). Sol M. Con respecto a ZScore, absolutamente. Los sistemas de negociación de seguridad única basados ​​en análisis técnicos son una tarea errónea. No importa qué TA usted aplica, cuánto, cómo es variado o cómo tricksy. He demostrado esto a mí mismo sobre millones de backtests válidos sobre cientos de tipos de estrategia (cada uno de los cuales tiene miles de variaciones de escenario). Me gustó especialmente la imagen en la referencia vinculada, quotWeekly curva de equidad submarina My, qué gráfico de lo que el comerciante permitirá un sistema para pasar años bajo el agua Todas las ganancias vienen en chorros estrechos. Si por casualidad comienzas tu estrategia (como la Q39s Open está comenzando la suya) en un tiempo bastante malo, no puedes ver nada más que rojo por meses y meses. ¿Quién se pegaría con tal sistema? El único medio posible de evitar tal golpeo pudo estar en usar un sistema como Quantopian para negociar una cesta de valores / ETFs usando las herramientas como el ZScore. Y quiero decir que sí. Así que finalmente he descubierto esto (o lo que parece). El indicador no es el mejor, por desgracia - pero creo que tiene algún valor cuando se combina con otra estrategia. Como dice el refrán: el hacer lo que todo el mundo está haciendo, lo está haciendo mal. Yo estoy moviendo esta estrategia en Matlab como creo que es la manera más fácil para mí manipular el código. En futuras ediciones, quisiera quitar las constantes para mi longitud media móvil - necesito una manera de tener este rango para adaptarse a la volatilidad o convergencia de los tres promedios móviles. Moving Z-Score El modelo de Z-score móvil registra anomalías en un Conjunto de datos secuencial univariante, a menudo una serie de tiempo. Antecedentes El movimiento Z-score es un modelo muy simple para medir la anomalía de cada punto en un conjunto de datos secuenciales como una serie de tiempo. Dado un tamaño de ventana. El Z-score móvil es el número de desviaciones estándar cada observación está lejos de la media, donde la media y la desviación estándar se calculan sólo sobre las observaciones anteriores. Donde la media móvil y la desviación estándar en movimiento son Para las primeras observaciones de la serie, la puntuación Z en movimiento no está definida porque hay suficientes observaciones para estimar la media y la desviación estándar. Para la herramienta GraphLab Create, tomamos el valor absoluto del Z-score en movimiento, de modo que la puntuación de anomalía varía de 0 a infinito, con puntuaciones más altas indicando un mayor grado de anomalía. Datos y contexto El puente de Fremont en Seattle es un lugar popular para los ciclistas cruzar entre las mitades meridional y norte de la ciudad (y sucede estar justo al lado de la oficina de Turi). Un contador de tráfico registra el número de bicicletas que cruzan el puente cada hora, y los datos se publican en el portal de datos de Seattle. Utilizaremos el modelo GraphLab Create Moving Z-score para buscar anomalías en estos datos de series de tiempo. Los datos se pueden leer directamente en un SFrame desde la URL de portalaposs de datos de Seattle (el archivo es de aproximadamente 800 KB). El tráfico de ciclos se cuenta en cada lado del puente, pero combinamos estos conteos en un único total por hora. Como un último paso de formateo, convertimos el conjunto de datos en un TimeSeries mediante la codificación de la columna timestamp como datetime. datetime tipo y la configuración de esa columna como el índice. Mediante el uso de una ventana en movimiento, el modelo The Moving Z-score se adapta bien a la deriva distribucional, pero no maneja bien la estacionalidad de alta frecuencia. En nuestro conjunto de datos sobre tráfico de bicicletas tenemos la estacionalidad por hora, por día de la semana y por temporada del año. En particular, los recuentos son bajos durante las horas de la noche, bajos los fines de semana y bajos en el invierno. Usamos dos estrategias para lidiar con esto: primero, sumamos los recuentos con el método de remuestreo para obtener un recuento diario de tráfico y en segundo lugar, dejamos los días de fin de semana completamente y nos concentramos sólo en el tráfico de los días de semana. Más adelante en este capítulo, los ejemplos muestran cómo se pueden actualizar los modelos de Z-Score móvil con nuevos datos. Para hacerlo más interesante, dejamos de lado los últimos meses de datos para usar cuando lleguemos a ese capítulo. Nuestro tráfico final de datos tiene 693 conteos diarios de tráfico de bicicletas, del 3 de octubre de 2012 al 29 de mayo de 2015. Los datos son relativamente ruidosos a simple vista, pero claramente tiene una estacionalidad a largo plazo. Movimiento básico Z-Score Uso El modelo Z-score móvil toma un SFrame o TimeSeries como entrada (tráfico en este caso), el nombre de la columna que contiene la serie a modelar y el número de observaciones en la ventana en movimiento. Para este análisis nuestra característica es la columna quotcountquot y usamos una ventana de 15 días, o tres semanas de trabajo. El resultado primario del modelo Z-score móvil es el campo de puntuaciones. Este objeto TimeSeries contiene la serie original (count), el índice de fila original (timestamp), el promedio móvil, la puntuación de anomalía y el momento en que se creó el modelo (para la actualización del modelo, véase más adelante). Para el modelo de puntuación Z móvil, la puntuación de la anomalía es el valor absoluto de la puntuación Z en movimiento. Al igual que con todos los modelos GraphLab Create Anomaly Detection, esta puntuación oscila entre 0 y el infinito, con puntuaciones más altas indicando un mayor grado de quotanomalousnessquot. Si el dataset de entrada es un SFrame en lugar de un TimeSeries. El campo de puntuaciones es también un SFrame. Tenga en cuenta que las primeras 15 filas de las puntuaciones de salida donapost tienen un promedio móvil o Z-score. Esto se debe a que la ventana móvil no tiene suficientes datos para esas observaciones. El parámetro minobservations indica el número mínimo de observaciones necesarias para calcular la puntuación de la anomalía por defecto es igual que el tamaño de la ventana. Pero establecerlo para que sea menor reduciría el número de puntuaciones de anomalías que faltaban, tanto al principio del conjunto de datos como después de que faltaran valores en los datos de entrada. Típicamente el objetivo final es tomar una decisión binaria final si cada punto es quottypical o quotanomalousquot. Una buena manera de hacer esto es analizar la distribución aproximada de las puntuaciones de la anomalía con la herramienta SArray. sketchsummary y luego obtener un umbral para la puntuación de la anomalía con el método de cuantito de summaryaposs de summary. Aquí declaramos que el dos por ciento superior de los datos son anomalías. Itaposs claro que algunas de las anomalías se asocian con las vacaciones, pero otros donapost tienen una explicación obvia. Itaposs ciertamente interesante que todos los días anómalos tienen cuentas más bajas que la media móvil para esos días. Para este tipo de datos univariados, itaposs muy útil para trazar las anomalías de la serie original. Actualización del modelo con nuevos datos La puntuación Z móvil es única entre los modelos de GraphLab Create en que se puede crear un nuevo modelo actualizando un modelo existente. Esto permite que el nuevo modelo utilice el final de la serie modelaposs existente para calcular las Z-puntuaciones en movimiento para los primeros puntos de los nuevos datos (evitando el aposNoneaposs al comienzo de nuestra primera salida modelaposs). Para este análisis, el uso de las 169 observaciones desde el 1 de junio de 2015 como datos quotnewquot. La creación de un nuevo modelo con el método de actualización no cambia el modelo original. El nuevo modelo se ve y huele igual que nuestro modelo original, pero hay dos pequeñas diferencias en los resultados. En primer lugar no hay más valores faltantes en las puntuaciones TimeSeries. Porque la ventana móvil se llena a partir de los datos de modelaposs anteriores. La segunda diferencia es que el modelupdatetime ya no es idéntico para cada observación. La nueva salida de modelaposs contiene las últimas observaciones de windowsize para que podamos ver cómo se calculan las nuevas Z-scores, pero éstas se marcan con el tiempo de creación del modelo original. Podemos usar este tiempo para separar las puntuaciones, de modo que podemos trazar solo las nuevas anomalías del dataaposs. Lectura adicional Jake Vanderplas escribió un análisis en profundidad de los datos del tráfico de la bicicleta del puente de Fremont. El objetivo de su análisis no es la detección de anomalías, pero es una lectura excelente.

No comments:

Post a Comment