Pythonで中心極限定理を検証する方法

coldplay.xixi
リリース: 2020-10-30 11:51:14
オリジナル
3688 人が閲覧しました

中心極限定理を検証するための Python メソッド: 最初にランダムにサイコロを 1000 回投げるシミュレーションを行い、平均を観察します。次に、サイコロを 10 回投げるシミュレーションを行い、絵を描いてその分布を確認します。最後に、1000 のグループをシミュレートし、各グループが投げます。 50 回実行し、各グループの平均を取って分布を確認します。

Pythonで中心極限定理を検証する方法

#中心極限定理を検証するための Python メソッド:

中心極限定理:

任意の分布に従う特定の母集団から、毎回 n 個のサンプルが抽出され、合計で m 回抽出されます。次に、m の各グループの値を平均すると、各グループの平均値はほぼ正規分布に従います。

    まず、ランダムにサイコロを 1000 回投げるシミュレーションを行い、平均値を観察します。
import numpy as np
a = np.random.randint(1,7,1000)print(a)a.mean()
ログイン後にコピー
出力結果:


ご覧のとおり、1000 回投げた後の平均値が取られています (注: この平均値は毎回わずかに異なります。ランダムに選択) は 3.5 (3.5=1/6*(1 2 3 4 5 6)) に近いです。
次に、再度 10,000 回投げるシミュレーションを行い、平均値を取得します。

Pythonで中心極限定理を検証する方法 結果が 3.5 に近づいていることがわかります。

    次に、10 回投げるシミュレーションを行います。 、そして、その分布を確認するために絵を描いてください。
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()
ログイン後にコピー

Pythonで中心極限定理を検証する方法 分布があまり均一ではないことがわかります。

    次に、1,000 グループをシミュレートし、各グループを 50 回スローし、各グループの平均をとって分布を確認します。
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) #绘制频率分布图
ログイン後にコピー

Pythonで中心極限定理を検証する方法 各グループの平均値は正規分布に従っていることがわかります。

関連する無料学習の推奨事項:

Python ビデオ チュートリアル #

以上がPythonで中心極限定理を検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート