Predicción Luca Martino Aplicaciones del Tratamiento de Señales Master Interuniversitario en Comunicaciones y Multimedia [email protected] 1 INDICE 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Introducción .............................................................................................................1 Introducción Modelos ARMA ............................................................................... 3 Multiplicidad de la representación dinámica........................................................4 Forma Canónica ......................................................................................................6 Estimador óptimo ....................................................................................................6 Predictor optimos para sistemas ARMA ...............................................................7 Predictor a un paso para un AR...........................................................................10 Predictor a un paso para un MA ..........................................................................11 Predictor a un paso para un ARMA ....................................................................12 Estudio de la serie temporal: la tendencia y ciclos .............................................12 Identificación coeficientes .....................................................................................12 Identificación orden...............................................................................................14 Aplicación a los datos reales .................................................................................16 Referencias .............................................................................................................18 2 1. Introducción En este trabajo analizaremos los métodos de previsión lineal de series temporales utilizando modelos ARMA. Finalmente, aplicaremos los predictores estudiados a un tramo de serie real EEG. 2. Introducción Modelos ARMA Dado un sistema: y(t ) a1 y(t 1) .... a N y(t N ) (t ) c1 (t 1) .... cM (t M ) N M i 1 i 1 y(t ) ai y(t i) (t ) ci (t i) (1) donde el ruido es blanco y gaussiano: (t ) ~ N (0, 2 ) (2) Podemos escribir la ecuación a las diferencias, en el dominio Z: Y ( z) z M c1 z M 1 .... c M C ( z) E( z) E( z) W ( z) E( z) N N 1 A( z ) z a1 z .... a M C ( z) W ( z) A( z ) (3) Donde W(z) se denomina función de transferencia. (t ) W ( z) C ( z) A( z ) y(t ) El espectro complejo y (z) se define como la transformada Zeta Bilateral del autocorrelación ( ) de la señal y(t): y ( z ) z ( ) (4) y ( z) W ( z) W ( z ) ( z) W ( z) W ( z ) 1 1 2 3 Y tiene estricta relación con la Densidad Espectral de Potencia S y () : S y ( ) y ( z ) | j z e j j ( ) e 2 (5) j 2 S y ( ) W (e ) ( z ) | W (e ) z e j 2 Por definición un proceso estacionario y(t) es un proceso a “espectro racional”, es decir, su y (z) es una función racional (división entre dos polinomios). Un proceso definido por la ecuación (1) se suele denominar ARMA de parámetros n,m y está compuesto por una parte auto-regresiva AR(n) y una parte de media móvil MA(m). Un proceso ARMA(n,m) puede expresarse siempre como un MA(∞), esto porque se puede siempre descomponer la W(z) racional en una serie convergente: Y ( z ) wˆ (i) z i E ( z ) y(t ) wˆ (0) (t ) wˆ (1) (t 1) ... wˆ (i) (t i) ... i 0 (6) Y los coeficientes ŵi se pueden calcular como división entre polinomios (repetida). La expresión (6) será muy útil para encontrar la forma del predictor óptimo para varios instantes futuros. 3. Multiplicidad de la representación dinámica Diferentes funciones de transferencias pueden describir el mismo sistema dinámico: aunque la forma de las W(z) sea distinta, el espectro y (z) puede resultar idéntico. (t ) ~ N (0, 2 ) W (z ) y(t ) Condición de equivalencia ~ ~ y ( z) W ( z) W ( z 1 ) ( z) W ( z) W ( z 1 ) ( z) r ( z) (t ) ~ N (0, ) 2 ~ W ( z) r (t ) En general, la condición de equivalencia puede verificarse en cuatros casos. 1º Caso: Las funciones de transferencias difieren por una constante. 4 ~ W ( z ) W ( z ) 2 1 2 2 (7) De hecho, en este caso se puede ver fácilmente que: 1 ~ ~ ~ ~ y ( ) W ( z ) W ( z 1 ) 2 2 W ( z ) W ( z 1 ) 2 2 W ( z ) W ( z 1 ) 2 r ( ) (8) 2º Caso: En el caso que una función de transferencia esté retardada respecto a la otra, es decir, se trata del mismo proceso pero desfasado k-instantes. ~ W ( z ) z k W ( z ) 2 2 (9) También en este caso: ~ ~ ~ ~ y ( ) W ( z) W ( z 1 ) 2 z k W ( z) z k W ( z 1 ) 2 W ( z) W ( z 1 ) 2 r ( ) (10) 3º Caso: Puede ocurrir que aunque una función de transferencia aparentemente tenga de grado mayor que otra, sea posible reducirla a una grado inferior debido a la coincidencia de un polo con un cero. z ~ W ( z) W ( z ) z 2 2 (11) 4º Caso: cuando una W(z) está multiplicada por un filtro pasa-todo. Por ejemplo definiendo el filtro T(z): T ( z) z z 1 T ( z ) T ( z ) T ( z 1 ) z z 1 1 z z 1 2 1 z 1 z 1 1 (1 ) z (1 ) z 1 1 2 (12) 1 z z 1 2 2 2 1 2 (1 ) (1 z z ) Entonces este filtro actúa simplemente como una constante en frecuencia, es decir, no deforma el espectro. 5 ~ W ( z ) T ( z ) W ( z ) 2 1 2 2 (13) Teniendo en cuenta las expresiones anteriores, se prueba fácilmente: 1 ~ ~ ~ ~ y ( ) W ( z ) W ( z 1 ) 2 T ( z ) W ( z ) T ( z 1 ) W ( z 1 ) 2 2 W ( z ) W ( z 1 ) 2 2 ~ ~ W ( z ) W ( z 1 ) 2 r ( ) (14) Está claro, que para resolver el problema de predicción, nos gustaría tener una solución única; por esta razón, se fijan unos vínculos que tiene que cumplir las funciones de transferencias para definirse canónicas. 4. Forma Canónica Una función de transferencia racional W(z) está en forma canónica, si cumple los siguientes requisitos: 1. Los coeficientes de las potencias más elevadas tienen que estar igual a 1. Dos funciones de trasferencias pueden tener misma estructura dinámica pero diferir por una constante (1º Caso, apartado anterior). 2. Numerador y Denominador del mismo orden (N=M). Dos funciones de trasferencias pueden tener misma estructura dinámica pero diferir por un retardo (2º Caso, apartado anterior). 3. Numerador y Denominador sin factores en comunes. Puede parecer que dos funciones de trasferencias tengan grado distinto aunque describan el mismo sistema dinámico (3º Caso, apartado anterior). 4. Polos y Ceros todos con modulo menor que 1 (sistema estable y a fase mínima). Para evitar la multiplicidad descripta en el 4º Caso del apartado anterior. 5. Estimador óptimo (en el sentido de mínimos cuadrados) Dado que estamos modelando nuestra serie temporal como un proceso estocástico y que en la ecuación a la diferencia (1) muestra una suma de variables aleatorias, cabe preguntarse cual el predictor óptimo, que minimiza el error cuadrático medio. Por eso rescribimos la ecuación general de un ARMA e forma probabilística: N M i 1 i 1 y(t ) ai y(t i) (t ) ci (t i) (t ) es un ruido blanco (y gaussiano) (15) y(t ) ~ p( y(t ) | y(t 1),...y(t N ), (t 1),..., (t M )) 6 Ahora dada una variable aleatoria Y con una determinada densidad de probabilidad podemos calcular el estimador T(y) que minimiza el error cuadrático: J E (Y T ( y ))2 E Y 2 T ( y ) 2 2T ( y )Y E Y 2 T ( y ) 2 2T ( y ) EY dJ 2 EY 2T ( y ) 0 T ( y ) EY dT (16) Es decir, la mejor estimación que podríamos hacer, es la media de la variable aleatoria. Entonces, volviendo a nuestro problema de predicción el estimador óptimo (a un paso), teniendo que en cuenta que conocemos solo los datos y no el ruido, será: yˆ (t | t 1) Ey(t ) | y(t 1), y(t 2),...,y(t N ) (17) Es decir, conociendo todos los datos pasados y la densidad p y(t ) | y(t 1), y(t 2),.., y(t N ) nuestra estimación será el valor medio de tal densidad. En el párrafo siguiente, hallaremos un método sistemático y rápido para encontrar la forma del predictor óptimo para un sistema ARMA. 6. Predictor óptimo para sistemas ARMA Recurriendo a la representación dinámica en el domino Z, podemos lograr una representación compacta de los predictores, que serán óptimos en el sentido expresado en el apartado anterior. Hay que subrayar que si el ruido no es gaussiano (como hemos supuesto hasta ahora) los estimadores no serán efectivamente los óptimos, sino serán los mejores estimadores lineales posibles. Hemos ya dicho que un ARMA(n,m) puede siempre desarrollarse como MA(∞): Y ( z) W ( z) E( z) Y ( z ) wˆ (i) z i E ( z ) y(t ) wˆ (0) (t ) wˆ (1) (t 1) ... wˆ (i) (t i) ... i 0 Si pudiéramos conocer los coeficientes wˆ (i) nuestro predictor óptimo a un paso en función del ruido seria: ˆ (1) (t 1) w ˆ (2) (t 2)... w ˆ (i) (t i) ... y(t ) w (18) Es decir, todos los componentes que se refieren al pasado. En este caso la varianza de nuestra estimación será la mínima posible es decir wˆ (0) 2 2 (en el caso que W(z) esté en forma canónica quedaría solo 2 ). Mezclando el dominio temporal con el dominio Z, podemos dibujar este esquema: 7 W1 ( z) (t ) yˆ (t | t 1) Donde vale la relación: ˆ (0) z 1 Wˆ1 ( z) w ˆ (0) W1 ( z) W ( z) w (19) Para calcular W1 ( z) se puede operar una división entre polinomios, en manera que (suponiendo W(z) en forma canónica: numerador y denominador mismo orden, y coeficientes de las potencias más altas unitarios ( wˆ (0) 1 ) ): C ( z) C ( z) E( z) 1 A( z ) A( z ) (20) C ( z) C ( z) 1 1 (dividimosuna sola vez) A( z ) A( z ) Donde wˆ (0) 1 seria el cociente de la división y C1 ( z) seria el resto. Por ejemplo, 1 1 / 4 z 1 teniendo una W ( z ) , obtendríamos: 1 1 / 2 z 1 1 1 / 4 z 1 1 1/ 2 z 1 1 1 / 2 z 1 1 W ( z ) 1 z 1 1 / 4 z 1 1/ 4 1 1 / 2 z 1 El resultado logrado hasta ahora, de todas formas, nos deja poco satisfechos porque el predictor (18) siendo en función de muestras de ruidos en principio desconocidas, resulta de muy difícil aplicación. Es decir en el tiempo tendríamos: 1 1 yˆ (t | t 1) yˆ (t 1 | t 2) (t 1) 2 4 (21) Nos gustaría tener un predictor en función de los datos: 8 W 1 ( z ) y(t 1) A( z ) C( z) (t ) W1 C ( z) ~ W1 ( z ) 1 C ( z) y(t 1) C1 ( z ) A( z ) yˆ (t | t 1) yˆ (t | t 1) Esto se puede obtener con el esquema a bloque de arriba, donde los datos conocidos vienen previamente procesados por un filtro blanqueador. Para el ejemplo anterior quedaría: 1 / 4 z 1 ~ W1 ( z ) 1 1 / 4 z 1 (22) 1 1 yˆ (t | t 1) yˆ (t 1 | t 2) y (t 1) 4 4 Como se puede notar el predictor es, en general, recursivo: en alguna manera tendremos que inicializar el valor yˆ (0 | 1) , a lo mejor, con un proceso de estimación/predicción hacia atrás. Siguiendo con la división: 1 1 / 4 z 1 1 1/ 2 z 1 1 1 / 2 z 1 1 1 / 4 z 1 W ( z ) 1 1 / 4 z 1 z 2 1/ 8 1 1 / 2 z 1 1 / 4 z 1 1/ 4 z 1 1/ 8 z 2 1 / 8 z 2 Podemos encontrar el predictor a 2 pasos que en el tiempo, después de filtrar con el filtro blanqueador, se expresa: 1 1 yˆ (t | t 2) yˆ (t 1 | t 2) y (t 2) 4 8 (23) 9 La varianza del predictor a p-pasos será en general: p var yˆ (t | t p) wˆ (0) 2 wˆ (1) 2 ... wˆ ( p) 2 2 wˆ (i) 2 2 (24) i 0 Si p es infinito, tendríamos la varianza de la señal y(t). En nuestro ejemplo: var yˆ (t | t 1) 12 2 2 2 17 1 var yˆ (t | t 2) 12 2 2 16 4 (25) Claramente la varianza aumenta a medida que tratamos de predecir a un paso más lejano. La mínima varianza que podemos lograr es la del ruido, y asintoticamente tendremos la varianza de la entera señal, como muestra la figura siguiente: t y(0),…,y(t-1) p-pasos varyˆ (t | y(t p) var y(t ) var (t ) 1 2 3 4 5 p 7. Predictor a un paso para un AR Ahora mostraremos los casos particulares para señales AR y MA. Dada la señal generada solo por la parte auto-regresiva: M y(t ) a1 y(t 1) a2 y(t 2) .... a M y(t M ) (t ) ai y(t i) (t ) i 1 (26) (t ) ~ N (0, 2 ) El predictor óptimo a un paso se reduce a: 10 N yˆ (t | t 1) a1 y(t 1) a 2 y(t 2) .... a N y(t N ) ai y(t i) (27) i 1 Esto es evidente, si se piensa que todos los valores pasados están conocidos y que la única parte aleatoria es dada por (t ) . Como nos esperábamos, el predictor coincide con la media de la densidad descrita por la (17): y (t ) ~ p ( y (t ) | y (t 1),..., y (t N )) N y (t ) ~ N ai y (t i ) ; 2 i 1 (28) 8. Predictor a un paso para un MA Si la señal se expresa así: y(t ) (t ) c1 (t 1) c2 (t 2) .... cM (t M ) (t ) ~ N (0, 2 ) (29) El predictor óptimo a un paso tiene esta forma: M M i 1 i 1 yˆ (t | t 1) ci yˆ (t i | t i 1) ci y(t i) (30) En este caso el predictor es más complicado con una parte recursiva, porque en la expresión (29) aparecen muestras pasadas del ruido que nosotros no conocemos. Para confirmar que también se trata de una media del tipo Ey(t ) | y(t 1), y(t 2),...,y(t N ) , mostraremos un ejemplo sencillo. Consideremos: y(t ) (t ) c1 (t 1) con c1 1 para estar en formacanonica (31) Al tiempo t, suponiendo de poder conocer el ruido en los instantes pasados: y(t ) ~ p( y(t ) | (t 1)) y(t ) ~ N c (t 1); 2 (32) Y nuestro predictor seria la media c (t 1) ; pero conociendo solo los valores y(t) tendremos, en un cierto sentido, estimar también las muestras de ruidos en los instantes pasados. Esto resulta sencillo, si recordamos que nuestro estimador para ser optimo tiene que ser la media de la densidad (15), y por definición el error al tiempo t mide de cuanto nos alejamos de ella; así que podemos escribir: (t ) y(t ) yˆ (t | t 1) (33) Y por cuanto dicho anteriormente nuestro estimador óptimo queda así definido: 11 yˆ (t | t 1) c1 y(t 1) yˆ (t 1 | t 2) c1 yˆ (t 1 | t 2) c1 y(t 1) (34) 9. Predictor a un paso para un ARMA Juntando cuanto dicho en los párrafos anteriores, el predictor a un paso para un ARMA (1), será: N M y (t ) ai y (t i) (t ) ci (t i) i 1 i 1 M max( N , M ) i 1 i 1 yˆ (t | t 1) ci yˆ (t i | t i 1) (c (35) i ai ) y (t i) 10. Estudio de la serie temporal: la tendencia y ciclos La primera fase de un estudio de una serie temporal consiste en individuar tendencias a largo plazo: cambio en el nivel medio de la serie, u oscilaciones cíclicas. Una vez individuadas, habrá que: 1. Remover las tendencias. 2. Modelar con un modelo (en nuestro caso ARMA) y predecir. 3. Añadir a la predicción anterior, la predicción de la tendencia. Para remover una tendencia o una componente estacional se puede operar un diferenciado de periodo d: d y(t ) y(t ) y(t d ) (36) y(t ) y(t 1) 11. Identificación coeficientes Aunque el primer paso seria la identificación del orden de las parte MA y AR, nos resulta conveniente adelantar este párrafo porque describiremos un método que nos ayudar también para individuar las parámetros N y M . Si nuestro sistema tuviese solo la parte autoregresiva AR, la identificación de los coeficientes resultaría relativamente sencilla utilizando una simple regresión, y 12 suponiendo conocido el orden; es decir, se encuentran los coeficientes que minimizan (T numero de puntos): J T ( y(t ) cˆ 1 t N 1 y(t 1) cˆ2 y(t 2) ..... cˆ N y(t N ))2 (37) Una vez estimado el vector de coeficientes, se puede lograr la varianza del ruido en entrada simplemente mediando los errores cuadráticos (el error tiene media nula): var (t ) 1 T ( y(t ) cˆ1 y(t 1) cˆ2 y(t 2) ..... cˆN y(t N ))2 T t N 1 (38) Por ejemplo, simulando el sistema AR(2) con T 2000 : y(t ) 0.5 y(t 1) 0.2 y(t 1) (t ) (t ) ~ N (0,1) (39) y aplicando la regresión logramos: cˆ1 0.5252 cˆ 2 0.213 (40) ˆ 2 0.9775 Realmente cercanos a la realidad. Por mala suerte, el problema se complica para sistemas MA y más todavía para ARMA. Esto porque no podemos aplicar la regresión debido a la dependencia con muestras de ruidos desconocidas. Un método que trata de solucionar este problema es el Algoritmo de Hannan-Rissanen: 1. consiste en ajustar previamente un modelo AR (de orden alto) a los datos para estimar realmente las muestras de ruidos. 2. luego aplicar una regresión conjunta de datos y muestras de ruidos estimadas (obviamente hay que conocer el orden (N,M) del sistema). Esto será lo que aplicaremos a nuestra serie temporal. De todas formas, antes de todos resulta necesario conocer el orden del sistema (N,M). 13 12. Identificación orden El primer problema de identificación de nuestro modelo consiste en encontrar los órdenes N y M que mejor interpretan los datos. Para esto, Se suele mirar la función de autocorrelación, y la función de autocorrelación parcial. Esto porque si el sistema es solo MA la función de autocorrelación se anula por un retardo mayor que el orden M, mientras para un sistema AR pasaría lo mismo con la función de autocorrelación parcial. Podemos comprobarlo con unos datos simulados; por ejemplo con un modelo MA(4) de 2000 puntos: Se nota perfectamente como los primeros 4 muestras (la primera en cero) de la autocorrelación son distintas de ceros, mientras las demás caen dentro del intervalo de confianza. Al contrario para un sistema AR(4) (2000 puntos): 14 En general, para modelos ARMA la individuación del los parámetros N y M resulta mucho más compleja, como muestra la figura para una ARMA(1,2): Con estas funciones resulta imposible extrapolar el orden del sistema. Entonces hay que aplicar otra estrategia: nuestra idea es modificar ligeramente el Algoritmo de HannanRissanen para estimar N y M. Para ello seguiremos estos pasos: 1. Estimaremos las muestras del ruido ajustando un AR (de orden alto). 2. Fijando un valor M, es decir el orden de la parte MA, (empezando por 1 hasta un máximo preestablecido) se hace regresión con varios valores de parámetros N hasta que el modulo del ultimo coeficiente de parte AR sea muy pequeño (<0.1). 3. Se guarda el valor de N logrado anteriormente y se repite el punto 2 con otro M hasta un máximo preestablecido. Finalmente nuestra estimación N̂ del orden de la parte AR será el mínimo entre los valores guardados. 4. Ahora fijado N̂ , repetimos varias regresiones con M creciente hasta lograr el valor para que modulo del ultimo coeficiente de parte MA sea <0.1. Aunque este método haya unas limitaciones evidentes (por ejemplo, el sistema y(t ) 0.5 y(t 1) 0.4 y(t 3) (t ) resultaría de orden 1 y no de orden 3 porque el un coeficiente intermedio es nulo), suele tener buenas prestaciones. Por ejemplo si simulando 2000 puntos del siguiente sistema: y(t ) 0.5 y(t 1) (t ) 0.5 (t 1) 0.2 (t 2) (t ) ~ N (0,1) (41) 15 La estimación del orden es perfecta y los coeficientes (calculado con el clásico Algoritmo de Hannan-Rissanen): aˆ1 0.6402 cˆ1 0.3596 cˆ2 0.3177 (42) ˆ 2 0.9496 Para resolver el defecto descrito anteriormente en el calculo del orden, se puede modificar los punto 2 y 4 esperando que por un ciertos numero de veces (dos o tres veces, por ejemplo) consecutivas el modulo del ultimo coeficiente de regresión sea menor que 0.1. Nosotros, finalmente, nos conformamos esperando que la desigualdad se cumpla dos veces seguidas. 13. Aplicación a los datos reales Hemos aplicado los métodos anteriormente a una serie EEG muestreado a 256 Hz y 4000 puntos: Entrenando un ARMA con 3000 muestras hallamos: aˆ i 1.4019; - 0.3102; 0.1501;- 0.2443 cˆi - 0.7801; 0.4861; 0.0214; - 0.1940;-0.1130 (43) ˆ 2 1.3 103 Es N=4 y M=5 pero, vistos los valores, se podría reducir a N=2 y M=2. De todas formas, el valor tan alto no parece asegurar que el modelo sea el más adecuado. Pero si predecimos a un paso las siguientes 1000 muestras, se puede apreciar como el predictor consigue seguir razonablemente bien la serie real. En la figura de abajo se muestran solo las primeras 150 muestras, en rojo la predicción y en azul la trayectoria real. 16 El error cuadrático medio es 1.4129 103 que esta claramente relacionado con la varianza del ruido estimada. 17 14. Referencias [1] Sergio Bittanti: Theory of Prediction and Filtering. Pitagora Editrice, Bologna. [2] Francisco Javier González Serrano: Apuntes sobre predicción. [3] Antonio José Sáez Castillo: Aproximación mínimo-cuadrática de los valores de una variable aleatoria (apuntes). [4] Greg Welch and Gary Bishop: An Introduction to the Kalman Filter. 18