Home > Software design >  np.random.choice not producing expected histogram
np.random.choice not producing expected histogram

Time:05-04

I'm looking to generate random normally distributed numbers between 1 and 0, but as the mean moves closer to 1 or 0, the right or left side respectively becomes "squished".

After modifying the normal distribution and playing around with sliders in geogebra, I came up with the following:

equation

mu=0.5, stddev = 0.8

mu=0.75, stddev = 0.8

Next I needed to create a method in python which would generate random samples that would be distributed according to this PDF.

Originally I thought the only way to do this was to try and derive a new equation for generating random numbers as seen in the Box-Muller proof (which I got by following along with enter image description here

However, if we use these samples as choices with given probabilities, we get the following histogram:

enter image description here

I have no idea why this isn't working correctly.

I've tried other (smaller) examples like the ones listed on the numpy website, and they produce histograms of the according to the given probabilities array.

I'd really appreciate some advice/intuition if at all possible :).

CodePudding user response:

It looks like there is a problem with the first argument in the call np.random.choice(samples, p=probabilities). The first argument should be x, not samples.

  • Related