En plus des excellentes réponses déjà publiées, j'ai pensé qu'il pourrait être utile d'avoir une visualisation explorant les distributions des proportions observées pour les valeurs et variables .np
Pour générer les histogrammes ci-dessous, j'ai prélevé échantillons d'un essai de Bernoulli avec une probabilité , et j'ai répété ce processus 10 000 fois. J'ai ensuite généré un histogramme des proportions observées à partir de chacune de ces 10 000 expériences.np
Visuellement, il semble que soit assez raisonnable. Bien que lorsque il semble y avoir encore des coupures avec et . Une fois que vous arrivez à , l'impact semble assez faible.n p ≥ 5n = 50n p = 5,5n p = 6,5n p = 7,5
Notez également que ces parcelles seraient symétriques car si nous avons pris de nouvelles valeurs de .p′p′=(1−p)
Code Python pour générer les tracés. Vous pouvez l'utiliser pour modifier et si vous voulez vous expérimenter vous-même.np
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(20190915)
def make_hists(axs, n):
proportions = np.linspace(0.01, 0.19, len(axs))
for i, prop in enumerate(proportions):
# Draw n samples 10,000 times
x = np.random.rand(n, 10_000) < prop
means = x.mean(axis=0)
axs[i].hist(means, bins=np.linspace(0, 0.5, n//2))
axs[i].set_xlim([0, 0.5])
axs[i].set_yticklabels([])
ylim_mean = np.mean(axs[i].get_ylim())
axs[i].text(-0.08, ylim_mean * 3/2, f'$p={prop:.2f}$', va='center')
axs[i].text(-0.08, ylim_mean * 2/3, f'$np={n * prop:.1f}$', va='center')
axs[0].set_title(f'$n={n}$')
def main():
f, axs = plt.subplots(10, 2, sharex=True, figsize=(12, 8))
make_hists(axs[:, 0], 50)
make_hists(axs[:, 1], 250)
f.suptitle(
'Histograms of 10,000 sample proportions, varying $p$ and $n$',
fontsize=14
)
plt.show()
main()