被 random.randn() 搞糊涂了

Confused by random.randn()

我对 numpy 函数 random.randn() 感到有点困惑,它 returns 来自标准正态分布的随机值,以您选择的大小排列在数组中。

我的问题是,我不知道这在应用实践中何时会有用。

关于我的参考,我是一个完全的编程菜鸟,但作为本科生学习数学(主要是统计相关课程)。

np.random.randn(d0, d1, ..., dn) Return 来自“标准正态”分布(mu=0,stdev=1)的样本(或多个样本)。

对于来自 的随机样本,使用: 西格玛 * np.random.randn(...) + mu

这是因为如果 Z 是标准正态偏差,那么 将服从期望值 和标准偏差 的正态分布。

https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.random.randn.html

https://en.wikipedia.org/wiki/Normal_distribution

这可以用于 3D 编程以生成非重叠的随机值。这将有助于优化图形效果。

统计应用的另一种可能用途是应用公式来测试影响给定常数的空间因素。例如,如果您正在使用一些公式来衡量时间跨度,但随后需要知道在不同时间跨度下的有效性。这将 return 统计数据,例如衡量您的公式在较短间隔或较长间隔等情况下更有效等。

Python 函数 randn 对于将随机噪声元素添加到您为机器学习模型的初始测试创建的数据集中非常有用。例如,您想要创建一个大致呈线性的百万点数据集,用于测试回归算法。您使用

创建了一百万个数据点

x_data = np.linspace(0.0,10.0,1000000)

您使用 randn

生成了一百万个随机噪声值

noise = np.random.randn(len(x_data))

要创建线性数据集,请遵循以下公式 y = mx + b + noise_levels 使用以下代码(本例中设置 b = 5,m = 0.5)

y_data = (0.5 * x_data ) + 5 + noise

最后创建数据集

my_data = pd.concat([pd.DataFrame(data=x_data,columns=['X Data']),pd.DataFrame(data=y_data,columns=['Y'])],axis=1)