1. Introducción. 2. Identificación de un proceso lineal de primer

Anuncio
Modelo CEGH – Cambio paso de tiempo. pág. 1/5
Reducción del paso de tiempo en un modelo AR.
SimSEE - Reporte técnico / IIE-FING-UDELAR
Ruben Chaer y Enzo Coppes
Mayo 2011
Montevideo – Uruguay.
1. Introducción.
Este trabajo presenta una formulación para re-calcular las matrices de un filtro auto regresivo
(AR) multivariado que representa un proceso estocástico gaussiano estacionario. Es aplicable en los
casos en que se dispone de las matrices del filtro AR calculadas para simular cada intervalos de
tiempos dados T s y se requiere acortar el paso de simulación a uno T s <T s . Pore ejemplo, se
dispone del filtro para un paso semanal y se requiere simular con paso diario.
En la práctica, las matrices del filtro AR que representan un proceso estocástico multivariado se
obtienen a partir de las series temporales de una realización del proceso estocástico mediante un
proceso de identificación y son válidas para generar series sintéticas que intentan representar
realizaciones posibles del proceso estocástico identificado. Este modelo del proceso estocástico es
válido para ser utilizado en simuladores en los que se quiera representar el proceso estocástico en
cuestión. Por ejemplo la simulación del sistema electro-energético de Uruguay con SimSEE[1] se
utilizan modelos de los procesos estocásticos (caudales de aportes hidráulicos a las centrales de
generación hidroeléctricas por ej.), mediante un modelo CEGH[2]. En el ejemplo de los caudales
medios semanales a las represas, el modelo CEGH, contiene en su núcleo un filtro AR que
representa ese proceso con paso de simulación semanal pues fue identificador con series históricas
de caudales medios semanales. Si queremos realizar una simulación de la generación hidroeléctrica
con paso diario u horario, no es directamente utilizable el modelo AR así identificado y será
necesario realizar una nueva identificación del modelo a partir de series de datos con paso diario y
horario o en su defecto buscar una forma de obtener las matrices del filtro AR a partir de las
matrices identificadas con paso semanal con formulaciones como la que se desarrolla en lo que
sigue.
1
2
1
2. Identificación de un proceso lineal de primer orden AR(1) a
partir de una serie temporal de datos.
En esta sección se mostrará como identificar un proceso como un filtro AR(1) entendiendo por
tal un filtro lineal Auto Regresivo de orden 1 (uno) y en la sección siguiente se generaliza el método
para filtros de orden mayor.
Sea { X } un proceso ergódico del que se dispone de una realización dada por una serie de
datos obtenidos por muestreo cada intervalos T s y que se quiere representar dicho proceso
mediante un filtro lineal recursivo de orden 1 que es atacado por un vector de ruidos blancos
gaussianos
Rk como muestra la ec.1.
1
X k+1= A X k + B Rk
ec.(1) Proceso
{X }
Modelo CEGH – Cambio paso de tiempo. pág. 2/5
El que el índice k representa los valores al instante de muestreo kT s +t 0 siendo T s
paso de simulación y t 0 el instante inicial.
1
1
el
Aplicada la ec.1 sobre toda la serie de datos lleva a un sistema lineal en el que se puede calcular
la salida en el instante k +1 a partir del valor en el instante k más una componente de ruido.
La identificación de la matriz A por mínimos cuadrados es la que reduce la varianza de lo no
explicado. Se puede demostrar, que realizar la identificación por mínimos cuadrados lleva a calcular
la matriz A como se expresa en la ec.2 a continuación.
(
T −1
A= ⟨ X k X k ⟩
ec.(2) Cálculo de la matriz A
del filtro AR(1) lineal por mínimos
cuadrados.
T
⟨ X k X Tk +1 ⟩)
Multiplicando ambos lados de la ec.1 por sus respectivos traspuestos, puede escribirse la matriz
de covarianzas del proceso { X } :
⟨ X k+1 . X Tk +1 ⟩=⟨ ( A X k + B R k ) . ( A X k + B Rk )T ⟩ =⟨ AXX Tk AT + BRk X Tk AT + AXR Tk BT + BRk RTk BT ⟩
Y teniendo en cuenta que
⟨ Rk X Tk ⟩=⟨ X k RTk ⟩=0
y
⟨ X k+1 X Tk+1 ⟩ =A ⟨ X k X Tk ⟩ AT + BBTk
⟨ Rk RTk ⟩= I
podemos escribir:
ec.(3)
Si el proceso es ergódico y estacionario, ⟨ X k+1 X Tk+1 ⟩ =⟨ X k X Tk ⟩=⟨ XX T ⟩ independiente de k
permite utilizar la ec. 3 para calcular la matriz B como se indica en la ec.4:
BB T =⟨ XX T ⟩ −A ⟨ XX T ⟩ AT
ec.(4) Cálculo de la matriz B
del filtro AR(1) por mínimos
cuadrados.
A partir del producto BB T es posible calcular una matriz B mediante la factorización de
Cholesky o mediante el cálculo de los autovectores de la matriz BB T . Por supuesto que para que
sea posible calcular una matriz B con coeficientes reales es necesario que el producto BBT
sea una matriz semidefinida positiva.
De esa forma se identifican dos matrices
A y
B a partir de las series de datos disponibles.
Modelo CEGH – Cambio paso de tiempo. pág. 3/5
3. Generalización al caso de múltiples retardos. AR(p).
Supóngase ahora que interesa identificar el filtro AR ( p) de p retardos que mejor ajusta a
la realización del proceso estocástico disponible. La ecuación del filtro es la que se muestra en ec.5
h= p−1
ec.(5) Filtro AR( p)
X k+1= ∑ Ah X k−h + BR k
h=0
Se dispone para ello de las series de datos históricos de un proceso que se supone ergódico
{X k } .
Definiendo el vector: Y Tk =( X Tk , X Tk−1 , X Tk−2 ,⋯ , X Tk−( p −1 )) como la concatenación de los
p vectores X k−h y la matriz de incógnitas: A=( A0 , A 1 , A2 ,⋯ , A( p−1) ) como la
concatenación de las p matrices Ah con h=0 ... p−1 y transponiendo la ec.5 y
multiplicando por la izquierda ambos lados por Y k se puede escribir el sistema lineal solución de
la matriz A que minimiza el error cuadrático esperado como: ⟨Y k Y Tk ⟩ AT =⟨ Y k X Tk +1 ⟩ .
Invirtiendo el sistema se obtiene el conjunto de matrices A
(
−1
T
como: A= ⟨ Y k Y k ⟩
T
⟨ Y k X Tk+1 ⟩ )
Para el cálculo de la matriz B se tiene en cuenta que el filtro de la ec.5 debe producir una
salida cuya matriz de covarianzas ⟨ X.X T ⟩ sea la de las series de datos y que el vector Rk es
un conjunto de ruidos blancos gaussianos de varianza unidad.
Multiplicando ambos lados de la ec.5 por sus respectivos transpuestos se obtiene:
⟨ X k+1 X Tk+1 ⟩ = ( AY k + BR k )( A Y k + BRk )T
⟨
⟩
⟨ X k+1 X Tk+1 ⟩ =⟨ A Y k Y Tk AT + BRk RTk BT + A Y k RTk BT + BRk Y Tk AT ⟩
⟨ X k+1 X Tk+1 ⟩ =A ⟨ Y k Y Tk ⟩ AT + B ⟨ R k RTk ⟩ BT + A ⟨ Y k RTk ⟩ BT + B ⟨ Rk Y Tk ⟩ AT
Suponiendo la independencia de las entradas respecto al pasado (representado en el estado del
filtro) se verifica que: ⟨ Y k RTk ⟩=⟨ Rk Y Tk ⟩=0 y dado que estamos buscando B para que las
entradas del filtro sean gaussianas independientes de norma 1 se deberá cumplir
lo cual llegamos a: BB =A ⟨Y k Y
T
T
k
⟨ Rk RTk ⟩= I
⟩ A −⟨ X k+1 X ⟩
T
T
k+1
Y al igual que para el caso AR (1) , una vez calculado el producto BBT es posible obtener
una matriz B por varios métodos (Cholesky o diagonalización por vectores propios u otros).
con
Modelo CEGH – Cambio paso de tiempo. pág. 4/5
4. Simulación con paso de tiempo inferior al usado en la
identificación.
En las secciones anteriores se mostró como calcular las matrices del filtro lineal a partir de las
series de datos {X k } . En el proceso de identificación del filtro no interviene el período de
muestreo, pero la serie de valores corresponde a algún período de muestreo. Sea T s el período de
muestreo de los valores de la realización utilizada para la identificación del filtro.
El filtro lineal de la ec.5 es utilizado en SimSEE (dentro del espacio gaussiano en los modelos
CEGH) para simular realizaciones del proceso estocástico. En esta sección se muestra como
calcular las matrices de un filtro lineal equivalente si en lugar de realizar la simulación con un
intervalo T s se quiere realizar con un intervalo T s =T s /m .
A modo de ejemplo en esta situación estamos en SimSEE cuando se realizan simulaciones con
paso horario o diario siendo que los datos originales de caudales de aportes a las represas son
valores semanales. Es así, que dadas las matrices del proceso con paso semanal, aplicando lo
desarrollado en esta sección se calcularán las matrices de los procesos horario o diario que permiten
generar realizaciones de los procesos que al ser observadas con paso semanal reproduzcan las
dependencias estadísticas observadas en las series de datos originales.
Por simplicidad del desarrollo trabajaremos sobre el supuesto de un sistema lineal representable
con un filtro AR(1).
Llamemos {y } al proceso que genera el vector con los valores de las series cada intervalos
T s =T s /m la ecuación del filtro lineal con el que pretendemos representar el proceso podría
escribirse:
1
1
2
2
1
1
y j+1 =a y j + b r j
ec.(6) Proceso
{y }
Si se realiza un muestreo el proceso {y } cada m pasos podemos escribir:
y j+ m=a m y j +
h =m−1
∑
h=0
a m−1−h b r j +h
ec.(7) Proceso
{y } muestreado
cada m
La matriz de covarianzas del proceso {y } a partir de la ec. [eq:proceso Y] podemos escribirla
como:
T
⟨ yyT ⟩ =a m ⟨ yy T ⟩ ( a m )
h=m−1
+
∑
T
a m−1−h bbT ( a m−1−h )
h=0
Si el proceso {y } muestreado cada m pasos, es el mismo que el proceso {X } , al tratarse
de un proceso ergódico se verifica: ⟨ yyT ⟩ =⟨ XX T ⟩ con lo cual si comparamos las ec.1 y la ec.7 se
verifica que una solución para las matrices del proceso {y } son:
a m= A
ec.(8) Relación entre las matrices
“A” y “a”.
y
h=m−1
∑
h=0
T
a m−1−h bb T ( a m−1−h ) =BBT
ec.(9) Relación entre las matrices
“B” y “b”.
Modelo CEGH – Cambio paso de tiempo. pág. 5/5
La ec.9 es lineal en la incógnita bbT por lo cual es posible escribirla como un sistema lineal
vectorizando ambos lados de la ec.9 lo que hace que se pueda escribir como se muestra en la ec.10.
ec.(10)
M vec ( bbT )=vec ( BB T )
Dónde vec ( Z ) es es el vector que tiene las columnas de la matriz
operación es lo que llamamos “vectorizar” la matriz.
Z
concatenadas. A esta
Para calcular la matriz M de la ec.10, basta calcular el lado izquierdo de la ec.9 sustituyendo
T
bb por los vectores de la base del espacio de vec ( bbT ) uno a uno, des-vectorizados y
vectorizar el resultado obteniendo así las columnas de M .
Otra forma de calcular M es utilizando la expresión:
[∑
kron( A j , A j) vec ( bbT )=vec( BBT ) lo que da la operación para el cálculo de la matriz
M
utilizando el producto de Kronoecker.
m−1
j=0
]
A continuación se lista el código Matlab para cálculo de la matriz b
function b=calc_b(A, B, m)
nrows = size( A )(1);
Aj = eye(nrows);
M=kron( Aj, Aj);
for j=1: m-1
Aj= Aj ^A;
M=M+kron(Aj,Aj);
endfor
bbt=M \ vec(B*B');
b=chol(reshape(bbt, nrows, nrows));
endfunction
5. Referencias.
[1] Gonzalo Casaravilla, Ruben Chaer, Pablo Alfaro, SimSEE : Simulador de Sistemas de Energía
Elétrica. Proyecto PDT 47/12. Technical Report 7, Universidad de la Repúlica (Uruguay). Facultad
de Ingeniería. Instituto de Ingeniería Elétrica, Number 7 - Dec. 2008.
[2] Chaer, Ruben and Zeballos, Raul. Simplified Model of a Hydroelectric Generation Plant for
Teaching Purposes. Latin America Transactions, IEEE (Revista IEEE America Latina). Volume:4,
Issue: 3. Digital Object Identifier: 10.1109/TLA.2006.4472114. Publication Year: 2006, Page(s):
198- 211.
Descargar