Çalışan blokları içinde ANOVA
Üretim firmasıyla yaptığın önceki analizlerin üzerine, çalışan verimliliğini farklı bloklar arasında incelediğin ve bir teşvik programı uygulandığın senaryodan yola çıkarak, şimdi veriye daha derin dalıyorsun. Firma, productivity DataFrame'inde 1200 ek çalışan ve onların productivity_score bilgilerini içeren daha kapsamlı bir veri kümesine sahip ve iş gücünü verimlilik seviyelerine göre üç bloğa ayırmış. Her çalışana rastgele üç teşvik seçeneğinden biri atanmış: 'Bonus', 'Profit Sharing' veya 'Work from Home'.
Teşvik uygulamalarının verimlilik üzerindeki tam etkisini değerlendirmeden önce, başlangıçtaki tedavi atamasının gerçekten rastgele ve farklı verimlilik blokları arasında adil olduğundan emin olmak kritik. Bu adım, tedavi sonrası gözlenen farkların bloklardaki önceden var olan farklılıklardan değil, doğrudan teşvik programlarından kaynaklandığını güvenle söyleyebilmeni sağlar.
scipy.stats içindeki f_oneway() fonksiyonu senin için yüklendi.
Bu egzersiz
Python ile Deney Tasarımı
kursunun bir parçasıdırEgzersiz talimatları
- Verindeki farklı blokları temsil eden uygun sütuna göre
prod_df'yi gruplandır. - Her blok içinde ANOVA testini uygulamak için, bağımsız değişkenini belirttiğin bir lambda fonksiyonu kullan.
- Bloklar içindeki her tedavi grubu için,
'Treatment'sütun değerlerine göreprod_df'yi filtrele ve'productivity_score'sütununu seç.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)