Maison  >  Article  >  développement back-end  >  Comment vérifier le théorème central limite en python

Comment vérifier le théorème central limite en python

coldplay.xixi
coldplay.xixioriginal
2020-10-30 11:51:143666parcourir

Méthode Python pour vérifier le théorème central limite : simulez d'abord des lancers de dés aléatoires 1 000 fois et observez la moyenne ; puis simulez des lancers de dés dix fois et faites un dessin pour voir enfin leur répartition 1 000 groupes, chaque groupe lançant ; 50 fois, et faites la moyenne de chaque groupe pour voir la répartition.

Comment vérifier le théorème central limite en python

Méthode Python pour vérifier le théorème central limite :

Théorème central limite :

A partir d'une population donnée obéissant à toute distribution, n échantillons sont tirés à chaque fois, m fois au total. Faites ensuite la moyenne des valeurs de chaque groupe de m, et la valeur moyenne de chaque groupe obéira à une distribution approximativement normale.

  • Simulez d'abord le lancement aléatoire de dés 1000 fois et observez la valeur moyenne.
import numpy as np
a = np.random.randint(1,7,1000)print(a)a.mean()

Résultat de sortie :

Comme vous pouvez le voir, la valeur moyenne est prise après avoir lancé 1000 fois (remarque : cette valeur moyenne est légèrement différente à chaque fois, car est sélectionné au hasard) est proche de 3,5 (3,5=1/6*(1+2+3+4+5+6)).
Ensuite, simulez à nouveau le lancer 10 000 fois et prenez la valeur moyenne
Comment vérifier le théorème central limite en python
Vous pouvez voir que le résultat se rapproche de 3,5

  • Puis simulez le lancer dix fois, puis Dessinez une image pour voir leur répartition
sample = []for i in range(10):
    sample.append(a[int(np.random.random()*len(a))]) #从a里面随机抽plt.figure(figsize=(20,10),dpi=100)plt.bar(sample,range(len(sample)))plt.show()

Comment vérifier le théorème central limite en python
On voit que la répartition n'est pas très uniforme.

  • Simulez ensuite 1 000 groupes, chaque groupe est lancé 50 fois, puis prenez la moyenne de chaque groupe pour voir la répartition.
sample_mean=[]sample_std=[]samples=[]for i in range(1000):
    sample=[] #每组一个列表
    for j in range(60):
        sample.append(a[int(np.random.random()*len(a))])#模拟抛50次
    sample = np.array(sample) #转化为array数组,便于处理
    sample_mean.append(sample.mean())
    sample_std.append(sample.std())
    samples.append(sample)sample_mean_np = np.array(sample_mean)sample_std_np = np.array(sample_std)print(sample_mean_np)
plt.figure(figsize=(20,10),dpi=80)d =0.1 num_bins = (max(sample_mean_np)-min(sample_mean_np))//d
plt.hist(sample_mean_np,num_bins) #绘制频率分布图

Comment vérifier le théorème central limite en python
On constate que la valeur moyenne de chaque groupe obéit à la distribution normale.

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn