Quelles sont les techniques d'échantillonnage de deux variables aléatoires corrélées?

16

Quelles sont les techniques d'échantillonnage de deux variables aléatoires corrélées:

  • si leurs distributions de probabilité sont paramétrées (par exemple, log-normal)

  • s'ils ont des distributions non paramétriques.

Les données sont deux séries temporelles pour lesquelles nous pouvons calculer des coefficients de corrélation non nuls. Nous souhaitons simuler ces données à l'avenir, en supposant que la corrélation historique et les séries chronologiques CDF sont constantes.

Pour le cas (2), l'analogue 1-D serait de construire le CDF et d'en échantillonner. Je suppose donc que je pourrais construire un CDF 2D et faire la même chose. Cependant, je me demande s'il existe un moyen de s'en approcher en utilisant les CDF 1-D individuels et en reliant d'une manière ou d'une autre les choix.

Merci!

Pete
la source
3
Lier des CDF 1-D me fait penser aux copules . Je ne sais pas s'ils vous seraient utiles.
onestop

Réponses:

23

Je pense que ce que vous cherchez, c'est une copule. Vous avez deux distributions marginales (spécifiées par des cdfs paramétriques ou empiriques) et maintenant vous voulez spécifier la dépendance entre les deux. Pour le cas bivarié, il y a toutes sortes de choix, mais la recette de base est la même. Je vais utiliser une copule gaussienne pour faciliter l'interprétation.

Pour tirer de la copule gaussienne avec la matrice de corrélation C

  1. Dessiner (Z=(Z1,Z2)N(0,C)

  2. Réglez pour i = 1 , 2 (avec Φ le cdf normal standard). Maintenant U 1 , U 2U [ 0 , 1 ] , mais ils sont dépendants.Ui=Φ(Zi)i=1,2ΦU1,U2U[0,1]

  3. Yi=Fi1(Ui)Fi1iYi

Voila! Essayez-le pour quelques cas simples et regardez les histogrammes marginaux et les scatterpolots, c'est amusant.

Aucune garantie que cela soit approprié pour votre application particulière (en particulier, vous devrez peut-être remplacer la copule gaussienne par une copule), mais cela devrait vous aider à démarrer. Une bonne référence sur la modélisation des copules est Nelsen (1999), An Introduction to Copulas , mais il y a aussi de très bonnes introductions en ligne.

JMS
la source
2
+1 Nelsen est assez lisible. J'ai acheté une copie il y a quelques années, même après avoir parcouru de nombreux documents en ligne.
whuber
1
J'ai trouvé un excellent tutoriel et une feuille de calcul qui l'accompagne: behan.ws/copula.pdf et soa.org/files/xls/rsrch-copula-ex.xls
Pete
1
@Pete, le papier est vraiment sympa. Le lien du tableur, en revanche, est mort
Boris Gorelik
Il semble que les versions récentes de Mathematica et Matlab disposent déjà de fonctions intégrées gérant ce problème?
LCFactorisation
que faire si je veux faire de même avec une copule plackett? existe-t-il une relation entre la copule normale et la copule plackett?
fedvasu
2

X1Oui+ZX2W+ZZU(1-U)

Une troisième méthode populaire est (NORTA) NORmal To Anything ; générer des variables normales corrélées, en faire des variables aléatoires uniformes en évaluant leurs cdfs respectifs, puis utiliser ces "nouvelles" variables aléatoires uniformes comme source de caractère aléatoire pour générer des tirages à partir de la nouvelle distribution.

Outre l'approche copula (toute une classe de méthodes) mentionnée dans un autre article, vous pouvez également échantillonner à partir de la distribution de couplage maximale qui est similaire dans l'esprit à l'approche copula. Vous spécifiez les distributions marginales et l'échantillon du couplage maximal. Ceci est accompli par 2 étapes d'acceptation-rejet comme décrit par Pierre Jacob ici . Vraisemblablement, cette méthode peut être étendue à des dimensions supérieures à 2, mais pourrait être plus compliquée à réaliser. Notez que le couplage maximal induira une corrélation qui dépend des valeurs des paramètres des marginaux voir ce post pour un bel exemple de cela dans la réponse de Xi'an à ma question.

Si vous êtes prêt à accepter des échantillons approximatifs (dans la plupart des cas), les techniques MCMC sont également une option pour échantillonner à partir de distributions multidimensionnelles.

En outre, vous pouvez utiliser des méthodes d' acceptation-rejet , mais il est généralement difficile de trouver une densité dominante à échantillonner et d'évaluer le rapport de celle-ci à la densité souhaitée.

C'est toutes les méthodes supplémentaires auxquelles je peux penser, mais il y en a probablement quelques-unes qui m'ont manqué.

Lucas Roberts
la source