模拟正态分布的数据均值遵循 Arctan 曲线超时
Simulating data of a normal distribution that's mean follows Arctan curve overtime
我想创建一个正态分布列表列表,其中包含给定的开始均值、样本大小和标准差,但均值动态遵循反正切曲线在随后的 iterations/lists.
考虑:
np.random.normal(5, 1.5, size=(52, 400))
array([[5.91413507, 6.03442582, 5.13545575, ..., 4.70864259, 4.46786696,
5.907657 ],
[5.96475187, 2.78293757, 6.6995019 , ..., 6.75333878, 4.40617338,
5.78887913],
[2.24474929, 4.86493468, 4.81687713, ..., 4.64654325, 4.52163674,
3.65247517],
...,
[8.26692519, 4.17375668, 6.53084905, ..., 3.52156159, 2.81350621,
5.1208226 ],
[2.1335012 , 3.84207539, 4.5672884 , ..., 5.86160579, 1.59491514,
2.31374464],
[4.28164175, 5.30687236, 3.32682318, ..., 6.54310196, 2.36919655,
6.23774753]])
以上输出一个包含 52 个列表的数组,每个列表有 400 个数据点,每个 52 个数据点的平均值为 5,标准差为 1.5。
但我希望能够仅在 start 处获得平均值,然后在这 52 次迭代中按照反正切函数动态增加,同时保持样本大小和每个后续列表的标准偏差常数。
如何做到这一点?
arctan
从 -pi/2
到 +pi/2
,所以如果我理解正确的话,你希望平均值从 5
到 5 + pi
.如果是这样你可以做到
mean = 5
sd = 1.5
means = np.arctan(np.linspace(-4, 4, 52)) + np.pi/2 + mean
a = np.random.normal(means, sd, size=(400, 52)).T
这为您提供了一个包含 52 行和 400 列的数组,行的平均值从第 0 行的 5
开始,并根据 arctan 函数增加到第 51 行的 5 + pi
。每行的标准偏差为 1.5
.
我想创建一个正态分布列表列表,其中包含给定的开始均值、样本大小和标准差,但均值动态遵循反正切曲线在随后的 iterations/lists.
考虑:
np.random.normal(5, 1.5, size=(52, 400))
array([[5.91413507, 6.03442582, 5.13545575, ..., 4.70864259, 4.46786696,
5.907657 ],
[5.96475187, 2.78293757, 6.6995019 , ..., 6.75333878, 4.40617338,
5.78887913],
[2.24474929, 4.86493468, 4.81687713, ..., 4.64654325, 4.52163674,
3.65247517],
...,
[8.26692519, 4.17375668, 6.53084905, ..., 3.52156159, 2.81350621,
5.1208226 ],
[2.1335012 , 3.84207539, 4.5672884 , ..., 5.86160579, 1.59491514,
2.31374464],
[4.28164175, 5.30687236, 3.32682318, ..., 6.54310196, 2.36919655,
6.23774753]])
以上输出一个包含 52 个列表的数组,每个列表有 400 个数据点,每个 52 个数据点的平均值为 5,标准差为 1.5。
但我希望能够仅在 start 处获得平均值,然后在这 52 次迭代中按照反正切函数动态增加,同时保持样本大小和每个后续列表的标准偏差常数。
如何做到这一点?
arctan
从 -pi/2
到 +pi/2
,所以如果我理解正确的话,你希望平均值从 5
到 5 + pi
.如果是这样你可以做到
mean = 5
sd = 1.5
means = np.arctan(np.linspace(-4, 4, 52)) + np.pi/2 + mean
a = np.random.normal(means, sd, size=(400, 52)).T
这为您提供了一个包含 52 行和 400 列的数组,行的平均值从第 0 行的 5
开始,并根据 arctan 函数增加到第 51 行的 5 + pi
。每行的标准偏差为 1.5
.