วิธีการคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ภายในคลาสใน 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 ตามสมมติฐานต่อไปนี้:
- รุ่น: เอฟเฟกต์สุ่มทางเดียว เอฟเฟกต์สุ่มสองทาง หรือเอฟเฟกต์ผสมสองทาง
- ประเภทของความสัมพันธ์: ความสม่ำเสมอหรือข้อตกลงสัมบูรณ์
- หน่วย: ผู้ประเมินรายเดียวหรือค่าเฉลี่ยของผู้ประเมิน
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับสมมติฐานเหล่านี้ โปรดดูที่ บทความนี้