Génération de variables aléatoires causalement dépendantes

8

J'essaie de générer des ensembles de variables aléatoires liées de manière causale et j'ai commencé à le faire avec une approche de monte carlo.

La ligne de base est un histogramme mesuré en 2 dimensions à partir duquel je tire des valeurs aléatoires.

Dans mes exemples concrets, ces variables sont l'accélération et la vitesse - donc évidemment doit tenir.avvi+1=vi+aidt

Mon approche naïve actuelle est la suivante:

Je commence par un peu de . Ensuite, je génère un aléatoire en fonction de la probabilité mesurée de pour la valeur de . En utilisant je peux calculer et toute la procédure recommence.v0a0av0a0v1

Donc, quand je vérifie les accélérations générées dans des bacs de tout va bien. Mais évidemment, cela ne respecte pas du tout la distribution marginale de .avv

Je suis un peu familier avec les méthodes de base de monte carlo, bien que manquant d'un peu de fond théorique comme vous pouvez le deviner. Je serais bien si les deux variables étaient juste connectées par une matrice de corrélation, mais la connexion causale entre les deux me donne des maux de tête.

Je n'ai pas réussi à trouver un exemple pour ce genre de problème quelque part - je suis peut-être en train de googler les mauvais termes. Je serais satisfait si quelqu'un pouvait m'indiquer une littérature / un exemple ou une méthode prometteuse pour mettre la main dessus.

(Ou dites-moi que ce n'est pas vraiment possible compte tenu de mes entrées - c'est ce que je suppose de temps en temps ...)

ÉDITER:

Le but réel de toute cette procédure: j'ai un ensemble de mesures et , représentées dans un histogramme bidimensionnel . Compte tenu de cette entrée, je voudrais générer des ensembles de et qui reproduisent la distribution mesurée.avN(a,v)arvr

Sébastien
la source
1
Une question intéressante. Cependant, le second "évidemment" (ne pas respecter la distribution marginale) n'est pas du tout clair pour moi. Pourquoi est-ce évident? La distribution de , telle que reflétée par votre "histogramme bidimensionnel", dépend de la façon dont vous avez échantillonné ces variables; Je me demande si cela pourrait expliquer d'éventuelles différences. Quels types de données sont représentés par cet histogramme et comment en "tirez-vous des valeurs" exactement? (v,a)
whuber
Eh bien, pour moi, c'est un peu évident, car les distributions sont à peu près symétriques autour de zéro. Ainsi, lorsque vous générez l' il n'y a aucune dépendance vis-à-vis de . Lorsque le courant est au bord supérieur de la distribution marginale , vous supposeriez qu'il devrait y avoir un biais vers négatif . "dessiner des valeurs" fait référence à: prendre la distribution de probabilité 1-dim, construire la distribution cumulative, lancer un nombre aléatoire entre 0 et 1, trouver le où le cum. la distribution a la valeur . Ce est ma "valeur tirée"aaivvvairxrx
sebastian
Par souci d'exhaustivité: les données proviennent de l'enregistrement GPS. J'ai un ensemble de trajets enregistrés dans les voitures, qui enregistrent la vitesse à 1 Hz. Donc, c'est une paire de et pour chaque point de données. Ceux-ci sont remplis dans l'histogramme. va
Sebastian
2
Vos commentaires indiquent que vous supposez que et sont indépendants. Cela ne peut pas être possible, car il y a des limitations physiques aux vitesses: cela signifie que de nombreuses accélérations ne seront pas ressenties aux vitesses les plus extrêmes. Cependant, il n'est pas facile de fournir des conseils plus détaillés parce que vous n'avez pas articulé ce que vous essayez d'accomplir; au lieu de cela, vous avez décrit une approche pour résoudre un problème non déclaré. Pourquoi ne modifiez-vous pas cette question et ne posez-vous pas plutôt la question du problème que vous devez résoudre plutôt que de la manière d'implémenter une solution qui ne semble pas valide? av
whuber

Réponses:

1

Il semble que pour reproduire la distribution conjointe , vous devez sélectionner nouveau non seulement basé sur , mais également basé sur l'ancien :ρ(a,v)ava

ai+1ρ(ai+1|ai,vi)

La question (à laquelle je ne connais pas encore la réponse) est de savoir comment trouver qui produit .ρρ

UPD: Vous devez résoudre l'équation intégrale suivante:

ρ(a,v)=daρ(a|a,va+a2Δt)ρ(a,va+a2Δt)

En approximant la fonction avec un histogramme, vous la transformez en un système d'équations linéaires:ρ

{ρ(a,v)=aρ(a|a,va+a2Δt)ρ(a,va+a2Δt)aρ(a|a,v)=1

Ce système est sous-déterminé. Vous pouvez appliquer une pénalité de douceur pour obtenir une solution.

user31264
la source
0

Les données GPS ne contiennent-elles pas la position ? J'aurais pensé que non seulement dépend de et mais serait également dépendant de . Considérez: dans tout réseau routier, il y a des goulots d'étranglement, des limites de vitesse, des signaux, des intersections, des pentes abruptes, etc. qui sont géolocalisés. Donc, quelque chose comme un ensemble (distribution) défini par:pvi+1viaiai+1pi

Fa=Pr(Ai+1ai+1 | ai,vi,pi)
vi+1=vi+aidt

Pour un tel ensemble, la difficulté réside dans la nature des données. Il est probable que la vraie population sera asymétrique, non linéaire (par morceaux) et ne pourra pas avoir de moments définis. Ces caractéristiques peuvent ne pas être évidentes dans l'échantillon dont vous disposez.

Comme l'a déclaré @whuber, le problème, c'est-à-dire exactement ce que vous cherchez à produire, ne semble pas encore complètement et clairement défini. Il n'est pas clair si vous êtes intéressé par l'ensemble ou plus encore par les individus.

AsymLabs
la source
Je pense que mon problème est assez clair - j'ai la distribution mesurée de et et à partir de cela, je voudrais échantillonner un pseudo-aléatoire , qui reproduit finalement l'entrée. Je suis bien conscient de votre point de savoir si ce qui en sort est réaliste, mais c'est une question différente ...vavrand
Sébastien
À tout le moins, comme indiqué dans l'équation ci-dessus, ce ne serait pas un effet stationnaire. Je pense qu'une première étape serait de regrouper les lectures en fonction de l'intervalle de temps, puis de les comparer. Je ne sais pas combien de lectures vous avez, mais cette comparaison pourrait être effectuée à travers quelque chose comme Pearson's Distribution comme point de départ - pour essayer de classer la nature de la distribution.
AsymLabs