gpt4 book ai didi

python - 从概率分布中随机抽样一定次数

转载 作者:太空宇宙 更新时间:2023-11-04 03:09:56 24 4
gpt4 key购买 nike

假设我有一个正态分布,我想从中抽样 1000 次,如果该值位于前 20 个百分位,我想将计数器加 1。最佳解决方案是什么?

我正在尝试使用 numpy 解决此问题,但无法弄清楚其背后的数学原理。现在我有了这个,但我觉得它可以用数学来完成:

import numpy as np
s = np.random.normal(0, 1, 1000)
sum([val for val in s if val > np.percentile(s, 80)])

最佳答案

这是生成的数组(您可以使用均值和标准差,它们是默认值):

mu = 0
std = 1
arr = np.random.normal(mu, std, 1000)

这为您提供了前 20 个百分位的项目数量:

arr[arr > np.percentile(arr, 80)].size
Out[30]: 200

编辑:您的代码也不错。但是您不想对这些值求和,而是想对它们进行计数。因此,每当 val > np.percentile(s, 80) 您想对 1 求和时:

sum([1 for val in s if val > np.percentile(s, 80)])
Out[35]: 200

虽然这会比 numpy 的方法慢。

关于python - 从概率分布中随机抽样一定次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com