• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

ゴルトンボード

date: 2024-03-16 excerpt: ゴルトンボード

tag: 正規分布統計可視化中心極限定理


ゴルトンボード

概要

  • ゴルトンボードは、正規分布を可視化するための装置
  • 針をゴルトンボードに落とし、針がどの位置に落ちるかを記録することで、正規分布を再現することができる
  • 簡易的なモデルの表現としては、釘の位置で左右どちらかに進むというベルヌーイ分布を利用することができる
    • ベルヌーイ分布を何度も繰り返すと、中心極限定理により正規分布に近づく

ゴルトンボードの動画

  • ファイル:Galton box.webm

ゴルトンボードのシミュレーション

import numpy as np
import random
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
import statsmodels.api as sm


# 10000個のビー玉について、各ビー玉が2501ステップを踏む
n_marbles = 10000
n_steps = 2501

# 各ステップでの移動を-0.5か0.5でランダムに生成
# 0か1の乱数を生成し、それから1を引くことで、-0.5か0.5を得る
steps = np.random.choice([-0.5, 0.5], size=(n_marbles, n_steps))

# 各ビー玉の全ステップにわたる合計移動距離を計算
final_positions = steps.sum(axis=1)

# 結果をDataFrameに格納
df = pd.DataFrame({"pos": final_positions})

# ヒストグラムを描画
ax = sns.countplot(data=df, x="pos")
ax.set_xticklabels(ax.get_xticklabels(), rotation=90)

# QQプロットを描画
# サンプルデータ (df["pos"]を使用)
data = df["pos"]

# QQプロットの作成
fig = sm.qqplot(data, line='45', fit=True)
plt.title('QQ Plot')
plt.show()
hist
qq


正規分布統計可視化中心極限定理 Share Tweet