Modelación masiva X-ARIMA - TOL

Transcripción

Modelación masiva X-ARIMA - TOL
Modelación masiva X-ARIMA
Víctor de Buen Remiro
[email protected]
www.bayesforecast.com
Resumen
A la hora de estimar modelos X-ARIMA sobre miles o incluso millones de series output con una estructura
ARIMA en común, si se organizan bien los datos y los procedimientos, es posible ahorrar mucho tiempo de
cálculo y aún así alcanzar soluciones sucientemente aproximadas. En los métodos de estimación uno a uno
(en contraposición a los métodos masivos aquí expuestos), el énfasis de los algoritmos numéricos se pone en
estimar los parámetros ARMA que son no lineales y que pueden dar problemas de convergencia. Sin embargo,
cuando sólo hay uno o dos parámetros ARMA que hay que evaluar en una gran cantidad de outputs de la
misma longitud, resulta más eciente un método de exploración directa, pues, aunque se evalúe en muchos más
puntos que con un método iterativo más complejo, la mayor parte del cálculo sirve para todos los modelos. Si
además todos los inputs lineales son comunes a todos los modelos entonces el ahorro aún es mayor con respecto
a una solución uno a uno.
Tenemos N series output homocedásticas de longitud T con el mismo dominio temporal, es decir,
el mismo fechado y las mismas fechas de origen y n, las cuales almacenamos matricialmente por
columnas
Y = (Y1 , . . . , YN ) ∧ Yn = (y1,n , . . . , yT,n )
T
∀ n = 1...N
Tenemos también un conjunto de M < T series input comunes para todas ellas en el mismo dominio
temporal
T
X = (X1 , . . . , XM ) ∧ Xm = (x1,m , . . . , xT,m )
∀ m = 1...M
Como punto de partida y para simplicar, supondremos que queremos estimar para cada una de
las series output un modelo X-ARIMA con ltro lineal X común a todos los outputs y estructura
AR(0)I(1)MA(1), aunque más adelante se verá que la técnica expuesta a continuación es extensible a
cualquier modelo ARIMA regular o estacional con pocos parámetros. Sea pues el modelo
wt,n
wt,n
zt,n
at,n
(1 − θn )at,n
(1 − B) zt,n
M
P
= yt,n −
xt,m · bm,n
m=1
∼
N 0, σn2
=
=






∀ n = 1...N ∧ t = 1...T





o bien escrito matricialmente
wn
wn
zn
an
= (1 − θn )an
= (1 − B) Zn
= Yn − X · bn
∼ N 0, σn2 IT
La verosimilitud de cada uno de estos modelos es
1







∀ n = 1...N
2
− T
T −1
1
−1
L βn , θn , σn2 = 2πσn2 2 |Σθn .T | 2 e− 2 wn Σθn .T wn
o en términos logarítmicos
1
1
T
ln L βn , θn , σn2 = − ln 2πσn2 − ln |Σθn .T | − 2 wnT Σ−1
θn .T wn
2
2
2σn
siendo Σθ.T la matriz de autocovarianzas de orden T del proceso MA(1) cuya descomposición de
Cholesky existe para cualquier θ ∈ (−1, 1)
0
Σθ.T = Lθ.T · Lθ.T
Es fácil comprobar que condicionando al parámetro θ y aplicando el cambio de base
en = L−1
θ.T wn
el problema se reduce a una regresión lineal
Vn
en
sobre las matrices transformadas
Vn = U · bn + en
= U · bn + en
∀ n = 1...N
∼ N 0, σn2 IT
V = L−1
θ.T (1 − B) Y
U = L−1
θ.T (1 − B) X
Obsérvese que el vector et,n , a pesar de tener la misma distribución normal que los residuos del
modelo at,n , se reeren a otro concepto distinto, aunque convergen cuando t tiende a innito, y en la
práctica son casi lo mismo a partir de cierto momento dependiente de las raíces MA. La ventaja que
ofrecen es que no es necesario calcular los valores iniciales.
Así pues, los parámetros lineales y la varianza condicionados entre sí y por el parámetro θ son
variables aleatorias con distribuciones normal y chi-cuadrado inversa respectivamente:
bn |σn2 , θ ∼ N b̂n , σn2 ΣU
σn2 |bn , θ ∼ χ−2 T − M − 1, T σ̂n2
siendo
T
Σ−1
U =U ·U
b̂n = ΣU · UT · Vn
ên = Vn − Ub̂n
σ̂n2 =
1 T
ê ên
T n
Obsérvese que los términos que mayor coste computacional involucran son
−1
−1
Σθ.T , Σ−1
θ.T , |Σθ.T | , Lθ.T , Lθ.T , ΣU , ΣU
lo cuales afortunadamente sólo deben ser calculados una vez para cada valor distinto de θ, pues no
dependen del output concreto que se esté modelando.
En condiciones normales no tiene demasiado sentido estimar θn con demasiada precisión y suele
bastar con un par de decimales o aún menos. Además, muy a menudo tenemos cierto conocimiento a
3
priori sobre este parámetro y podemos acotarlo en un intervalo que una vez discretizado nos quedaría
de la forma
θn ∈ {ϑ1 , ϑ2 , . . . , ϑH } ∧ ϑh = ϑ1 + δ (h − 1)
por lo que podríamos estimar por exploración directa en este parámetro y obtener los parámetros
lineales condicionados para cada serie así como el valor de la log-verosimilitud.
Si queremos renar la estimación para obtener una mayor precisión podríamos interpolar polinomialmente para cada serie los valores de la log-verosimilitud alcanzados para cada ϑh y obtener así
una mejor aproximación del máximo correspondiente a cada una, aunque esto ya conllevaría calcular
N veces distintas todos los términos necesarios para la estimación. Por este motivo quizás sería más
conveniente redondear los parámetros obtenidos y clasicar las series según el parámetro redondeado para minimizar el coste computacional al coincidir muchos de ellos, aunque no todos como en la
primera fase. Nótese que el mismo mecanismo podría usarse para estimar cualquier modelo X-ARIMA
regular o estacional con un sólo parámetro.
Si tenemos dos parámetros, como por ejemplo un AR(1)I(1)MA(1), de parámetros(φn , θn ) o un
modelo estacional AR(1,0)I(0,4)MA(0,4) de parámetros (θn , Θn ), entonces habría que evaluar los
parámetros lineales y la log-verosimilitud en una retícula bidimensional de valores equidistantes. También se podría renar interpolando un polinomio bi-variante en cada serie pero la probabilidad de
coincidir muchos modelos en el mismo par de parámetros sería ahora muchísimo menor así que no
resultaría eciente aplicar este método masivo, por lo que el método sería aplicable sólo si no se precisa
mucha precisión.
La complejidad de los métodos numéricos de optimización no lineal para la estimación de modelos
X-ARIMA aplicados uno a uno, tienen complejidad
2
O N A + T (M + p + q) · H c
siendo p y q , el número de parámetros AR y MA factorizados estacionalmente si procede, H el inverso de
la precisión deseada y c un valor que suele estar entre 2 y 3 dependiendo de lo bien o mal condicionado
que esté el problema. El factor A, dependiendo del método concreto empleado en la evaluación de la
verosimilitud del modelo ARIMA, puede ser una de las siguientes expresiones


T (p + q + T )
A = T (p + q + ln (T ))2


2
T (p + q) + (P + Q)
: Levinson
: Superfast Toeplitz
: Almagro
siendo P y Q los grados de los polinomios AR y MA agregados multiplicativamente.
El método de exploración directa recién expuesto conlleva en cambio una complejidad
O
2
N · T · M + T 2 + T (p + q) + M 2 H p+q
Si el número de outputs es mucho mayor que la longitud, N T > M , la expresión de la complejidad está claramente dominada por el término
O N · T · M · H p+q
Para 1 ó 2 parámetros se tiene p + q ≤ 2 < c y H p+q < H c por lo que el método masivo será
mucho más eciente incluso aunque no haya inputs lineales, es decir si M = 0. Para tres parámetros
sólo tendría sentido aplicarlo si hay muchos inputs y la precisión requerida no es muy na.

Documentos relacionados