Red de conocimiento de divisas - Empezando con las acciones - ¿Cómo generar una señal gaussiana con covarianza media cero conocida en matlab?

¿Cómo generar una señal gaussiana con covarianza media cero conocida en matlab?

¿Cómo generar la matriz de covarianza Cx =;

¿Cómo transformar una variable aleatoria que satisfaga la matriz de covarianza requerida a partir de dicha muestra?

Cuando la media es cero, Cz=E{z*z'},

Asumimos x=A*z, entonces CX = e { x * x ' } = e {(A * z)*(A * z)' } = A * e { z * z ' } * A ' = A * cz * A ' = A * A '

Ahora el problema resuelto es a* A ' = Cx =[4-1;-1 2], ¿cómo encontrar a? Obviamente, hay muchas A de ese tipo. Para facilitar el cálculo, asumimos que A es una matriz simétrica, es decir, A = A’, entonces el cuadrado de A es igual a Cx y A es igual a la raíz cuadrada de Cx.

El proceso es el siguiente:

z=randn(2,N);

x = sqrtm(Cx)* z;

Si es una media distinta de cero, agregue x = x+media*(1,n);

Nota:

En el programa (1), sqrtm(Cx ) se utiliza para encontrar la raíz cuadrada, en lugar de sqrt(Cx). El primero es encontrar A que satisfaga A*A=Cx, y el segundo es encontrar A que satisfaga A.*A=Cx.

(2) Cuando el valor de n es demasiado pequeño, Cz puede no ser igual a [1 0 0 1]. Cuanto menos datos, menos pueden reflejar las características estadísticas.

上篇: Gestión del Turismo Navideño 下篇: ¿Cuáles son los métodos de liquidación del comercio exterior?
Artículos populares