Informatiquement distribution simple pseudo-gaussienne avec plus ou moins moyenne et l'écart-type?
-
26-09-2019 - |
Question
Cette image de Wikipedia a un exemple bien du genre de fonctions je idéalement que generate:
En ce moment je suis en utilisant la distribution Irwin-Hall, qui est plus ou moins une approximation polynomiale de la distribution gaussienne ... Au fond, vous utilisez le générateur de nombres aléatoires uniformes et itérer il x fois et prendre la moyenne. Plus itérations, plus comme une distribution gaussienne est.
Il est assez agréable; mais je voudrais être en mesure d'avoir un où je peux varier la moyenne. Par exemple, disons que je voulais un nombre compris entre la plage 0 et 10, mais autour 7. Comme, la moyenne (si je répétais cette fonction à plusieurs reprises) se révélerait être 7, mais le réel gamme est 0-10.
Y at-il un que je devrais regarder, ou devrais-je travailler à faire des maths de fantaisie avec gaussiennes standards?
La solution
Je vois une contradiction dans votre question. D'un côté, vous voulez la distribution normale qui est symétriques par sa nature, de l'autre côté vous voulez que la plage disposée asymétriquement par rapport à la valeur moyenne.
Je suppose que vous devriez essayer de regarder d'autres distributions des fonctions de densité qui sont comme courbe en cloche mais asymétrique. Comme distribution log ou de distribution bêta.
Autres conseils
Regardez dans générer des nombres aléatoires normales . Vous pouvez générer des paires de nombres aléatoires normales X = N (0,1) et Tranform elle en toute variable aléatoire normale Y = N (m, s) (Y = m + s * X).
Vous pouvez simplement générer la distribution avec la moyenne que vous voulez, l'écart-type que vous voulez, et les deux extrémités où vous voulez. Vous aurez à faire un travail préalable pour calculer la moyenne et l'écart-type de la (non tronquée) sous-jacente distribution normale pour obtenir la moyenne pour le TN que vous voulez, mais vous pouvez utiliser les formules dans cet article. Notez également que vous pouvez régler la variance et en utilisant cette méthode:)
J'ai le code Java (basé sur le cadre de mathématiques communes), à la fois un précise (plus lent) et rapide (moins précis) mise en œuvre de cette distribution, avec PDF, CDF, et l'échantillonnage.