Tartaglia
Tartaglia

Reputation: 1041

Bootstrapping Binomial Distribution

I am working on a simple problem, I want to write a function that will randomly draw n samples of size q from a binomial distribution (say 60% 1, and 40% 0), and then save the share of 1s from each sample in an array (so that I can analyze that array later). For instance, I would like to simulate, if I drew 1,000 samples each of size 30 from a distribution with 60% 1s and 40% 0s, and I would like as an output an array of length 1,000, where each row represents the share of 1's from that sample.

Upvotes: 1

Views: 937

Answers (2)

StupidWolf
StupidWolf

Reputation: 46898

To get the number of 1s, it will be

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

To actually get the draws:

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

Upvotes: 1

user4624500
user4624500

Reputation: 316

Do you mean Bernoulli distribution ?

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

Upvotes: 2

Related Questions