分層隨機抽樣

使用 Python 分析問卷資料

EbunOluwa Andrew

Data Scientist

什麼是分層隨機抽樣

  • 分層抽樣更能反映母體的
  • 將母體依相似屬性切成互斥區塊(層)
  • 重新抽樣,使樣本比例符合母體

將不同族群的人口多樣性變化的示意圖

使用 Python 分析問卷資料

為何使用分層隨機抽樣?

  • 降低選樣偏差
  • 提高特定族群的代表性
  • 例子:
    • 估計不同族群的所得
    • 選前民調估計
    • 預測平均壽命

手持計數器統計人數

使用 Python 分析問卷資料

何時不該用分層隨機抽樣

  • 子群不可重疊
    • 受試者同屬多群 → 會失真
  • 問卷選項重疊的例子
    • 你在現職做了多久?
      • 1-2 年
      • 2-4 年

思考中的女士

使用 Python 分析問卷資料

ABC 公司的到班工作問卷結果

| employee_id | gender | onsite_work |
|-------------|--------|-------------|
|    fffe6838 | Male   | Yes         |
|   fffe12184 | Female | Yes         |
|    fffe9404 | Female | Yes         |
|   fffe17578 | Male   | Yes         |
|   fffe22257 | Female | Yes         |
|    fffe6217 | Male   | Yes         |
|    fffe7828 | Female | Yes         |
|   fffe18192 | Male   | Yes         |
|    fffe2839 | Female | Yes         |
|   fffe16173 | Female | Yes         |

使用 Python 分析問卷資料

檢查母體中的比例

survey.gender.value_counts(normalize=True)
Female    0.556
Male      0.444
Name: gender, dtype: float64
使用 Python 分析問卷資料

繪製母體比例

import pandas as pd
import matplotlib.pyplot as plt

survey.gender.value_counts().plot.pie()

問卷中女性與男性比例

使用 Python 分析問卷資料

分層抽樣範例

strat_sample = 
survey.groupby(
  'gender', group_keys = False).apply(
  lambda x: x.sample(frac = 0.1))
| employee_id | gender | onsite_work |
|-------------|--------|-------------|
|    fffe4934 | Female | Yes         |
|    fffe3958 | Female | Yes         |
|      fffe18 | Female | Yes         |
|     fffe283 | Female | Yes         |
|   fffe20382 | Female | Yes         |
|    fffe8721 | Male   | Yes         |
|    fffe5955 | Male   | Yes         |
|    fffe7081 | Male   | Yes         |
|     fffe353 | Male   | Yes         |
|    fffe1765 | Male   | Yes         |

使用 Python 分析問卷資料

檢查樣本中的比例

原始母體

survey.gender.value_counts(normalize=True)

分層樣本

strat_sample.gender.value_counts(
  normalize=True))
Female    0.556
Male      0.444
Name: gender, dtype: float64
Female    0.56
Male      0.44
Name: gender, dtype: float64
使用 Python 分析問卷資料

一起來練習吧!

使用 Python 分析問卷資料

Preparing Video For Download...