Estoy tratando de generar muchos sorteos (es decir, realizaciones) de un proceso gaussiano , con media 0 y función de covarianza .
¿Hay una manera eficiente de hacer esto que no implique el cálculo de la raíz cuadrada de un ¿Matriz de covarianza? Alternativamente, ¿alguien puede recomendar un R
paquete para hacer esto?
r
probability
simulation
stochastic-processes
gaussian-process
usuario603
fuente
fuente
mvtnorm
tienermvnorm(n, mean, sigma)
dóndesigma
está la matriz de covarianza; tendrías que construir la matriz de covarianza para tu muestra / seleccionadormvnorm
).Respuestas:
Si. Existe un algoritmo muy eficiente (tiempo lineal), y su intuición proviene directamente del caso de muestra uniforme.
Supongamos que tenemos una partición de[0,T] tal que 0=t0<t1<t2<⋯<tn=T .
Estuche uniformemente muestreado
En este caso tenemosti=iΔ dónde Δ=T/n . DejarXi:=X(ti) denotar el valor del proceso discretamente muestreado en el momento ti .
Es fácil ver que elXi formar un proceso AR (1) con correlación ρ=exp(−Δ) . Por lo tanto, podemos generar una ruta de muestra{Xt} para la partición de la siguiente manera
Caso general
Entonces podríamos imaginar que podría ser posible hacer esto para una partición general . En particular, dejemosΔi=ti+1−ti y ρi=exp(−Δi) . Tenemos eso
En efecto,EXi+1Xi=ρi y así al menos tenemos la correlación correcta con el término vecino.
El resultado ahora se obtiene mediante la telescopía a través de la propiedad de la torre de expectativa condicional. A saber,
Esto prueba el resultado. Por lo tanto, el proceso se puede generar en una partición arbitraria a partir de una secuencia de iidN(0,1) variables aleatorias en O(n) tiempo donde n es el tamaño de la partición
NB : Esta es una técnica de muestreo exacta , ya que proporciona una versión muestreada del proceso deseado con las distribuciones finitas dimensionales correctas . Esto contrasta con los esquemas de discretización de Euler (y otros) para las SDE más generales, que incurren en un sesgo debido a la aproximación por discretización.
fuente
Calcule la matriz de covarianza descompuesta por descomposición de Cholesky incompleta o cualquier otra técnica de descomposición de matriz. La matriz descompuesta debe ser TxM, donde M es solo una fracción de T.
http://en.wikipedia.org/wiki/Incomplete_Cholesky_factorization
fuente