便宜的サンプリング

Pythonで学ぶサンプリング

James Chapman

Curriculum Manager, DataCamp

Literary Digestの選挙予測

1936年のLiterary Digest誌の表紙。選挙予測の見出しが掲載されており、ランドンが130万票、ルーズベルトが約100万票を獲得すると予測されている。

  • 予測:ランドン57%、ルーズベルト43%
  • 実際の結果:ランドン38%、ルーズベルト62%
  • サンプルが母集団を代表しておらず、標本バイアスが発生
  • 最も簡単な方法でデータを収集することを便宜的サンプリングと呼ぶ
Pythonで学ぶサンプリング

フランス人の平均年齢を求める

ディズニーランド・パリの写真。

  • ディズニーランド・パリで10人に調査
  • 平均年齢24.6歳
  • これはフランス全体の良い推定値になるか?
1 Image by Sean MacEntee
Pythonで学ぶサンプリング

調査の精度は?

フランスの平均年齢
1975 31.6
1985 33.6
1995 36.2
2005 38.9
2015 41.2
  • 24.6歳は不正確な推定値
  • ディズニーランドの来場者は母集団全体を代表していない
Pythonで学ぶサンプリング

コーヒー評価の便宜的サンプリング

coffee_ratings["total_cup_points"].mean()
82.15120328849028
coffee_ratings_first10 = coffee_ratings.head(10)
coffee_ratings_first10["total_cup_points"].mean()
89.1
Pythonで学ぶサンプリング

選択バイアスの可視化

import matplotlib.pyplot as plt
import numpy as np
coffee_ratings["total_cup_points"].hist(bins=np.arange(59, 93, 2))
plt.show()

 

coffee_ratings_first10["total_cup_points"].hist(bins=np.arange(59, 93, 2))
plt.show()
Pythonで学ぶサンプリング

母集団と便宜的サンプルの分布

母集団: 母集団のカップポイントのヒストグラム。

便宜的サンプル: サンプルのカップポイントのヒストグラム。

Pythonで学ぶサンプリング

無作為サンプルにおける選択バイアスの可視化

coffee_sample = coffee_ratings.sample(n=10)
coffee_sample["total_cup_points"].hist(bins=np.arange(59, 93, 2))
plt.show()
Pythonで学ぶサンプリング

母集団と単純無作為サンプルの分布

母集団: 母集団のカップポイントのヒストグラム。

無作為サンプル: 無作為サンプルのカップポイントのヒストグラム。

Pythonで学ぶサンプリング

練習しましょう!

Pythonで学ぶサンプリング

Preparing Video For Download...