コンテンツにスキップ

第4部:大数の法則と中心極限定理 解答

第10回:大数の法則

1. 基本的な理解を確認する問題

(1) コインを100回投げたとき、表が出る回数の期待値はいくつか。

解答: 50回

解説: 1. 1回のコイン投げで表が出る確率は0.5 2. 100回の独立な試行の期待値は、1回の期待値の100倍 3. したがって、期待値 = 100 × 0.5 = 50回

補足: - これはベルヌーイ分布の期待値の性質を利用しています - 各試行が独立であることが重要です

(2) コインを1000回投げたとき、表が出る確率は0.5に近づくことを説明せよ。

解答: コインを1000回投げたとき、表が出る確率が0.5に近づく理由は以下の通りです:

  1. 大数の法則により、独立同一分布に従う確率変数の標本平均は、標本サイズが大きくなるにつれて母平均に収束します
  2. コイン投げの場合:
  3. 母平均 = 0.5(表が出る確率)
  4. 標本平均 = 表が出た回数 ÷ 試行回数
  5. 試行回数が1000回と十分に大きいため、標本平均は母平均0.5に近づきます

補足: - これは弱大数の法則の具体例です - 実際には完全に0.5になるわけではなく、0.5に近づいていきます

2. シミュレーション問題

Pythonによるコイン投げのシミュレーション

import numpy as np
import matplotlib.pyplot as plt

def coin_flip_simulation(n_trials, n_flips):
    # n_trials回の実験を行い、各実験でn_flips回コインを投げる
    results = np.random.binomial(n_flips, 0.5, n_trials) / n_flips
    return results

# 異なる試行回数でのシミュレーション
n_trials = 1000  # 実験回数
flips = [10, 100, 1000]  # 試行回数

plt.figure(figsize=(10, 6))
for n_flips in flips:
    results = coin_flip_simulation(n_trials, n_flips)
    plt.hist(results, bins=30, alpha=0.5, label=f'n={n_flips}')

plt.axvline(x=0.5, color='r', linestyle='--', label='理論値 (0.5)')
plt.xlabel('表が出る確率')
plt.ylabel('頻度')
plt.title('コイン投げのシミュレーション結果')
plt.legend()
plt.show()

解説: 1. シミュレーションの結果から以下のことが分かります: - 試行回数が増えるにつれて、分布の中心が0.5に集中 - 分布の幅が狭くなる(分散が小さくなる) 2. これは大数の法則の視覚的な確認となります

第11回:中心極限定理

3. 基本的な理解を確認する問題

(1) サイコロを1回投げたときの出目の分布はどのような形か。

解答: 一様分布(離散一様分布)となります。

解説: 1. サイコロの出目は1から6までの整数 2. 各目が出る確率は等しく1/6 3. 確率分布は以下のようになります: - P(X=1) = P(X=2) = ... = P(X=6) = 1/6 - その他の値の確率は0

補足: - これは離散型の確率分布です - 期待値は3.5、分散は35/12です

(2) サイコロを100回投げたときの出目の平均の分布は、どのような形に近づくか。

解答: 正規分布(ガウス分布)に近づきます。

解説: 1. 中心極限定理により: - 独立同一分布に従う確率変数の標本平均は - 標本サイズが大きくなるにつれて - 正規分布に従うようになります 2. サイコロの場合: - 母平均 = 3.5 - 母分散 = 35/12 - 標本平均の分布は N(3.5, 35/12n) に近づきます

補足: - n=100のとき、分散は約0.029となります - 分布の形は左右対称で、中心が3.5になります

4. シミュレーション問題

Pythonによるサイコロ投げのシミュレーション

import numpy as np
import matplotlib.pyplot as plt

def dice_roll_simulation(n_trials, n_rolls):
    # n_trials回の実験を行い、各実験でn_rolls回サイコロを投げる
    results = np.mean(np.random.randint(1, 7, (n_trials, n_rolls)), axis=1)
    return results

# 異なる試行回数でのシミュレーション
n_trials = 1000  # 実験回数
rolls = [10, 100, 1000]  # 試行回数

plt.figure(figsize=(10, 6))
for n_rolls in rolls:
    results = dice_roll_simulation(n_trials, n_rolls)
    plt.hist(results, bins=30, alpha=0.5, label=f'n={n_rolls}')

plt.axvline(x=3.5, color='r', linestyle='--', label='理論値 (3.5)')
plt.xlabel('平均値')
plt.ylabel('頻度')
plt.title('サイコロ投げのシミュレーション結果')
plt.legend()
plt.show()

解説: 1. シミュレーションの結果から以下のことが分かります: - 試行回数が増えるにつれて、分布が正規分布に近づく - 分布の中心が3.5に集中 - 分布の幅が狭くなる 2. これは中心極限定理の視覚的な確認となります

第12回:標本分布と区間推定

5. 基本的な理解を確認する問題

(1) 正規分布\(N(\mu, \sigma^2)\)に従う確率変数\(X\)の標本平均\(\bar{X}\)の期待値と分散を求めよ。

解答: - 期待値:\(\mu\) - 分散:\(\frac{\sigma^2}{n}\)

解説: 1. 標本平均の期待値: - 各\(X_i\)の期待値は\(\mu\) - 標本平均の期待値も\(\mu\) - \(\mathbb{E}[\bar{X}] = \mathbb{E}[\frac{1}{n}\sum_{i=1}^n X_i] = \frac{1}{n}\sum_{i=1}^n \mathbb{E}[X_i] = \mu\)

  1. 標本平均の分散:
  2. \(X_i\)の分散は\(\sigma^2\)
  3. 独立な確率変数の和の分散は分散の和
  4. \(\mathbb{V}[\bar{X}] = \mathbb{V}[\frac{1}{n}\sum_{i=1}^n X_i] = \frac{1}{n^2}\sum_{i=1}^n \mathbb{V}[X_i] = \frac{\sigma^2}{n}\)

補足: - 標本平均の分布は\(N(\mu, \frac{\sigma^2}{n})\)に従います - これは中心極限定理の特別な場合です

(2) 標本サイズ\(n\)を大きくすると、標本平均の分散はどのように変化するか。

解答: 標本平均の分散は\(\frac{\sigma^2}{n}\)となるため、\(n\)が大きくなるにつれて0に近づきます。

解説: 1. 分散の式から: - \(n\)が大きくなるほど、分母が大きくなる - したがって、分散は小さくなる 2. 具体的には: - \(n\)が2倍になると、分散は1/2倍 - \(n\)が4倍になると、分散は1/4倍 - \(n \to \infty\)のとき、分散は0に収束

補足: - これは大数の法則の定量的な表現の一つです - 分散が小さくなることは、推定の精度が上がることを意味します

6. 区間推定の基本問題

(1) 正規分布\(N(\mu, \sigma^2)\)から得られた標本\(X_1, X_2, \ldots, X_n\)について、\(\mu\)の95%信頼区間を求めよ。

解答: \(\mu\)の95%信頼区間は以下のようになります: $$ \left[\bar{X} - 1.96\frac{\sigma}{\sqrt{n}}, \bar{X} + 1.96\frac{\sigma}{\sqrt{n}}\right] $$

解説: 1. 標本平均\(\bar{X}\)\(N(\mu, \frac{\sigma^2}{n})\)に従います 2. 標準化すると: $$ \frac{\bar{X} - \mu}{\sigma/\sqrt{n}} \sim N(0,1) $$ 3. 標準正規分布の上側2.5%点は1.96です 4. したがって: $$ P\left(-1.96 \leq \frac{\bar{X} - \mu}{\sigma/\sqrt{n}} \leq 1.96\right) = 0.95 $$ 5. これを\(\mu\)について解くと、信頼区間が得られます

補足: - 1.96は標準正規分布の上側2.5%点です - 信頼区間の幅は\(2 \times 1.96 \times \frac{\sigma}{\sqrt{n}}\)です

(2) 標本サイズ\(n\)を大きくすると、信頼区間の幅はどのように変化するか。

解答: 信頼区間の幅は\(\frac{1}{\sqrt{n}}\)に比例して小さくなります。

解説: 1. 信頼区間の幅は: $$ 2 \times 1.96 \times \frac{\sigma}{\sqrt{n}} $$ 2. \(n\)が大きくなるにつれて: - \(\sqrt{n}\)が大きくなる - したがって、幅は小さくなる 3. 具体的には: - \(n\)が4倍になると、幅は1/2倍 - \(n\)が9倍になると、幅は1/3倍 - \(n \to \infty\)のとき、幅は0に収束

補足: - 幅を半分にするには、標本サイズを4倍にする必要があります - これは推定の精度を上げるための重要な知見です

7. 実践的な問題

(1) ある製品の重量が正規分布\(N(500, 10^2)\)に従うとする。100個の製品を測定して得られた標本平均が498g、標本標準偏差が9gであったとき、母平均\(\mu\)の95%信頼区間を求めよ。

解答: [496.24g, 499.76g]

解説: 1. 与えられた情報: - 標本平均\(\bar{X} = 498\)g - 標本標準偏差\(s = 9\)g - 標本サイズ\(n = 100\) - 信頼係数95%(\(z_{0.025} = 1.96\)

  1. 信頼区間の計算: $$ \bar{X} \pm z_{0.025}\frac{s}{\sqrt{n}} = 498 \pm 1.96\frac{9}{\sqrt{100}} = 498 \pm 1.764 $$

  2. したがって、信頼区間は: [498 - 1.764, 498 + 1.764] = [496.24, 499.76]

補足: - この区間は、真の母平均が含まれる確率が95%であることを示します - 区間の幅は約3.52gです

(2) この信頼区間の解釈を説明せよ。

解答: 「この信頼区間[496.24g, 499.76g]は、同じ実験を100回繰り返した場合、約95回は真の母平均を含む区間である」という意味です。

解説: 1. 信頼区間の解釈のポイント: - 母平均は固定値 - 信頼区間は標本ごとに変動する確率変数 - 95%は「区間が母平均を含む確率」

  1. 誤解しやすい点:
  2. 「母平均がこの区間に入る確率が95%」ではない
  3. 「この区間が母平均を含む確率が95%」が正しい

  4. 実践的な意味:

  5. 製品の重量の真の平均は、496.24gから499.76gの間にあると95%の確信を持って言える
  6. この区間は、品質管理や工程管理の基準として使用できる

補足: - 信頼区間の解釈は、統計的推測の重要な概念です - 実務では、この解釈を正しく理解することが重要です

8. 応用問題

(1) ある試験の得点が正規分布に従うとする。100人の学生の標本平均が65点、標本標準偏差が10点であったとき、母平均の95%信頼区間を求めよ。

解答: [63.04点, 66.96点]

解説: 1. 与えられた情報: - 標本平均\(\bar{X} = 65\)点 - 標本標準偏差\(s = 10\)点 - 標本サイズ\(n = 100\) - 信頼係数95%(\(z_{0.025} = 1.96\)

  1. 信頼区間の計算: $$ \bar{X} \pm z_{0.025}\frac{s}{\sqrt{n}} = 65 \pm 1.96\frac{10}{\sqrt{100}} = 65 \pm 1.96 $$

  2. したがって、信頼区間は: [65 - 1.96, 65 + 1.96] = [63.04, 66.96]

補足: - この区間は、真の母平均が含まれる確率が95%であることを示します - 区間の幅は約3.92点です

(2) この信頼区間の幅を半分にするには、標本サイズを何倍にすればよいか。

解答: 4倍

解説: 1. 信頼区間の幅は\(\frac{1}{\sqrt{n}}\)に比例します 2. 幅を半分にするには: - \(\frac{1}{\sqrt{n}}\)を半分にする必要がある - つまり、\(\sqrt{n}\)を2倍にする必要がある - したがって、\(n\)を4倍にする必要がある

  1. 具体的な計算:
  2. 現在の標本サイズ:100人
  3. 必要な標本サイズ:400人

補足: - これは推定の精度を上げるための重要な知見です - 標本サイズを4倍にすると、信頼区間の幅は半分になります - ただし、標本サイズを増やすにはコストがかかることを考慮する必要があります

9. 大数の法則と中心極限定理を組み合わせた応用

ある機械が生産する部品の重量が平均50g、分散4であるとする。100個の部品を抽出したとき、平均重量が52gを超える確率を中心極限定理を用いて近似せよ。

解答: 約0.0000(実質的に0)

解説: 1. 与えられた情報: - 母平均\(\mu = 50\)g - 母分散\(\sigma^2 = 4\)g² - 標本サイズ\(n = 100\)

  1. 中心極限定理により:
  2. 標本平均\(\bar{X}\)\(N(50, \frac{4}{100})\)に従う
  3. つまり、\(N(50, 0.04)\)に従う

  4. 確率の計算: $$ P(\bar{X} > 52) = P\left(\frac{\bar{X} - 50}{\sqrt{0.04}} > \frac{52 - 50}{\sqrt{0.04}}\right) = P(Z > 10) $$ ここで、\(Z\)は標準正規分布に従う確率変数

  5. 標準正規分布表から:

  6. \(P(Z > 10)\)は実質的に0

補足: - この結果は、平均重量が52gを超える確率が極めて小さいことを示しています - これは、工程が安定していることを示唆しています

10. 実データ分析の例

Pythonでサイコロを1000回振るシミュレーションを行い、回数を増やしたときの平均値の推移を図示し、大数の法則と中心極限定理の働きを説明せよ。

import numpy as np
import matplotlib.pyplot as plt

def dice_roll_simulation(n_rolls):
    # サイコロをn_rolls回振る
    rolls = np.random.randint(1, 7, n_rolls)
    # 累積平均を計算
    cumulative_means = np.cumsum(rolls) / np.arange(1, n_rolls + 1)
    return cumulative_means

# シミュレーションの実行
n_rolls = 1000
means = dice_roll_simulation(n_rolls)

# グラフの作成
plt.figure(figsize=(10, 6))
plt.plot(range(1, n_rolls + 1), means, label='累積平均')
plt.axhline(y=3.5, color='r', linestyle='--', label='理論値 (3.5)')
plt.xlabel('試行回数')
plt.ylabel('平均値')
plt.title('サイコロ投げの累積平均の推移')
plt.legend()
plt.grid(True)
plt.show()

解説: 1. 大数の法則の確認: - 試行回数が増えるにつれて、平均値が3.5に近づく - これは大数の法則の視覚的な確認

  1. 中心極限定理の確認:
  2. 各時点での平均値の分布が正規分布に近づく
  3. 分散が小さくなる

  4. 実践的な意味:

  5. 試行回数が少ないときは、平均値が大きく変動
  6. 試行回数が増えるにつれて、平均値が安定
  7. 最終的には理論値3.5に収束

補足: - このシミュレーションは、大数の法則と中心極限定理の両方を視覚的に理解するのに役立ちます - 実務では、このような収束の性質を理解することが重要です