11. Predicción

Anuncio
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 ) EY 
dJ
 2 EY   2T ( y )  0  T ( y )  EY 
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)  Ey(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
varyˆ (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
Ey(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
Descargar