Quelle est la meilleure approche pour générer des échantillons aléatoires à partir de distributions T bivariées normales et étudiantes? Dans les deux cas sigma est un, signifie 0 - donc le seul paramètre qui m'intéresse vraiment est la corrélation (et les degrés de liberté pour l'étudiant t). J'ai besoin de la solution en C++, donc je ne peux malheureusement pas utiliser les fonctions déjà implémentées depuis MatLab ou Mathematica.Comment puis-je générer des échantillons aléatoires à partir de distributions bivariées normales et de Student T en C++?
Répondre
Vous pouvez utiliser les bibliothèques GNU GSL. Voir ici pour Bivariée normal:
http://www.gnu.org/software/gsl/manual/html_node/The-Bivariate-Gaussian-Distribution.html
et distribution t de Student ici:
http://www.gnu.org/software/gsl/manual/html_node/The-t_002ddistribution.html
Ils sont simples à utiliser.
Cool, ils ont le gaussien bivarié, mais l'étudiant T semble être seulement univarié :( – Grzenio
Vous pouvez simuler à partir d'une distribution t multivariée en utilisant la représentation de le t multivarié en termes de distribution multivariée et de distribution chi2 GSL a MVN et Chi2, donc vous êtes en jeu. Voir le premier paragraphe: http://en.wikipedia.org/wiki/Multivariate_Student_distribution. – Tristan
Vous devriez jeter un coup d'œil aux distributions aléatoires des bibliothèques Boost - voir http://www.boost.org/doc/libs/1_41_0/libs/random/random-distributions.html. Je les ai trouvés très faciles à utiliser, une fois que vous envelopper votre tête autour de leurs concepts de base. Malheureusement, je ne connais pas assez les statistiques pour vous dire si elles répondront exactement à vos besoins.
Ils ne semblent pas mettre en œuvre l'une des distributions que je suis après :( – Grzenio
Pour un normal bivarié avec une unité de covariance et une moyenne nulle, il suffit de dessiner deux normales univariées.
Si vous voulez dessiner un bivariée normale avec des moyens (m1, m2), les écarts-types (s1, s2) et la corrélation rho, puis dessinez deux unités normals univariée X et Y et mis
u = m1 + s1 * X
v = m2 + s2 * (rho X + sqrt(1 - rho^2) Y)
Ensuite, u et v sont distribués comme vous le souhaitez. Pour le Student T, vous devez tracer une variance normale N et une variable V de chi^2. Ensuite, N/sqrt (V) a la distribution T.
Pour dessiner le chi^2, vous devez utiliser un paquet. Ou jetez un oeil au chapitre 7 sur les recettes numériques pour savoir comment dessiner à partir d'une distribution Gamma (xhi^2 est un cas particulier de Gamma).
- 1. Générer des valeurs aléatoires en C#
- 2. Générer caractères aléatoires et entiers en C++
- 3. Comment puis-je générer des nombres aléatoires en Python?
- 4. Comment obtenir des distributions statistiques à partir du code C++?
- 5. Générer des noms aléatoires à partir de plist
- 6. Générer des nombres aléatoires de -n à n dans C
- 7. générer des énumérations aléatoires
- 8. Comment générer des identités aléatoires?
- 9. Échantillons MSMQ en C++?
- 10. Générer des résultats de jeu de sport aléatoires C++
- 11. Générer plusieurs mégaoctets de données aléatoires en C#
- 12. La distribution t de Student en JavaScript pour Google Spreadsheet
- 13. Comment générer des événements aléatoires dans Android?
- 14. Comment générer des ensembles de données statistiques quasi aléatoires?
- 15. Classer des échantillons de type à partir de fichiers image
- 16. Outil C++ pour générer des fichiers XML aléatoires à partir du schéma XML?
- 17. générer des instances aléatoires avec JAXB
- 18. Comment générer des nombres réellement aléatoires (NOT pseudo) dans Linux
- 19. Comment puis-je installer des distributions de script à partir de CPAN?
- 20. Algorithme pour générer des valeurs aléatoires normalement distribuées dans C?
- 21. comment obtenir des échantillons wav à partir d'un fichier wav?
- 22. Comment mixer des échantillons audio?
- 23. Comment générer du code C# à partir de fichiers WADL?
- 24. c - générateur de nombres aléatoires
- 25. Échantillons de calibrage et de prisme
- 26. (.NET) Un moyen facile de générer des mots de passe aléatoires et faciles à retenir
- 27. générer des valeurs aléatoires dans l'iPhone
- 28. Générer deux nombres aléatoires pour l'échantillonnage RANSAC
- 29. Générer des nombres aléatoires avec une distribution probabiliste
- 30. Numéros aléatoires et négatifs
rho est la corrélation, pas la covariance. –