自举二项式分布
Bootstrapping Binomial Distribution
我正在研究一个简单的问题,我想编写一个函数,从二项分布(比如 60% 1 和 40% 0)中随机抽取 n 个大小为 q 的样本,然后保存份额数组中每个样本的 1s(以便我稍后可以分析该数组)。例如,我想模拟,如果我从具有 60% 1 和 40% 0 的分布中抽取 1,000 个样本,每个样本大小为 30,并且我希望将长度为 1,000 的数组作为输出,其中每一行代表1 来自那个样本。
你是说伯努利分布吗?
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))
我正在研究一个简单的问题,我想编写一个函数,从二项分布(比如 60% 1 和 40% 0)中随机抽取 n 个大小为 q 的样本,然后保存份额数组中每个样本的 1s(以便我稍后可以分析该数组)。例如,我想模拟,如果我从具有 60% 1 和 40% 0 的分布中抽取 1,000 个样本,每个样本大小为 30,并且我希望将长度为 1,000 的数组作为输出,其中每一行代表1 来自那个样本。
你是说伯努利分布吗?
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))