Стратифікована випадкова вибірка

Аналіз опитувальних даних у 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...