J'essaie de générer de nombreux tirages (c'est-à-dire des réalisations) d'un processus gaussien , avec la moyenne 0 et la fonction de covariance .
Existe-t-il un moyen efficace de le faire qui n'impliquerait pas de calculer la racine carrée d'une matrice de covariance ? Sinon, quelqu'un peut-il recommander un package pour ce faire?R
mvtnorm
armvnorm(n, mean, sigma)
oùsigma
est la matrice de covariance; vous devez cependant construire vous-même la matrice de covariance pour vos t échantillonnés / sélectionnésrmvnorm
Réponses:
Oui. Il existe un algorithme très efficace (temps linéaire), et son intuition vient directement du cas échantillonné uniformément.
Supposons que nous ayons une partition de tel que .[0,T] 0=t0<t1<t2<⋯<tn=T
Cas échantillonné uniformément
Dans ce cas, nous avons où . Soit la valeur du processus échantillonné discrètement au temps .ti=iΔ Δ=T/n Xi:=X(ti) ti
Il est facile de voir que les forment un processus AR (1) avec corrélation . Par conséquent, nous pouvons générer un exemple de chemin pour la partition comme suit où sont iid et .Xi ρ=exp(−Δ) {Xt}
Cas général
On pourrait alors imaginer qu'il pourrait être possible de le faire pour une partition générale . En particulier, soit et . Nous avons cela et nous pouvons donc deviner queΔi=ti+1−ti ρi=exp(−Δi)
En effet, et donc nous avons au moins la corrélation avec le terme voisin correcte.EXi+1Xi=ρi
Le résultat suit maintenant en se télescopant via la propriété de la tour de l'attente conditionnelle. A savoir, et les télescopes de produit dans le de la manière suivante
Cela prouve le résultat. Par conséquent, le processus peut être généré sur une partition arbitraire à partir d'une séquence de variables aléatoires iid en temps où est la taille de la partition.N(0,1) O(n) n
NB : Il s'agit d'une technique d'échantillonnage exacte en ce qu'elle fournit une version échantillonnée du processus souhaité avec les distributions de dimensions finies exactement correctes . Cela contraste avec les schémas de discrétisation d'Euler (et d'autres) pour les SDE plus généraux, qui encourent un biais en raison de l'approximation via la discrétisation.
la source
Calculez la matrice de covariance décomposée par décomposition Cholesky incomplète ou toute autre technique de décomposition matricielle. La matrice décomposée doit être TxM, où M n'est qu'une fraction de T.
http://en.wikipedia.org/wiki/Incomplete_Cholesky_factorization
la source