Essayer de tracer pmf pour la somme de 2 dés, mais des problèmes de queue droite se produisent.
J'ai essayé d'utiliser numpy et d'autres bibliothèques python et les problèmes restent:
expecting symetric distribution centered at 7 with gaussian form, assymetric found
XXX
p >
3 Réponses :
En regardant le graphique, il semble que la zone entre les graduations pour 2 et 3 est le nombre de lancers qui totalisent 2. 3-4 est 3, et ainsi de suite.
Est-il possible qu'entre les graduations 11 et 12 contienne le nombre de lancers qui totalisent 11 et 12? Cela pourrait expliquer pourquoi le graphique semble plus court sur le côté droit qu'il ne devrait l'être, ainsi que pourquoi la dernière barre est plus haute que prévu.
Merci beaucoup. C'était juste ça. Changer les bins dans la fonction hist résout le problème: plt.hist (np.add (dado1_, dado2 _), bins = len (np.unique (np.add (papa o1_, dado2_)))) Je pense que matplotlib faisait cela pour nous
Tensorflow_probabilty.Uniform est une distribution continue, non discrète. Donc, il ne va pas vraiment modéliser les lancers de dés de manière appropriée.
ce n'était pas le problème. Merci
Pour les lancers de dés, vous voudriez tfd.Categorical
:
import tensorflow.compat.v2 as tf tf.enable_v2_behavior() import tensorflow_probability as tfp tfd = tfp.distributions tfb = tfp.bijectors # 10 independent 1-die samples print(tfb.AffineScalar(shift=1.)(tfd.Categorical(logits=tf.zeros([6]), dtype=tf.float32)).sample(10)) # 10 independent pairs-of-dice samples d = tfb.AffineScalar(shift=1.)(tfd.Categorical(logits=tf.zeros([6]), dtype=tf.float32)) print(tfd.Sample(d, 2).sample(10))
cela peut fonctionner, mais c'était un problème matplotlib pas tf. Merci beaucoup
Fonctionne très bien en utilisant juste numpy. Au fait, vous vous trompez sur la forme attendue - elle est triangulaire centrée en 7. Elle sera gaussienne si vous additionnez quelques autres de ces variables uniformément échantillonnées.
Oui. c'est vrai. Quand j'ai dit gaussien, je voulais dire triangulaire