Quelle est la fonction RAND() dans Excel pour la simulation de Monte Carlo?
Je me suis mise en œuvre d'une simulation de Monte Carlo dans 3 variables dans Excel. J'ai utilisé la fonction RAND() de l'échantillon à partir des distributions de Weibull (avec de longues queues). Les fonctions appliquée aux échantillons sont non-linéaire, mais en douceur (exp, ln, cos, etc). Le résultat de chaque échantillon est une réussite/échec, et le résultat global est une probabilité de défaillance.
J'ai également mis en œuvre cette par à la fois l'intégration numérique et à Monte-Carlo dans MathCad, obtenir le même résultat à chaque fois. MathCad utilise (je pense) un nombre de Mersenne Twister générateur de nombre aléatoire.
Ma feuille de calcul excel est d'obtenir constamment des résultats différents (c'est à dire toujours plus). J'ai vérifié les équations sont les mêmes.
Ce générateur de nombre aléatoire Excel utiliser, et comment cela est-il bien? Est-il possible que ce soit la source de mon problème? J'ai assumé la Excel implémentations de l'exp, cos, etc sont ok.
Enfin, est-il un moyen de mettre en œuvre de Monte-Carlo afin d'atténuer l' (connu) pauvres propriétés d'un générateur de nombre aléatoire? (J'ai entendu parler de chaînes de Markov, au hasard des promenades, etc, mais ne savez pas vraiment beaucoup sur eux)
Merci beaucoup.
- Le premier Google hit: support.microsoft.com/kb/828795. Était-ce assez clair ou avez-vous besoin de plus? Si oui, quoi de plus avez-vous besoin?
- N'est pas quelqu'un essayez un moteur de recherche avant de poser des questions plus? Heck, même Lycos qu'il obtient. Rappelez-Vous Lycos? search.lycos.com/...
- P1: Tous les générateurs de nombres aléatoires sont de moins-que-parfait (sauf peut-être nombre quantique générateurs découvert l'année dernière). P2: Monte-Carlo a été mis en place (avant 2010). Conclusion: Il existe un moyen de mettre en œuvre de Monte Carlo avec un moins-que-parfait générateur de nombre aléatoire.
- Bien sûr, je l'ai googlé premier, mais pas trouvé de réponses à ma question "est-RAND vraiment assez bon pour la méthode de Monte Carlo?" simplement beaucoup d'exemples. Tout simplement parce que cela peut être fait, ne pas faire droit, dans tous les cas - comme je l'ai dit, mon problème est assez non-linéaire.
- À propos de Monte-Carlo, je ne sais pas, mais c'est terrible de ne créer de hachage id. Je reçois beaucoup d'ennuis et de 26 répétitions dans un 20 longueur alphanumérique code de hachage, en seulement 25k de hachage de la liste. C'est complètement impossible, si les chiffres où juste un peu aléatoire. Excel version 2007.
- Aussi terrible pour générer des numéros de loterie. J'ai été en utilisant Excel 2016 sur Win 10 et aussi OpenOffice Calc. Incroyable le nombre de fois que vous obtenir des choses comme 2/3 numéros consécutifs ou, dans la même décennie, par exemple, le 21 et le 27. Pas étonnant que j'ai rarement de la même 1 numéro de laisser seul 3 ! Gotta get somethin' mieux ici . . .
- Vrai caractère aléatoire est souvent à la recherche 'toute', les humains ont tendance à voir des motifs qui ne sont pas là. Si vous souhaitez utiliser un générateur de nombre aléatoire de numéros de loterie, vous pouvez ne pas faire de mieux que d'utiliser le tirage de la semaine dernière. Pas moins probable que n'importe quelle autre combinaison... et généré en utilisant un excellent générateur de nombre aléatoire!
- Je ne sais pas ce que tu veux dire par 'toute'. Je ne sais pas si vous avez fait une feuille Excel pour générer aléatoirement des numéros sélectionnés à partir d'un ensemble prédéfini {1,2,3,.. max}, puis appuyez sur F9 plusieurs fois et voir par vous-même ce que je veux dire par peu probable "tirages". Je l'ai fait. Et j'ai eu beaucoup plus grande uniformité de la fréquence relative quand je riffled & couper le tableau des entrées de 10 fois avant de sélectionner au hasard de mes chiffres à l'aide de Java en Mathématiques.random().
Vous devez vous connecter pour publier un commentaire.
Il y a un journal sur ce sujet par McCullough (2008):
Sur la précision des procédures statistiques dans Microsoft Excel 2007 (Calcul Statistique et Analyse de Données)
Citant l'article original:
Pour plus de détails sur ces points, voir l'accompagnement l'article
par McCullough (2008); les performances d'Excel 2007 dans ce domaine est insuffisante.
Puisque c'est le premier résultat dans Google "comment Excel la fonction RAND ()" il vaut la peine de mettre à jour les réponses pour les versions ultérieures d'Excel
Ce papier par Guy Melard "Sur la précision des procédures statistiques dans Microsoft Excel 2010" testé la fonction RAND() dans Excel 2010 et l'a trouvé pour être sensiblement amélioré par rapport à 2007 ou 2003. Microsoft commuté à une mauvaise Wichmann et la Colline du générateur (2007/2003) de l'algorithme Mersenne Twister qui est beaucoup, beaucoup plus grande de la longueur du cycle.
Les auteurs de ce papier, il a couru à travers "Petit Béguin", "Crush" et "Big Crush" tests de hasard et il est passé près de tous les tests.
Ainsi, alors qu'il n'est certainement pas la même chose que de Vrais nombres aléatoires, la fonction RAND() dans Excel 2010, et probablement les versions les plus récentes, ne peut plus être considéré comme terrible.
Il convient de noter, cependant, que Excel 2010 utilise toujours les deux complètement différents algorithmes pour le VBA générateur de nombres aléatoires, et le RNG qui est dans l'outil d'analyse de données-kit. Selon Melard, à la fois de ceux qui sont encore terrible, et en fait le VBA utilise le même nombre de graines à chaque à chaque fois donc produit les mêmes numéros.
Mes plus grandes plaintes avec les nombres aléatoires dans Excel sont
Il existe des produits commerciaux pour cela. Google se tourne les deux avant j'en ai eu marre de chercher
http://www.mathwave.com/articles/random-numbers-excel-worksheets.html
http://www.ozgrid.com/Services/excel-random-number-generator.htm
Paul Wilmott, dans sa Finance Quantitative livre, ajoute simplement les résultats de 12 appels à RAND() et soustrait 6 pour une bonne approximation d'une variable Normale.
Rapide n Sale
RAND()
est assez aléatoire, mais pour des simulations de Monte Carlo, peut-être un peu trop aléatoire (sauf si vous faites des tests de primalité). La plupart des simulations de Monte Carlo juste besoin d'un pseudo-aléatoire et déterministe de séquences. Dans le cadre de l'Excel Utilitaire d'AnalyseRANDBETWEEN()
peut être tout ce dont vous avez besoin pour les pseudo-aléatoire de séquences.RANDBETWEEN()
ne fait plus partie de l'Utilitaire d'Analyse, mais c'est un à part entière de la Excel fonction.