首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用jax.random.normal抽样具有特定均值和标准差的单变量高斯方程

用jax.random.normal抽样具有特定均值和标准差的单变量高斯方程
EN

Stack Overflow用户
提问于 2021-03-16 22:41:06
回答 2查看 328关注 0票数 1

我试图从具有特定标准差和均值的高斯中取样,我知道跟随函数是从均值为零的高斯采样,而标准差等于1:

代码语言:javascript
运行
复制
import jax
from jax import random

key = random.PRNGKey(0)
mu = 20
std = 4

x1 = jax.random.normal(key, (1000,))

我可以通过做:x1 = x1 + mu来调整平均值,但是如何调整标准差呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-17 04:14:52

以这种方式创建您的示例:

代码语言:javascript
运行
复制
x1 = mu + std * jax.random.normal(key, (1000,))

如果这样做,样本的直方图将遵循预期的分布:

代码语言:javascript
运行
复制
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)

票数 1
EN

Stack Overflow用户

发布于 2021-03-16 22:45:14

代码语言:javascript
运行
复制
x1 = std * x1 + mu

会给你你想要的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66664455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档