自举二项分布

2024-04-26 00:49:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个简单的问题,我想写一个函数,它将从二项分布中随机抽取n个大小为q的样本(比如60%1和40%0),然后将每个样本中1的份额保存在一个数组中(以便我以后可以分析该数组)。例如,我想模拟一下,如果我从60%1s和40%0s的分布中提取1000个样本,每个样本大小为30,我想作为一个长度为1000的数组的输出,其中每一行代表该样本中1的份额


Tags: 函数代表数组样本二项分布份额
2条回答

你是说伯努利分布吗

from scipy.stats import bernoulli
data = [bernoulli.rvs(0.6, size=30) for _ in range(1000)]

要获得1的数量,它将是

import numpy as np
sim = np.random.binomial(n=30,p=0.6,size=1000)

要真正获得绘图,请执行以下操作:

sim = np.random.binomial(n=1,p=0.6,size=(1000,30))
sim.shape
import matplotlib.pyplot as plt
plt.hist(np.mean(sim,axis=1))

enter image description here

相关问题 更多 >