Un método de detección de QRS en tiempo real basado en el promedio móvil que incorpora con la destrucción de wavelet Szi-Wen Chen a. . , Hsiao-Chen Chen a. , Hsiao-Lung Chan b. Departamento de Ingeniería Electrónica, Universidad de Chang Gung, Universidad de Chang Gung, Kwei-Shan, Tao-Yuan 333, Taiwán Departamento de Ingeniería Eléctrica, Universidad de Chang Gung, Kwei-Shan, Tao-Yuan 333, En este artículo se propone un método de cálculo basado en la media móvil simple para la detección de QRS en tiempo real. Además, para el preprocesamiento de la señal, nuestro algoritmo de detección también incorpora un procedimiento de eliminación de descomposición basado en wavelets para reducir eficazmente el nivel de ruido de los datos del electrocardiograma (ECG). La estructura computacional global del algoritmo propuesto permite que la detección de QRS sea realizada e implementada en tiempo real con alta eficiencia de tiempo y memoria. El rendimiento del algoritmo se evaluó en base a la base de datos Arritmia MIT-BIH. Los resultados numéricos indicaron que el nuevo algoritmo finalmente alcanzó aproximadamente 99,5 de la tasa de detección para la base de datos estándar, y también, podría funcionar confiable incluso bajo la condición de mala calidad de la señal en los datos medidos de ECG. Palabras clave Electrocardiograma (ECG) Media móvil de detección QRS Wavelet denoising Autor correspondiente. Tel. 886 3 2118800x5792 fax: 886 3 2118507. Copia de copyright 2006 Elsevier Ireland Ltd. Todos los derechos reservados. Las cookies son utilizadas por este sitio. Para obtener más información, visite la página de cookies. Copyright 2016 Elsevier B. V. o sus licenciantes o contribuyentes. ScienceDirect es una marca registrada de Elsevier BVRainfall análisis de datos utilizando el modelo de media móvil (MA) y modelo wavelet multirresolución inteligente para la evaluación del ruido para mejorar la precisión de predicción En línea: 29 de julio de 2014 Recibido el: 17 de enero de 2013 Aceptado: 14 de julio de 2014 Cite Este artículo como: Akrami, SA El-Shafie, A. Naseri, M. et al. Neural Comput Applic (2014) 25: 1853. doi: 10.1007 / s00521-014-1675-0 2 Citas 237 Descargas El pronóstico de precipitaciones pluviométricas y la aproximación de su magnitud tienen un papel enorme e imperativo en la gestión del agua y la predicción de escorrentía. El objetivo principal de este trabajo es obtener la relación entre las series de tiempo de lluvia obtenidas de la transformada wavelet (WT) y el promedio móvil (MA) en la cuenca del río Klang, Malasia. Para este propósito, se aplicaron los Haar y Dmey WTs para descomponer las series de tiempo de precipitación en 7, 10 niveles de resolución diferentes, respectivamente. Se llevaron a cabo varios estudios de casos de preprocesamiento basados en MAs de 2, 3, 5, 10, 15, 20, 25 y 30 meses para descubrir una tendencia a más largo plazo en comparación con una MA de más corto plazo. La información y los datos se recopilaron de Klang Gates Dam, Malasia, de 1997 a 2008. En cuanto al comportamiento, la serie temporal de lluvias de 10, 15, 20 y 30 días se descompone en coeficientes de aproximación y detalles con diferentes tipos De WT. El coeficiente de correlación R 2 y el criterio de error cuadrático medio radicular se aplican para examinar el rendimiento de los modelos. Los resultados muestran que existen algunas similitudes entre los filtros MA y los filtros de subescalas de aproximación wavelet debido a la eliminación del ruido. Por otra parte, los resultados obtenidos que la alta correlación con MAs se puede lograr a través de Dmey WT en comparación con Haar wavelet de precipitación de datos. Además, las señales limpias podrían utilizarse como insumos modelo para mejorar el rendimiento del modelo. Por lo tanto, las técnicas de descomposición de señales con el propósito de preprocesamiento de datos podrían ser favorables y podrían ser apropiadas para la eliminación de los errores. Desarrollo de un modelo no lineal basado en wavelet-ANFIS para el pronóstico de lluvias en la presa de Klang Gates. (2006) Preprocesamiento de datos para la predicción de caudales fluviales utilizando redes neuronales: transformaciones wavelet y partición de datos. Phys Chem Earth 31: 11641171 CrossRef Erudito de Google Chang FJ, Chen L (1998) Algoritmo genético codificado real para el manejo de reservas de control de inundaciones basado en reglas. (2009) Reconocimiento de patrones invariantes usando radón, wavelet complejo de árbol dual y transformadas de Fourier. Reconocimiento de patrones 42: 20132019 CrossRef MATH Google Académico Chen RJC, Bloomfield P, Fu JS (2003) Una evaluación de los métodos alternativos de predicción para las visitas de recreación. Jocs Res 35 (4): 441454 Google Scholar Centro de Observación de la Tierra, Universiti Kebangsaan Malasia (UKM), Malasia 2013 Fonseca ES, Guido RC, Scalassara PR (2007) . (MRSI) utilizando la codificación wavelet y la obtención de imágenes en paralelo: resultados in vitro. J Magna Reson 211: 4551 CrossRef Google Scholar Genovese L, Videaud B, Ospici M, T de Deutschd, Goedeckere S, Mhaut JF (2011) Daubechies wavelets para los cálculos de la estructura electrónica del alto rendimiento. CR Mec 339: 149164 CrossRef MATH Google Scholar Lisi F, Nicolás O, Sandri M (1995) Combinación de análisis de espectro singular y redes neuronales para la predicción de series de tiempo. Redes neuronales para la predicción y pronóstico de variables de recursos hídricos: una revisión de los problemas y aplicaciones de modelado. Environ Model Softw 15: 101123 CrossRef Google Scholar Mallat SG (1998) Una excursión wavelet de procesamiento de señales. Universidad de Friburgo (Suiza) Facultad de Ciencias Económicas y Ciencias Sociales Newbold P, Carlson WL, Thorne BM (2003) Estadísticas de Negocios y economía (quinta versión). Prentice Hall, Upper Saddle River Google Académico Nourani V, Komasi M, Mano A (2009) Una multivariante ANN-wavelet enfoque para lluvia-runoff de modelado. (2007) Wavelet y modelo de conjunción neuro-fuzzy para pronóstico de precipitación. J Hydrol 342: 199212 CrossRef Google Académico Rioul O, Vetterli M (1991) Wavelets y procesamiento de señales. IEEE SP Magazine. Pp 1438 Serrai H, Senhadji L (2005) Reducción del tiempo de adquisición en la resonancia magnética de imágenes espectroscópicas utilizando la codificación de wavelets discretos. J Magn Reson 177: 2230 CrossRef Google Scholar Shafiekhah M, MP Moghaddam, Sheikh El Eslami MK (2011) Previsión de precios de los mercados de electricidad de día a día utilizando un método de pronóstico híbrido. Energía Convers Manag 52: 21652169 CrossRef Google Scholar Sifuzzaman M, Islamand MR, Ali MZ (2009) Aplicación de la transformada wavelet y sus ventajas en comparación con la transformada fourier. Previsión de la carga de tráfico de la red utilizando filtros wavelet y modelo de media móvil de movimiento autoregresivo estacional. Métodos para mejorar el rendimiento de las redes neuronales en la predicción de flujos diarios. (6): 17938163 Google Académico Wu CL, Chau KW, Li YS (2009) J Hydrol 372: 8093 CrossRef Google Scholar Yang X, Ren H, Li B (2008) Codificación de wavelets de árbol cero incrustado basado en el agrupamiento fuzzy adaptativo para la compresión de imágenes. Zhao X, Ye B (2010) Convolución de transformación de paquete wavelet y sus aplicaciones para el procesamiento de señales. Digit Signal Process 20: 13521364 CrossRef Google Scholar Información de copyright El Foro de Aplicaciones Informáticas Naturales 2014 Autores y Afiliaciones Seyed Ahmad Akrami 1 Autor del mensaje de correo electrónico Ahmed El-Shafie 1 Mahdi Naseri 2 Celso AG Santos 3 1. Departamento de Ingeniería Civil y Estructural Universiti Kebangsaan Malasia (UKM ) Bangi Malasia 2. Departamento de Ingeniería Civil Universidad de Birjand Birjand Irán 3. Departamento de Ingeniería Civil y Ambiental Universidad Federal de Paraba Joo Pessoa Brasil Acerca de este artículo Imprimir ISSN 0941-0643 En línea ISSN 1433-3058 Nombre del editor Springer LondonEste fue el primer sitio web Página que escribí en Wavelets. De esta semilla crecieron otras páginas web que discuten una variedad de temas relacionados con wavelets. Para ver una tabla de contenido, vea Wavelets y Signal Processing. Esta página web aplica la transformación wavelet a una serie de tiempo compuesta de precios de cierre del mercado bursátil. Las páginas web posteriores se expanden en este trabajo en una variedad de áreas (por ejemplo, compresión, análisis espectral y pronóstico). Cuando comencé a pensar que iba a implementar la onda Haar y que algunos de mis colegas podrían encontrar útil. No esperaba que el procesamiento de señales fuera un tema tan interesante. Tampoco entendí que muchas áreas diferentes de la informática, matemáticas y finanzas cuantitativas serían tocadas por wavelets. Seguí encontrando que una cosa conducía a otra, haciendo difícil encontrar un lugar de parada lógico. Este camino errante de descubrimiento de mi parte también explica el crecimiento algo orgánico de estas páginas web. He tratado de dominar este crecimiento y organizarlo, pero me temo que todavía refleja el hecho de que no sabía a dónde iba cuando comencé. El código Java publicado junto con esta página web refleja el primer trabajo que hice en wavelets. Los algoritmos más sofisticados basados en esquemas de levantamiento, implementados en Java se pueden encontrar en otras páginas web. El código de esquema de elevación wavelet, publicado en otras páginas web, es más sencillo y más fácil de entender. El esquema de elevación wavelet también proporciona un marco elegante y potente para implementar una gama de algoritmos wavelet. Al implementar algoritmos de paquete wavelet, cambié de Java a C. El algoritmo de paquete wavelet que he utilizado es más simple y más elegante utilizando las funciones de sobrecarga del operador Cs. C también admite estructuras de datos genéricas (plantillas), lo que me permitió implementar una jerarquía de clases genéricas para wavelets. Este código incluye varios algoritmos wavelet diferentes, incluyendo Haar, interpolación lineal y Daubechies D4. Al igual que los algoritmos wavelet, el modelado financiero hecho aquí representa un trabajo muy temprano. Cuando comencé a trabajar en estas páginas web no tenía experiencia en el modelado de series de tiempo financieras. El trabajo descrito en esta página web conduce a experimentos más intensivos con filtros wavelet en modelos financieros, en los que continúo trabajando. En esta página web uso los precios de cierre de la bolsa. En el modelado financiero uno utiliza generalmente vueltas, puesto que lo que usted está intentando predecir es vuelta futura. Me interesé por las wavelets por accidente. Yo estaba trabajando en el software involucrado con series de tiempo financiero (por ejemplo, el precio de apertura y cierre de acciones), así que supongo que fue un accidente a la espera de suceder. Estaba leyendo el número de febrero de 2001 de la revista WIRED cuando vi el gráfico que se incluye a continuación. Cada mes WIRED ejecuta varias visualizaciones gráficas de datos financieros y este fue uno de ellos. Si los precios de las acciones realmente tienen en cuenta toda la información conocible, un gráfico de precios compuesto debe proceder de una manera ordenada, ya que la nueva información empuja el valor percibido contra la atracción de las tendencias establecidas. El análisis wavelet, ampliamente utilizado en las comunicaciones para separar la señal (movimiento modelado) del ruido (actividad aleatoria), sugiere lo contrario. Esta imagen muestra los resultados de la ejecución de una transformación de Haar - la fórmula wavelet fundamental - en el cierre diario del Dow y NASDQ desde 1993. Las montañas azules constituyen la señal. Los picos rojos incrustados representan ruido, de los cuales la línea amarilla sigue una media móvil de 50 días. El ruido, que puede ser considerado como la ignorancia de los inversores, ha aumentado junto con el valor de ambos índices. Pero mientras que el ruido en el Dow ha crecido un 500 por ciento en promedio, el ruido del NASDAQ se ha disparado 3.000 por ciento, superando ampliamente el crecimiento espectacular de 500 por ciento de NASDAQ durante el mismo período. La mayor parte de este aumento se ha producido desde 1997, con un aumento extraordinario desde enero de 2000. Tal vez hubo un glide Y2K después de todo - uno que descarriló no los sistemas operativos y CPUs, pero - la psicología de los inversores. - Clem Chambers (clemcadvfn). Gráfico y cita de WIRED Magazine, febrero de 2001, pág. 176 Soy un platónico. Creo que, en abstracto, hay verdad, pero que nunca podemos alcanzarla. Sólo podemos alcanzar una aproximación, o una sombra de verdad. La ciencia moderna lo expresa como la incertidumbre de Heisenberg. Una visión platónica de una serie de tiempo financiero es que hay una verdadera serie de tiempo que se oscurece hasta cierto punto por el ruido. Por ejemplo, un precio cerrado o una serie de tiempo de oferta / demanda para una acción se mueve sobre la base de la oferta y la demanda de acciones. En el caso de una serie de tiempo de oferta / demanda, la curva de oferta / demanda estará rodeada por el ruido creado por la llegada de orden aleatoria. Si, de alguna manera, el ruido pudiera ser filtrado, veríamos la verdadera curva de oferta / demanda. El software que utiliza esta información podría ser capaz de hacer un mejor trabajo porque no sería confundido por falsos movimientos creados por el ruido. El gráfico WIRED anterior sugiere que el análisis wavelet puede ser utilizado para filtrar una serie financiera de tiempo para eliminar el ruido asociado. Por supuesto, hay una gran área que no se aborda por la cita WIRED. Qué son, por ejemplo, el ruido? Qué son las wavelets y las wavelets de Haar? Por qué las wavelets son útiles para analizar las series de tiempo financieras? Cuando vi esta gráfica, yo no conocía ninguna de estas preguntas. El análisis proporcionado en el breve párrafo WIRED es también superficial. El ruido en la serie de tiempo aumenta con el volumen de operaciones. Con el fin de afirmar que el ruido ha aumentado, el ruido debe normalizarse para el volumen de operaciones. Leer es algo peligroso. Puede lanzarte en direcciones extrañas. Me mudé de California a Santa Fe, Nuevo México porque leí un libro. Que un gráfico en la revista WIRED me lanzó por un camino que pasé muchos meses después. Como cualquier aventura, no estoy seguro si me hubiera embarcado en este si hubiera sabido cuánto tiempo y, a veces, difícil, el viaje sería. Hace años, cuando salió por primera vez, compré una copia del libro El mundo según Wavelets de Barbara Hubbard, sobre la base de una revisión que leí en la revista Science. El libro se sentó en mi estante sin leer hasta que vi el gráfico WIRED. Wavelets han sido algo de una moda, una palabra de moda que la gente ha tirado alrededor. Barbara Hubbard comenzó a escribir El mundo de acuerdo con Wavelets cuando la moda wavelet estaba empezando a incendiarse. Proporciona una interesante historia de cómo se desarrollaron las wavelets en los mundos matemático e ingeniería. Ella también hace un valeroso intento de proporcionar una explicación de lo que es la técnica wavelet. La Sra. Hubbard es una escritora científica, no una matemática, pero dominó una buena cantidad de cálculo básico y teoría del procesamiento de señales (que la admiro). Cuando escribió El mundo según Wavelets había pocos libros sobre wavelets y ningún material introductorio. Aunque admiro el esfuerzo heroico de Barbara Hubbards, sólo tuve una comprensión superficial de las wavelets después de leer El mundo según Wavelets. Existe una vasta literatura sobre las ondas y sus aplicaciones. Desde el punto de vista de un ingeniero de software (con sólo un año de cálculo universitario), el problema con la literatura wavelet es que ha sido escrito en gran parte por matemáticos, ya sea para otros matemáticos o para los estudiantes de matemáticas. No soy un miembro de ninguno de los grupos, así que tal vez mi problema es que no tengo una comprensión fluida del lenguaje de las matemáticas. Ciertamente siento esto cuando leo artículos de revistas sobre las ondas. Sin embargo, he tratado de concentrarme en libros y artículos que son explícitamente introductorios y tutoriales. Incluso estos han demostrado ser difícil. El primer capítulo del libro Wavelets Made Easy de Yves Nievergelt comienza con una explicación de las wavelets de Haar (éstas son las wavelets utilizadas para generar el gráfico publicado en WIRED). Este capítulo tiene numerosos ejemplos y pude entender e implementar las wavelets de Haar a partir de este material (enlaces a mi código Java para las ondas Haar se pueden encontrar a continuación). Un capítulo posterior discute la transformada de la onda de Daubechies. Desafortunadamente, este capítulo de Wavelets Made Easy no parece ser tan bueno como el material de las wavelets de Haar. Parece haber un número de errores en este capítulo y la implementación del algoritmo descrito por Nievergelt no da lugar a una transformación wavelet correcta. Entre otras cosas, los coeficientes wavelet para las ondas Daubechies parecen estar equivocados. Mi página web sobre la transformada wavelet Daubechies se puede encontrar aquí. El libro Ripples in Mathematics (ver las referencias al final de la página web) es una referencia mejor. Hay una vasta literatura sobre las ondas. Esto incluye miles de artículos de revistas y muchos libros. Los libros sobre wavelets van desde trabajos relativamente introductorios como Nievergelts Wavelets Made Easy (que todavía no es una lectura ligera) a libros que son accesibles sólo a estudiantes graduados en matemáticas. También hay una gran cantidad de material wavelet en la Web. Esto incluye una serie de tutoriales (consulte la referencia basada en Web más abajo). Dada la vasta literatura sobre las ondas, no hay necesidad de otro tutorial. Pero podría valer la pena resumir mi visión de las wavelets cuando se aplican a señales 1-D o series temporales (una imagen es datos bidimensionales). Una serie de tiempo es simplemente una muestra de una señal o un registro de algo, como temperatura, nivel de agua o datos de mercado (como el precio de cierre de la acción). Wavelets permiten una serie de tiempo para ser visto en múltiples resoluciones. Cada resolución refleja una frecuencia diferente. La técnica wavelet toma promedios y diferencias de una señal, rompiendo la señal en el espectro. Todos los algoritmos wavelet que estoy familiarizado con el trabajo en la serie de tiempo una potencia de dos valores (por ejemplo, 64, 128, 256.). Cada paso de la transformada wavelet produce dos conjuntos de valores: un conjunto de promedios y un conjunto de diferencias (las diferencias se denominan coeficientes wavelet). Cada paso produce un conjunto de promedios y coeficientes que es la mitad del tamaño de los datos de entrada. Por ejemplo, si la serie de tiempo contiene 256 elementos, el primer paso producirá 128 promedios y 128 coeficientes. Los promedios se convierten entonces en la entrada para el siguiente paso (por ejemplo, 128 medias resultando en un nuevo conjunto de 64 promedios y 64 coeficientes). Esto continúa hasta que se calcula un promedio y un coeficiente (por ejemplo, 2 0). El promedio y la diferencia de la serie de tiempo se hace a través de una ventana de valores. La mayoría de los algoritmos wavelet calculan cada nuevo promedio y diferencia al desplazar esta ventana sobre los datos de entrada. Por ejemplo, si la serie de tiempo de entrada contiene 256 valores, la ventana se desplazará por dos elementos, 128 veces, en el cálculo de los promedios y las diferencias. El siguiente paso del cálculo utiliza el conjunto anterior de promedios, cambiando también la ventana por dos elementos. Esto tiene el efecto de promediar a través de una ventana de cuatro elementos. Lógicamente, la ventana aumenta en un factor de dos cada vez. En la literatura wavelet este árbol algoritmo recursivo estructurado se conoce como un algoritmo piramidal. El poder del espectro de dos coeficientes (diferencia) generado por un cálculo wavelet refleja el cambio en la serie temporal en varias resoluciones. La primera banda de coeficientes generada refleja los cambios de frecuencia más altos. Cada banda posterior refleja los cambios en las frecuencias bajas y bajas. Hay un número infinito de funciones base de wavelets. Las funciones más complejas (como las olas de Daubechies) producen promedios y diferencias que se superponen y que proporcionan un mejor promedio que la onda de Haar a resoluciones más bajas. Sin embargo, estos algoritmos son más complicados. Cada campo de especialidad desarrolla su propio sub-lenguaje. Esto es ciertamente cierto de wavelets. He enumerado algunas definiciones aquí que, si hubiera entendido su significado me hubiera ayudado en mis vagabundeos a través de la literatura wavelet. Función que resulta en un conjunto de diferencias de alta frecuencia, o coeficientes wavelet. Al elevar los términos del esquema, la wavelet calcula la diferencia entre una predicción y un valor real. Si tenemos una muestra de datos s i. S i1. S i2. Las ecuaciones de la wavelet de Haar son Donde c i es el coeficiente wavelet. El esquema de elevación wavelet utiliza una expresión ligeramente diferente para la onda Haar: La función de escala produce una versión más suave del conjunto de datos, que es la mitad del tamaño del conjunto de datos de entrada. Los algoritmos wavelet son recursivos y los datos suavizados se convierten en la entrada para el siguiente paso de la transformada wavelet. La función de escala de onda de Haar es donde a i es un valor suavizado. La transformación de Haar preserva el promedio en los valores suavizados. Esto no es cierto para todas las transformaciones wavelet. Filtro de paso alto En términos de procesamiento de señal digital (DSP), la función wavelet es un filtro de paso alto. Un filtro de paso alto permite que los componentes de alta frecuencia de una señal a través de la supresión de los componentes de baja frecuencia. Por ejemplo, las diferencias que se capturan por la función de onda Haar representan un cambio de alta frecuencia entre un valor impar y un valor par. Filtro de paso bajo En términos de procesamiento de señal digital (DSP), la función de escala es un filtro de paso bajo. Un filtro de paso bajo suprime los componentes de alta frecuencia de una señal y permite que los componentes de baja frecuencia a través de. La función de escalado Haar calcula el promedio de un elemento par y un elemento impar, lo que da como resultado una señal de paso bajo más suave. Transformación Ortogonal (o Orthonormal) La Transformación Ortogonal (a. k.a. ortogonal) en los Métodos Wavelet para el Análisis de la Serie de Tiempo por Percival y Walden, Cambridge University Press, 2000, Chaper 3, sección 3.1, es uno de los mejores que he visto. He citado esto a continuación: Transformaciones ortonormales son de interst porque pueden ser utilizados para volver a expresar una serie de tiempo de tal manera que podemos reconstruir fácilmente la serie de su transformación. En un sentido suelto, la información en la transformación es, por lo tanto, equivalente a la información es la serie original para decirlo de otra manera, la serie y su transformación pueden considerarse dos representaciones de la misma entidad matemática. En términos de transformaciones wavelet esto significa que la serie temporal original puede ser reconstruida exactamente a partir de la media de la serie temporal y los coeficientes generados por una transformada wavelet ortogonal (ortonormal). Esto también se conoce como de-ruido. Los algoritmos de estimación de señales intentan caracterizar partes de la serie temporal y eliminar aquellas que caen en un modelo particular de ruido. Estas páginas Web publican un código fuente Java muy documentado para la transformación de la wavelet Haar. Libros como Wavelets Made Easy explican algunas de las matemáticas detrás de la transformación wavelet. He encontrado, sin embargo, que la implementación de este código puede ser al menos tan difícil como entender las ecuaciones de la wavelet. Por ejemplo, la transformación en onda Haar in situ produce coeficientes wavelet en un patrón de mariposa en la matriz de datos original. La fuente Java publicada aquí incluye código para reordenar la mariposa en espectros de coeficientes que son más útiles cuando se trata de analizar los datos. Aunque este código no es grande, me tomó la mayor parte de un sábado para implementar el código para reordenar el patrón de datos de mariposa. El Wavelet Lifting Scheme, desarrollado por Wim Sweldens y otros, proporciona una forma más sencilla de buscar tantos algoritmos wavelet. Comencé a trabajar en implementaciones de wavelets de Lifting Scheme después de haber escrito esta página web y desarrollado el software. El código de onda Haar es mucho más simple cuando se expresa en el esquema de elevación. Vea mi página web The Wavelet Lifting Scheme. El enlace a la página web de descarga de fuentes Java se encuentra a continuación. Hay una variedad de algoritmos de análisis wavelet. Se aplican diferentes algoritmos wavelet dependiendo de la naturaleza de los datos analizados. La wavelet Haar, que se utiliza aquí es muy rápida y funciona bien para la serie de tiempo financiero (por ejemplo, el precio de cierre de una acción). Las series temporales financieras no son estacionarias (para utilizar un término de procesamiento de señales). Esto significa que incluso dentro de una ventana, las series temporales financieras no pueden ser descritas bien por una combinación de términos sen y cos. Tampoco las series temporales financieras son cíclicas de una manera predecible (a menos que usted crea en las ondas de Elliot). Las series de tiempo financieras se prestan al análisis de wavelets de Haar, ya que los gráficos de series de tiempo financieras tienden a ser irregulares, sin mucho detalle. Por ejemplo, el gráfico siguiente muestra el precio de cierre diario de Applied Materials durante un período de aproximadamente dos años. Precio de cierre diario de Materiales Aplicados (símbolo: AMAT), 18/12/97 al 12/30/99. Los algoritmos de wavelet Haar que he implementado trabajan en datos que consta de muestras que son una potencia de dos. En este caso hay 512 muestras. Hay una gran variedad de algoritmos de wavelet populares, incluyendo wavelets de Daubechies, wavelets de sombrero mexicano y wavelets de Morlet. Estos algoritmos wavelet tienen la ventaja de una mejor resolución para cambiar suavemente las series temporales. Pero tienen la desventaja de ser más costosos de calcular que las ondas de Haar. La resolución más alta proporcionada por estos wavlets no vale el costo de series de tiempo financieras, que se caracterizan por transiciones irregulares. Los algoritmos de wavelet Haar publicados aquí se aplican a series temporales en las que el número de muestras es una potencia de dos (por ejemplo, 2, 4, 8, 16, 32, 64). La wavelet Haar utiliza una ventana rectangular para muestrear la serie temporal. El primer paso sobre la serie de tiempo utiliza un ancho de ventana de dos. El ancho de la ventana se dobla en cada paso hasta que la ventana abarca toda la serie temporal. Cada paso sobre la serie de tiempo genera una nueva serie de tiempo y un conjunto de coeficientes. La nueva serie de tiempo es la media de la serie temporal anterior sobre la ventana de muestreo. Los coeficientes representan el cambio promedio en la ventana de muestra. Por ejemplo, si tenemos una serie de tiempo que consiste en los valores v 0. V 1. V n . Una nueva serie de tiempo, con la mitad de tantos puntos se calcula promediando los puntos en la ventana. Si es el primer paso sobre la serie temporal, el ancho de la ventana será dos, por lo que se promediarán dos puntos: La superficie 3-D debajo de los gráficos de nueve espectros wavelet generados a partir de la serie de 512 puntos AMAT cerrar precio. El eje x muestra el número de muestra, el eje y muestra el valor promedio en ese punto y el eje z muestra el log 2 del ancho de la ventana. Los coeficientes wavelet se calculan junto con los nuevos valores de la serie temporal media. Los coeficientes representan el cambio promedio sobre la ventana. Si el ancho de las ventanas es dos, esto sería: El gráfico siguiente muestra los espectros de coeficientes. Como antes el eje z representa el registro 2 del ancho de la ventana. El eje y representa el cambio de la serie temporal sobre el ancho de la ventana. Algo contrario a la intuición, los valores negativos significan que las series temporales se están moviendo hacia arriba. Los valores positivos significan que la serie temporal está bajando, ya que v i es mayor que v i1. Obsérvese que el espectro de coeficientes de alta frecuencia (log 2 (windowWidth) 1) refleja la parte más ruidosa de la serie temporal. Aquí el cambio entre valores fluctúa alrededor de cero. Trama del espectro de coeficientes de Haar. La superficie traza el espectro de frecuencia más alto en el frente y el espectro de frecuencia más bajo en la parte posterior. Tenga en cuenta que el espectro de frecuencias más alto contiene la mayor parte del ruido. La transformada wavelet permite eliminar parte o todo un espectro dado ajustando los coeficientes a cero. La señal puede ser reconstruida usando la transformada wavelet inversa. Se muestran aquí las parcelas de la serie de tiempo de precios de cierre de AMAT con varios espectro filtrado. Cada espectro que compone una serie de tiempo puede ser examinado independientemente. Se puede aplicar un filtro de ruido a cada espectro eliminando los coeficientes que se clasifican como ruido estableciendo los coeficientes a cero. Esta página web muestra un análisis de histograma de los tres espectro de frecuencias más alto del precio de cierre AMAT. También se muestra el resultado de un filtro que elimina los puntos que caen dentro de una curva gaussiana en cada espectro. La curva gaussiana tiene una media y desviación estándar de los coeficientes en ese espectro. Otra forma de eliminar el ruido es usar el umbral. Mi página web que describe un algoritmo de umbral se puede encontrar aquí. Cómo se comparan los filtros wavelet Haar con filtros simples, como los filtros medianos y medianos con ventana. Se muestra aquí un gráfico de la serie temporal AMAT, filtrado con un filtro mediano (que en este caso es prácticamente idéntico a un filtro medio). Estos filtros pueden compararse con los filtros de espectro (donde se filera un espectro de coeficiente de onda dada). Si un filtro wavelet es mejor que un filtro medio con ventanas depende de la aplicación. El filtro wavelet permite filtrar partes específicas del espectro. Por ejemplo, se puede eliminar todo el espectro de alta frecuencia. O se pueden eliminar partes seleccionadas del espectro, como se hace con el filtro de ruido gaussiano. La potencia de los filtros de onda de Haar es que pueden ser calculados eficientemente y proporcionan mucha flexibilidad. Pueden dejar más detalles en la serie de tiempo, en comparación con el filtro medio o mediano. En la medida en que este detalle es útil para una aplicación, el filtro wavelet es una mejor opción. La transformada de onda de Haar tiene una serie de ventajas: Es conceptualmente simple. Es rápido. Es una memoria eficiente, ya que puede calcularse en su lugar sin una matriz temporal. Es exactamente reversible sin los efectos de borde que son un problema con otras trasformes wavelet. La transformación Haar también tiene limitaciones, lo que puede ser un problema para algunas aplicaciones. Al generar cada conjunto de promedios para el siguiente nivel y cada conjunto de coeficientes, la transformación Haar realiza un promedio y una diferencia en un par de valores. Entonces el algoritmo cambia por dos valores y calcula otro promedio y diferencia en el par siguiente. El espectro de coeficientes de alta frecuencia debe reflejar todos los cambios de alta frecuencia. La ventana de Haar tiene sólo dos elementos de ancho. Si se produce un cambio grande de un valor par a un valor impar, el cambio no se reflejará en los coeficientes de alta frecuencia. Por ejemplo, en las series temporales de 64 elementos mostradas a continuación, hay una gran caída entre los elementos 16 y 17 y los elementos 44 y 45. Puesto que se trata de cambios de alta frecuencia, podríamos esperar verlos reflejados en los coeficientes de alta frecuencia. Sin embargo, en el caso de la transformada de onda Haar los coeficientes de alta frecuencia pierden estos cambios, ya que están en incluso a los elementos impares. La superficie de abajo muestra tres coeficientes de espectro: 32, 16 y 8 (donde el espectro de coeficiente de 32 elementos es la frecuencia más alta). El espectro de alta frecuencia se representa en el borde delantero de la superficie. El espectro de frecuencias más bajo (8) es el borde lejano de la superficie. Tenga en cuenta que ambos cambios de gran magnitud están ausentes del espectro de alta frecuencia (32). El primer cambio se recoge en el siguiente espectro (16) y el segundo cambio se recoge en el último espectro del gráfico (8). Muchos otros algoritmos wavelet, como el algoritmo wavelet Daubechies, utilizan superposición de ventanas, por lo que el espectro de alta frecuencia refleja todos los cambios en la serie de tiempo. Like the Haar algorithm, Daubechies shifts by two elements at each step. However, the average and difference are calculated over four elements, so there are no holes. The graph below shows the high frequency coefficient spectrum calculated from the same 64 element time series, but with the Daubechies D4 wavelet algorithm. Because of the overlapping averages and differences the change is reflected in this spectrum. The 32, 16 and 8 coefficient spectrums, calculated with the Daubechies D4 wavelet algorithm, are shown below as a surface. Note that the change in the time series is reflected in all three coefficient spectrum. Wavelet algorithms are naturally parallel. For example, if enough processing elements exist, the wavelet transform for a particular spectrum can be calculated in one step by assigning a processor for every two points. The parallelism in the wavelet algorithm makes it attractive for hardware implementation. The Web page for downloading the Haar wavelet source code can be found here. This Java code is extensively documented and this web page includes a link to the Javadoc generated documentation. A simpler version of the Haar wavelet algorithm can be found via my web page The Wavelet Lifting Scheme. The plots above are generated with gnuplot for Windows NT. See my web page of Gnuplot links here. I am only marginally statisified with gnuplot. The software is easy to use and the Windows NT version comes with a nice GUI and a nice help system. However, when it comes to 3-D plots, the software leaves some things to be desired. The hidden line removal consumes vast amounts of virtual memory. When I tried to plot one of the coefficients surfaces with the x and z axes switched, it ran out of memory on a Windows NT system with 256K of virtual memory. Also, the surface would be much easier to understand if it could be colored with a spectrum. If you know of a better 3D plotting package that runs on Windows NT, please drop me a note. I have also had a hard time getting gnuplot to generate 2-D plots with multiple lines that have different colors. I have succeeded in doing this only when the data for each line was in a separate file, which can be awkward. I was sent the reference to Root by a physicist, Costas A. Root is a data analysis framework that is targeted at the massive amounts of data generated by high energy physics experiments at CERN and elsewhere. Although Root leans heavily toward physics, it looks to me like Root would be useful in other areas. Some of the statistical techniques that are used to analyze results in experimental physics is also used in quantitive finance, for example. Root has different goals than gnuPlot. It is targeted at a much more challenging data analysis enviroment (terabytes of data). But it has a large learning curve and Im skeptical if it can be easily used by those who do not have a sophisticated command of C. In contrast gnuPlot is a simple plotting environment. So my search for a better plotting environment continues. I know that such environments are supported by Matlab and Mathematics, but these packages are too expensive for my limited software budget. References Ripples in Mathematics: the Discrete Wavelet Transform by Jensen and la Cour-Harbo, 2001 So far this is the best book Ive found on wavelets. I read this book after I had spent months reading many of the references that follow, so Im not sure how easy this book would be for someone with no previous exposure to wavelets. But I have yet to find any easy reference. Ripples in Mathematics covers Lifting Scheme wavelets which are easier to implement and understand. The book is written at a relatively introductory level and is aimed at engineers. The authors provide implementations for a number of wavelet algorithms. Ripples also covers the problem of applying wavelet algorithms like Daubechies D4 to finite data sets (e. g. they cover some solutions for the edge problems encountered for Daubechies wavelets). Wavelets and Filter Banks by Gilbert Strang and Truong Nguyen, Wellesley Cambridge Pr, 1996 A colleague recommend this book, although he could not load it to me since it is packed away in a box. Sadly this book is hard to find. I bought my copy via abebooks, used, from a book dealer in Australia. While I was waiting for the book I read a few of Gilbert Strangs journal articles. Gilbert Strang is one of the best writers Ive encountered in mathematics. I have only just started working through this book, but it looks like an excellent, although mathematical, book on wavelets. Wavelets Made Easy by Yves Nievergelt, Birkhauser, 1999 This books has two excellent chapters on Haar wavelets (Chapter 1 covers 1-D Haar wavelets and Chapter 2 covers 2-D wavelets). At least in his coverage of Haar wavelts, Prof. Nievergelt writes clearly and includes plenty of examples. The coverage of Haar wavelets uses only basic mathematics (e. g. algebra). Following the chapter on Haar wavelets there is a chapter on Daubechies wavelets. Daubechies wavelets are derived from a general class of wavelet transforms, which includes Haar wavelets. Daubechies wavelets are better for smoothly changing time series, but are probably overkill for financial time series. As Wavelets Made Easy progresses, it gets less easy. Following the chapter on Daubechies wavelets is a discussion of Fourier transforms. The later chapters delve into the mathematics behind wavelets. Prof. Nievergelt pretty much left me behind at the chapter on Fourier transforms. For an approachable discussion of Fourier transforms, see Understanding Digital Signal Processing by Richard G. Lyons (below). As Wavelets Made Easy progresses, it becomes less and less useful for wavelet algorithm implementation. In fact, while the mathematics Nievergelt uses to describe Daubechies wavelets is correct, the algorithm he describes to implement the Daubechies transform and inverse transform seems to be wrong. Wavelets Made Easy does not live up to the easy part of its title. Given this and the apparent errors in the Daubechies coverage, I am sorry to say that I cant recommend this book. Save your money and buy a copy of Ripples in Mathematics . Discovering Wavelets by Edward Aboufadel and Steven Schlicker At 125 pages, this is one of the most expensive wavelet books Ive purchased, on a per page basis. It sells on Amazon for 64.95 US. I bought it used for 42.50. If Discovering Wavelets provided a short, clear description of wavelets, the length would be a virtue, not a fault. Sadly this is not the case. Discovering Wavelets seems to be a book written for college students who have completed calculus and linear algebra. The book is heavy on theorms (which are incompletely explained) and very sort on useful explaination. I found the description of wavelets unnecessarily obscure. For example, Haar wavelets are described in terms of linear algebra. They can be much more simply described in terms of sums, differences and the so called pyramidal algorithm. While Discovering Wavelets covers some important material, its coverage is so obscure and cursory that I found the book useless. The book resembles a set of lecture notes and is of little use without the lecture (for their students sake I hope that Aboufadel and Schlicker are better teachers than writers). This is a book that I wish I had not purchased. Wavelet Methods for Time Series Analysis by Donald B. Percival and Andrew T. Walden, Cambridge University Press, 2000 Im not a mathematician and I dont play one on television. So this book is heavy going for me. Never the less, this is a good book. For someone with a better mathematical background this might be an excellent book. The authors provide a clear discussion of wavelets and a variety of time series analsysis techniques. Unlike some mathematicians, Percival and Walden actually coded up the wavelet algorithms and understand the difficulties of implementation. They compare various wavelet families for various applications and chose the simplest one (Haar) in some cases. One of the great benifits of Wavelet Methods for Time Series Analysis is that it provides a clear summary of a great deal of the recent research. But Percival and Walden put the research in an applied context. For example Donoho and Johnstone published an equation for wavelet noise reduction. I have been unable to find all of their papers on the Web and I have never understood how to calculate some of the terms in the equation in practice. I found this definition in Wavelet Methods . The World According to Wavelets: The Story of a Mathematical Technique in the Making by Barbara Burke Hubbard, A. K. Peters, 1996 This book provides an interesting history of the development of wavelets. This includes sketches of many of the people involved in pioneering the application and mathematical theory behind wavelets. Although Ms. Hubbard makes a heroic effort, I found the explaination of wavelets difficult to follow. The Cartoon Guide To Statistics by Larry Gonic and Woollcott Smith, Harper Collins I work with a number of mathematicians, so its a bit embarrassing to have this book on my disk. I never took statistics. In college everyone I knew who took statistics didnt like it. Since it was not required for my major (as calculus was), I did not take statistics. Ive come to understand how useful statistics is. I wanted to filter out Gaussian noise, so I needed to understand normal curves. Although the title is a bit embarrassing, The Cartoon Guide to Statistics provided a very rapid and readable introduction to statistics. Understanding Digital Signal Processing by Richard G. Lyons. This book is fantastic. Perhaps the best introductory book ever written on digital signal processing. It is the book on signal processing for software engineers like myself with tepid mathematical backgrounds. It provides the best coverage Ive ever seen on DFTs and FFTs. In fact, this book has inspired me to try FFTs on financial time series (an interesting experiment, but wavelets produce better results and Fourier transforms on non-stationary time series). See my web page A Notebook Compiled While Reading Understanding Digital Signal Processing by Lyons My web page on the wavelet Lifting Scheme. The Haar wavelet algorithm expressed using the wavelet Lifting Scheme is considerably simpler than the algorithm referenced above. The Lifting Scheme also allows Haar wavelet to be extended into a wavelet algorithms that have perfect reconstruction and have better multiscale resolution than Haar wavelets. Emil Mikulic has published a simple explaination of the Haar transform, for both 1-D and 2-D data. For those who find my explaination obscure, this might be a good resource. The Wavelet Tutorial . The Engineers Ultimate Guide to Wavelet Analysis, by Robi Polikar. The ultimate guide to wavelet analysis has yet to be written, at least for my purposes. But Prof. Polikars Wavelet Tutorial is excellent. When it comes to explaining Wavelets and Fourier transforms, this is one of the best overviews Ive seen. Prof. Polikar put a great deal of work into this tutorial and I am greateful for his effort. However, there was not sufficient detail in this tutorial to allow me to create my own wavelet and inverse wavelet tranform software. This Web page (which is also available in PDF) provides a nice overview of the theory behind wavelets. But as with Robi Polikars web page, its a big step from this material to a software implementation. Whether this Web page is really friendly depends on who your friends are. If you friends are calculus and taylor series, then this paper is for you. After working my way through a good part of Wavelets Made Easy this paper filled in some hole for me. But I would not have understood it if I had read it before Wavelets Made Easy . Wim Sweldens, who has published a lot of material on the Web (he is the editor of Wavelet Digest ) and elsewhere on Wavelets is a member of this group. An interesting site with lots of great links to other web resources. Lifting Scheme Wavelets Win Sweldens and Ingrid Daubechies invented a new wavelet technique known as the lifting scheme . Gabriel Fernandez has published an excellent bibliography on the lifting scheme wavelets which can be found here. This bibliography has a pointer to Wim Sweldens and Peter Schroders lifting scheme tutorial Building Your Own Wavelets at Home . Clemens Valens has written a tutorial on the fast lifting wavelet transform. This is a rather mathematically oriented tutorial. For many, Wim Sweldens paper Building Your Ownh Wavlets at Home may be easier to under stand (although I still found this paper heavy going). Gabriel Fernandez has developed LiftPack . The LiftPack Home Page publishes the LiftPack software. The bibliography is a sub-page of the LiftPack Home page. Wavelets in Computer Graphis One of the papers referenced in Gabriel Fernandezs lifting scheme bibliography is Wim Sweldens and Peter Schroders paper Building Your Own Wavelets at Home . This is part of a course on Wavelets in Computer Graphics given at SigGraph 1994, 1995 and 1996. The sigGraph course coverd an amazing amount of material. Building Your Own Wavelets at Home was apparently covered in a morning. There are a lot of mathematically gifted people in computer graphics. But even for these people, this looks like tough going for a morning. Ive spent hours reading and rereading this tutorial before I understood it enough to implement the polynomial interpolation wavelets that it discusses. D. Donoho De-Noising By Soft-Thresholding . IEEE Trans. on Information Theory, Vol 41, No. 3, pp. 613-627, 1995. D. Donoho Adapting to Unknown Smoothness via Wavelet Shrinkage . JASA. 1995. CalTech Multi-Resolution Modeling Group Publications The Wavelets in Computer Graphics page, referenced above, is one of the links from the CalTech Multi-resolution Modeling Group Publications web page. The wavelet publications referenced on this page concentrate on wavelet applications for computer graphics. This is yet another introductory tutorial by a mathematician. It gives a feeling for what you can do with wavelets, but there is not enough detail to understand the details of implementing wavelet code. Amara Graps web page provides some good basic introductory material on wavelets and some excellent links to other Web resources. There is also a link to the authors (Amara) IEEE Computational Sciences and Engineering article on wavelets. Wave from Ryerson Polytechnic University Computational Signals Analysis Group Wave is a C class library for wavelet and signal analysis. This library is provided in source form. I have not examined it in detail yet. Wavelet and signal processing algorithms are usually fairly simple (they consist of a relatively small amount of code). My experience has been that the implementation of the algorithms is not as time consuming as understanding the algorithms and how they can be applied. Since one of the best ways to understand the algorithms is to implement and apply them, Im not sure how much leverage Wave provides unless you already understand wavelet algorithms. Wavelet Compression Arrives by Peter Dyson, Seybold Reports, April 1998. This is an increasingly dated discussion on wavelet compression products, especially for images. The description of the compression products strengths and weaknesses is good, but the description of wavelets is poor. Prof. Zbigniew R. Struzik of Centrum voor Wiskunde en Informatica in the Netherlands has done some very interesting work with wavelets in a variety of areas, including data mining in finance. This web page has a link to Prof. Struziks publications (at the bottom of the Web page). Prof. Struziks work also shows some interesting connections between fractals and wavelets. Disclaimer This web page was written on nights and weekends, using my computer resources. This Web page does not necessarily reflect the views of my employer (at the time this web page was written). Nothing published here should be interpreted as a reflection on any techniques used by my employer (at that time). Ian Kaplan, July 2001 Revised: February 2004
No comments:
Post a Comment