大数の法則 (Law of Large Numbers)
定義
母平均 μ をもつ母集団から標本を抽出したとき、サンプルサイズ n を大きくすると、標本平均 X̄ は μ に近づく。
式
lim (n→∞) X̄ = μ
具体例(女性の平均年収)
・都市部の高学歴女性10人を調べると、平均年収は約600万円となる。
・全国から1000人を調べると、平均年収は約320万円に収束する。
→ サンプルを増やすことで「母平均(社会全体の構造的な平均)」が見えてくる。
フェミニスト的解釈
・少数サンプルは「一部のエリート女性の現実」しか反映しない。
・大規模サンプルは「多数派の女性が直面する構造的不平等」を反映する。
・大数の法則は「個人の声ではなく、集合としての女性の現実を見よ」という数理的保証。
中心極限定理 (Central Limit Theorem)
定義
母集団が正規分布に従うか否かに関わらず、サンプルサイズ n が大きいとき、標本平均 X̄ の分布は N(μ, σ²/n) に近づく。
式
Z = (X̄ − μ) / (σ/√n) → N(0,1)
具体例(女性の昇進年齢)
・母平均 μ = 45歳, 母分散 σ² = 25
・サンプルサイズ n=5 のとき → 標本平均の分布はばらつきが大きく、平均昇進年齢は40歳や50歳など極端に見える。
・サンプルサイズ n=200 のとき → 標本平均の分布は正規分布に近づき、平均昇進年齢は45歳前後に収束する。
フェミニスト的解釈
・少数例では「成功した女性リーダーの物語」が強調されやすい。
・多数例を集めると、構造的に「女性の昇進は男性より遅れる」というパターンが浮かび上がる。
・中心極限定理は「個別経験のばらつきの裏に共通構造がある」ことを示す。
まとめ(フェミニスト的読み替え)
・大数の法則 = 「一部の女性」ではなく「多くの女性の経験」を集めれば、構造的な平均が見える。
・中心極限定理 = 女性の経験が散らばっていても、集めれば正規分布の形で共通の差別構造が現れる。
!pip install numpy matplotlib
import numpy as np
import matplotlib.pyplot as plt
# ----------------------------
# Parameters (変数管理)
# ----------------------------
n_trials_small = 10 # 小規模サンプルの試行回数
n_trials_large = 1000 # 大規模サンプルの試行回数
n_experiments = 1000 # 実験の繰り返し回数(標本分布を得るため)
# サイコロの目(1~6)
dice_faces = [1, 2, 3, 4, 5, 6]
mu_true = np.mean(dice_faces) # 理論的母平均
var_true = np.var(dice_faces, ddof=0) # 理論的母分散
# ----------------------------
# Law of Large Numbers (大数の法則)
# ----------------------------
# n=10 のサンプル平均
sample_small = np.random.choice(dice_faces, size=n_trials_small, replace=True)
mean_small = np.mean(sample_small)
# n=1000 のサンプル平均
sample_large = np.random.choice(dice_faces, size=n_trials_large, replace=True)
mean_large = np.mean(sample_large)
print("Law of Large Numbers")
print(f"Theoretical mean (母平均 μ): {mu_true:.2f}")
print(f"Sample mean (n={n_trials_small}): {mean_small:.2f}")
print(f"Sample mean (n={n_trials_large}): {mean_large:.2f}")
print("Interpretation: Larger samples approach the population mean.")
print("Feminist view: Small elite samples distort women’s reality; large inclusive samples reveal structural truth.\n")
# ----------------------------
# Central Limit Theorem (中心極限定理)
# ----------------------------
# n=5 の標本平均の分布
means_n5 = [np.mean(np.random.choice(dice_faces, size=5, replace=True)) for _ in range(n_experiments)]
# n=200 の標本平均の分布
means_n200 = [np.mean(np.random.choice(dice_faces, size=200, replace=True)) for _ in range(n_experiments)]
# 可視化
plt.hist(means_n5, bins=20, density=True, alpha=0.6, label="Sample mean (n=5)")
plt.hist(means_n200, bins=20, density=True, alpha=0.6, label="Sample mean (n=200)")
plt.axvline(mu_true, color="red", linestyle="dashed", linewidth=2, label="True mean μ=3.5")
plt.title("Central Limit Theorem: Sample Means Distribution")
plt.xlabel("Sample Mean")
plt.ylabel("Density")
plt.legend()
plt.show()
print("Central Limit Theorem")
print(f"Theoretical variance (σ²): {var_true:.3f}")
print(f"Expected variance of sample mean (n=5): {var_true/5:.3f}")
print(f"Expected variance of sample mean (n=200): {var_true/200:.3f}")
print("Interpretation: Larger n reduces variance and sample means converge to a normal distribution.")
print("Feminist view: Individual women’s experiences vary, but collective patterns reveal structural inequalities.\n")