2010-05-14 35 views
2

Cette image de Wikipedia a un bel exemple du genre de fonctions je voudrais idéalement générer:Distribution pseudo-gaussienne simple de calcul avec écart moyen et écart type?

pseudo-Gaussian distributions

En ce moment je suis en utilisant la distribution Irwin-Hall, qui est plus ou moins approximation polynomiale de la distribution gaussienne ... fondamentalement, vous utilisez un générateur de nombres aléatoires uniforme et vous le faites itérater x fois, et prenez la moyenne. Plus il y a d'itérations, plus cela ressemble à une distribution gaussienne.

C'est plutôt bien; Cependant, j'aimerais pouvoir en avoir une où je peux varier la moyenne. Par exemple, disons que je voulais un nombre entre la plage 0 et 10, mais autour de 7. Comme, la moyenne (si je répète cette fonction plusieurs fois) se révélerait être 7, mais la plage réelle est 0-10 .

Y en at-il un que je devrais rechercher, ou devrais-je travailler sur des maths de fantaisie avec des distributions gaussiennes standard?

+0

Hmmm * pas à 7:57 am lol –

Répondre

1

Je vois une contradiction dans votre question. D'un côté, vous voulez une distribution normale qui est symétrique par sa nature, de l'autre côté, vous voulez que la gamme asymétrique est disposée à la valeur moyenne.

Je suppose que vous devriez essayer de regarder d'autres distributions dont les fonctions de densité sont comme la courbe en cloche mais asymétrique. Comme log distribution ou beta distribution.

+0

Je n'ai jamais dit que je voulais une courbe normale; juste une fonction de probabilité qui a la forme de celle avec la moyenne = -2 dans l'image liée. Je vais regarder dans ceux-ci, merci =) –

+0

Cette forme est encore normale, et donc symétrique. La figure est trompeuse car elle suggère que la plage est contrainte à la partie visible de l'axe des x montrée, ce qui n'est pas le cas, elle s'étend à l'infini dans les deux directions. La probabilité de tirer des queues éloignées devient fantastiquement petite mais reste non nulle. En pratique, vous pourriez probablement découper, mais votre distribution ne serait toujours pas ce que vous voulez. Je pense que l'approche la plus simple consisterait à calculer la moyenne des tirages à partir d'une distribution triangulaire avec le mode désiré, mais il faudrait que j'en passe par là pour être sûr. – walkytalky

+0

Non, pensez-y, cela tendra aussi à la normale - bonjour théorème limite centrale! – walkytalky

0

Regardez dans generating normal random variates. Vous pouvez générer des paires de variables aléatoires normales X = N (0,1) et les transformer en n'importe quelle variable aléatoire normale Y = N (m, s) (Y = m + s * X).

0

On dirait que la distribution Truncated Normal est exactement ce que le médecin a prescrit. Il n'est pas "simple en termes de calcul" en soi, mais facile à implémenter si vous avez une implémentation existante d'une distribution normale.

Vous pouvez simplement générer la distribution avec la moyenne que vous voulez, écart-type que vous voulez, et les deux extrémités où vous voulez. Vous devrez faire un peu de travail à l'avance pour calculer la moyenne et l'écart type de la distribution normale sous-jacente (non tronquée) 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 du code Java (basé sur le cadre de mathématiques communes) à la fois une mise en œuvre accurate (slower) et quick (less accurate) de cette distribution, avec PDF, CDF, et l'échantillonnage.