Stratifikované náhodné vzorkování

Analýza dat z průzkumů v Pythonu

EbunOluwa Andrew

Data Scientist

Co je stratifikované náhodné vzorkování

  • Stratifikované vzorkování lépe odráží populaci
  • Technika, při níž je populace rozdělena do skupin (strat) podle podobných vlastností
  • Zahrnuje opětovné vzorkování tak, aby proporce odpovídaly populaci

Demografická změna jako velká skupina lidí znázorňující rozmanitost populace

Analýza dat z průzkumů v Pythonu

Proč používat stratifikované náhodné vzorkování?

  • Minimalizuje selekční zkreslení
  • Zvyšuje reprezentativnost určitých skupin populace
  • Příklady:
    • Odhadování příjmů různých populací
    • Odhadování výsledků voleb
    • Odhadování střední délky života

Ruční počítadlo pro sčítání osob

Analýza dat z průzkumů v Pythonu

Kdy stratifikované náhodné vzorkování nepoužívat

  • Podskupiny by se neměly překrývat
    • Subjekty spadající do více skupin -> zkreslení
  • Příklad překryvu v otázce průzkumu
    • Jak dlouho pracujete na svém současném místě?
      • 1–2 roky
      • 2–4 roky

Přemýšlející žena

Analýza dat z průzkumů v Pythonu

Výsledky průzkumu práce na místě ve firmě 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         |

Analýza dat z průzkumů v Pythonu

Kontrola proporcí v populaci

survey.gender.value_counts(normalize=True)
Female    0.556
Male      0.444
Name: gender, dtype: float64
Analýza dat z průzkumů v Pythonu

Vizualizace proporcí v populaci

import pandas as pd
import matplotlib.pyplot as plt

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

Poměr žen a mužů v průzkumu

Analýza dat z průzkumů v Pythonu

Příklad stratifikovaného vzorkování

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         |

Analýza dat z průzkumů v Pythonu

Kontrola proporcí ve vzorku

Původní populace

survey.gender.value_counts(normalize=True)

Stratifikovaný vzorek

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
Analýza dat z průzkumů v Pythonu

Pojďme procvičovat!

Analýza dat z průzkumů v Pythonu

Preparing Video For Download...