numpy 如何在没有正态性假设的情况下模拟新值?

gmxoilav  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(110)

我有以下列表:

series=[0.6, 4.1, 0.6, 6.7, 9.2, 7.6, 5.5, 0.9, 3.8, 8.4]

seriesmean是4.74,并且它的np.std等于:3.101
我想从series生成1000个观测值,所以我使用了以下方法:

>>> series_1000=np.random.normal(4.74, 3.101, size=(1000))
>>> series_1000
>>> array([ 3.43395217,  6.60462489,  5.27316166,  4.20429521,  4.76772334,
        8.04441319, -0.6967243 ,  0.53378519,  2.1736758 ,  9.96333279....

问题

上面的方法看起来很好,但是它是在seriesnormally分布的假设下工作的。

目的

我的目标是找到一种模拟值的方法,而不需要对原始的series进行任何假设。
我们将非常感谢你方的任何帮助。

sd2nnvve

sd2nnvve1#

如果均匀分布更适合您的需要,您可以用途:

(np.random.uniform(-1, 1, size=1000) * 3.101) + 4.74

或在便利功能内:

def generate_values(mean, std, size=1000):
    return(np.random.uniform(-1, 1, size=size) * std) + mean

相关问题