เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ANOVA ภายในบล็อกของพนักงาน

ต่อเนื่องจากการวิเคราะห์ก่อนหน้าเกี่ยวกับบริษัทผู้ผลิต ซึ่งศึกษาประสิทธิภาพการทำงานของพนักงานในบล็อกต่าง ๆ พร้อมกับโปรแกรมจูงใจที่ได้นำมาใช้ ขณะนี้เราจะเจาะลึกข้อมูลเพิ่มเติม บริษัทมีชุดข้อมูลที่ครอบคลุมมากขึ้นใน DataFrame ชื่อ productivity ซึ่งรวมพนักงานเพิ่มเติมอีก 1,200 คนพร้อมค่า productivity_score โดยแบ่งพนักงานออกเป็น 3 บล็อกตามระดับประสิทธิภาพการทำงาน และสุ่มมอบหมายมาตรการจูงใจให้พนักงานแต่ละคนเลือกหนึ่งในสามแบบ ได้แก่ 'Bonus', 'Profit Sharing' หรือ 'Work from Home'

ก่อนประเมินผลกระทบโดยรวมของมาตรการจูงใจต่อประสิทธิภาพการทำงาน สิ่งสำคัญคือต้องตรวจสอบว่าการมอบหมายมาตรการในช่วงแรกนั้นเป็นแบบสุ่มและเท่าเทียมกันในทุกบล็อก ขั้นตอนนี้ช่วยให้มั่นใจได้ว่าความแตกต่างด้านประสิทธิภาพที่สังเกตได้หลังการใช้มาตรการนั้น มาจากโปรแกรมจูงใจจริง ๆ ไม่ใช่ความแตกต่างที่มีอยู่เดิมระหว่างบล็อก

ฟังก์ชัน f_oneway() จากไลบรารี scipy.stats ได้โหลดไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การออกแบบการทดลองด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • จัดกลุ่ม prod_df ตามคอลัมน์ที่แสดงถึงบล็อกต่าง ๆ ในข้อมูล
  • ใช้ฟังก์ชัน lambda เพื่อรัน ANOVA test ภายในแต่ละบล็อก โดยระบุอาร์กิวเมนต์ของฟังก์ชัน lambda
  • สำหรับกลุ่มมาตรการจูงใจแต่ละกลุ่มภายในบล็อก ให้กรอง prod_df ตามค่าในคอลัมน์ 'Treatment' และเลือกคอลัมน์ 'productivity_score'

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)
แก้ไขและรันโค้ด