MulaiMulai sekarang secara gratis

ANOVA dalam blok karyawan

Melanjutkan analisis sebelumnya dengan perusahaan manufaktur, di mana produktivitas pekerja ditelaah lintas berbagai blok dan program insentif diperkenalkan, kini Anda menggali data lebih dalam. Perusahaan kini memiliki himpunan data yang lebih lengkap dalam DataFrame productivity, termasuk 1200 karyawan tambahan beserta productivity_score mereka, dan telah membagi tenaga kerja menjadi tiga blok berdasarkan tingkat produktivitas. Setiap karyawan secara acak ditugaskan salah satu dari tiga opsi insentif: 'Bonus', 'Profit Sharing', atau 'Work from Home'.

Sebelum menilai dampak penuh dari perlakuan insentif terhadap produktivitas, penting untuk memverifikasi bahwa penugasan perlakuan awal benar-benar acak dan seimbang di seluruh blok produktivitas. Langkah ini memastikan bahwa setiap perbedaan produktivitas yang diamati setelah perlakuan dapat dengan yakin diatribusikan pada program insentif itu sendiri, bukan pada kesenjangan awal antarblok.

Fungsi f_oneway() dari scipy.stats telah dimuat untuk Anda.

Latihan ini adalah bagian dari kursus

Perancangan Eksperimen dengan Python

Lihat Kursus

Petunjuk latihan

  • Kelompokkan prod_df berdasarkan kolom yang sesuai yang merepresentasikan blok berbeda dalam data Anda.
  • Gunakan fungsi lambda untuk menerapkan uji ANOVA di dalam setiap blok, dengan menentukan argumen fungsi lambda.
  • Untuk setiap kelompok perlakuan dalam blok, saring prod_df berdasarkan nilai kolom 'Treatment' dan pilih kolom 'productivity_score'.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Perform the within blocks ANOVA, first grouping by block
within_block_anova = prod_df.groupby('____').apply(
  # Set function
  lambda x: ____(
    # Filter Treatment values based on outcome
    x[x['____'] == '____']['____'], 
    x[x['____'] == '____']['____'],
    x[x['____'] == '____']['____'])
)
print(within_block_anova)
Edit dan Jalankan Kode