วิธีการคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ภายในคลาสใน python


ค่าสัมประสิทธิ์สหสัมพันธ์ภายในคลาส (ICC) ใช้เพื่อพิจารณาว่ารายการหรือหัวข้อสามารถจัดอันดับได้อย่างน่าเชื่อถือโดยผู้ประเมินที่แตกต่างกันหรือไม่

ค่าของ ICC สามารถอยู่ในช่วงตั้งแต่ 0 ถึง 1 โดย 0 หมายถึงไม่มี ความน่าเชื่อถือ ในหมู่ผู้ประเมิน และ 1 หมายถึงความน่าเชื่อถือที่สมบูรณ์แบบ

วิธีที่ง่ายที่สุดในการคำนวณ ICC ใน Python คือการใช้ฟังก์ชัน Penguin.intraclass_corr() จาก แพ็คเกจสถิติ Penguin ซึ่งใช้ไวยากรณ์ต่อไปนี้:

pengouin.intraclass_corr (ข้อมูล เป้าหมาย ผู้ประเมิน คะแนน)

ทอง:

  • data: ชื่อของกรอบข้อมูล
  • เป้าหมาย: ชื่อของคอลัมน์ที่มี “เป้าหมาย” (สิ่งที่ถูกสังเกต)
  • ผู้ตรวจสอบ: ชื่อของคอลัมน์ที่มีผู้ตรวจสอบ
  • หมายเหตุ: ชื่อของคอลัมน์ที่มีบันทึกย่อ

บทช่วยสอนนี้ให้ตัวอย่างเชิงปฏิบัติของการใช้ฟีเจอร์นี้

ขั้นตอนที่ 1: ติดตั้ง Penguin

ก่อนอื่นคุณต้องติดตั้ง Penguin:

 pip install penguin

ขั้นตอนที่ 2: สร้างข้อมูล

สมมติว่าผู้พิพากษาสี่คนถูกขอให้ประเมินคุณภาพของการสอบเข้าวิทยาลัยที่แตกต่างกันหกแบบ เราสามารถสร้าง dataframe ต่อไปนี้เพื่อเก็บคะแนนของกรรมการ:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' exam ': [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6,
                            1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6],
                   ' judge ': ['A', 'A', 'A', 'A', 'A', 'A',
                             'B', 'B', 'B', 'B', 'B', 'B',
                             'C', 'C', 'C', 'C', 'C', 'C',
                             'D', 'D', 'D', 'D', 'D', 'D'],
                   ' rating ': [1, 1, 3, 6, 6, 7, 2, 3, 8, 4, 5, 5,
                              0, 4, 1, 5, 5, 6, 1, 2, 3, 3, 6, 4]})

#view first five rows of DataFrame
df. head ()

	exam judge rating
0 1 A 1
1 2 A 1
2 3 A 3
3 4 To 6
4 5 A 6

ขั้นตอนที่ 3: คำนวณค่าสัมประสิทธิ์สหสัมพันธ์ภายในคลาส

ต่อไป เราจะใช้โค้ดต่อไปนี้เพื่อคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ภายในคลาส:

 import penguin as pg

icc = pg. intraclass_corr (data=df, targets=' exam ', raters=' judge ', ratings=' rating ')

icc. set_index (' Type ')

        Description ICC F df1 df2 pval CI95%
Kind							
ICC1 Single raters absolute 0.505252 5.084916 5 18 0.004430 [0.11, 0.89]
ICC2 Single random raters 0.503054 4.909385 5 15 0.007352 [0.1, 0.89]
ICC3 Single fixed raters 0.494272 4.909385 5 15 0.007352 [0.09, 0.88]
ICC1k Average raters absolute 0.803340 5.084916 5 18 0.004430 [0.33, 0.97]
ICC2k Average random raters 0.801947 4.909385 5 15 0.007352 [0.31, 0.97]
ICC3k Average fixed raters 0.796309 4.909385 5 15 0.007352 [0.27, 0.97]

ฟังก์ชันนี้ส่งคืนผลลัพธ์ต่อไปนี้:

  • คำอธิบาย: ประเภทของ ICC ที่คำนวณ
  • ICC: ค่าสัมประสิทธิ์สหสัมพันธ์ภายในคลาส (ICC)
  • F: ค่า F ของ ICC
  • df1, df2: องศาอิสระที่เกี่ยวข้องกับค่า F
  • pval: ค่า p ที่เกี่ยวข้องกับค่า F
  • CI95%: ช่วงความเชื่อมั่น 95% สำหรับ ICC

โปรดทราบว่ามี ICC ที่แตกต่างกันหกแบบที่คำนวณไว้ที่นี่ แท้จริงแล้ว มีหลายวิธีในการคำนวณ ICC ตามสมมติฐานต่อไปนี้:

  • รุ่น: เอฟเฟกต์สุ่มทางเดียว เอฟเฟกต์สุ่มสองทาง หรือเอฟเฟกต์ผสมสองทาง
  • ประเภทของความสัมพันธ์: ความสม่ำเสมอหรือข้อตกลงสัมบูรณ์
  • หน่วย: ผู้ประเมินรายเดียวหรือค่าเฉลี่ยของผู้ประเมิน

สำหรับคำอธิบายโดยละเอียดเกี่ยวกับสมมติฐานเหล่านี้ โปรดดูที่ บทความนี้

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *