НачатьНачать бесплатно

Реализация рандомизированного блочного дизайна

Производственная компания, с которой вы работали ранее, по-прежнему заинтересована в проведении экспериментов по оценке производительности труда. В прошлый раз два блока формировались случайным образом. Это вполне допустимо, однако группировка испытуемых по схожим характеристикам даёт более точные результаты.

Те же сотрудники снова загружены, но на этот раз в DataFrame с именем productivity, который включает 1200 дополнительных коллег. Также в нём есть столбец 'productivity_score' — оценка производительности труда в единицах продукции за час. Этот столбец разбит на три группы, чтобы сформировать блоки на основе схожих значений производительности. Компания хочет внедрить новую программу стимулирования с тремя вариантами ('Bonus', 'Profit Sharing' и 'Work from Home') и случайным образом распределить их среди сотрудников.

Библиотеки numpy и pandas загружены как np и pd соответственно.

Это упражнение является частью курса

Планирование экспериментов в Python

Посмотреть курс

Инструкции к упражнению

  • Перемешайте блоки (blocks), чтобы создать новый DataFrame с именем prod_df.
  • Сбросьте индекс, чтобы block не выступал одновременно и индексом, и столбцом.
  • Случайным образом назначьте три значения воздействия в столбец 'Treatment'.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Randomly assign workers to blocks
prod_df = productivity.____('____').apply(
  lambda x: x.____(____)
)

# Reset the index
prod_df = prod_df.____(____)

# Assign treatment randomly
prod_df['Treatment'] = np.random.choice(
  ['____', '____', '____'],
  size=len(____)
)
Редактировать и запускать код