我试图从具有特定标准差和均值的高斯中取样,我知道跟随函数是从均值为零的高斯采样,而标准差等于1:
import jax
from jax import random
key = random.PRNGKey(0)
mu = 20
std = 4
x1 = jax.random.normal(key, (1000,))
我可以通过做:x1 = x1 + mu
来调整平均值,但是如何调整标准差呢?
发布于 2021-03-17 04:14:52
以这种方式创建您的示例:
x1 = mu + std * jax.random.normal(key, (1000,))
如果这样做,样本的直方图将遵循预期的分布:
import jax
from jax import random
from jax.scipy.stats import norm
import matplotlib.pyplot as plt
key = random.PRNGKey(0)
mu = 20
std = 4
x1 = mu + std * jax.random.normal(key, (1000,))
plt.hist(x1, bins=50, density=True)
x = jnp.linspace(5, 35, 100)
y = norm.pdf(x, loc=mu, scale=std)
plt.plot(x, y)
发布于 2021-03-16 22:45:14
这
x1 = std * x1 + mu
会给你你想要的
https://stackoverflow.com/questions/66664455
复制相似问题