วิธีการทดสอบความเป็นมาตรฐานหลายตัวแปรใน python
เมื่อเราต้องการทดสอบว่าตัวแปรตัวเดียวมีการแจกแจงแบบปกติหรือไม่ เราสามารถสร้าง พล็อต QQ เพื่อแสดงภาพการกระจายตัว หรือเราทำการทดสอบทางสถิติอย่างเป็นทางการ เช่น การ ทดสอบ Anderson Darling หรือ การทดสอบ Jarque-Bera
อย่างไรก็ตาม เมื่อเราต้องการทดสอบว่าปกติมีการกระจายตัวแปร หลายตัว เป็นกลุ่มหรือไม่ เราจำเป็นต้องทำการ ทดสอบภาวะปกติหลายตัวแปร
บทช่วยสอนนี้จะอธิบายวิธีดำเนินการทดสอบภาวะปกติหลายตัวแปรของ Henze-Zirkler สำหรับชุดข้อมูลที่กำหนดใน Python
ที่เกี่ยวข้อง: หากเราต้องการระบุค่า ผิด ปกติ ในบริบทหลายตัวแปร เราสามารถใช้ Mahalanobis Distance
ตัวอย่าง: การทดสอบภาวะปกติหลายตัวแปรของ Henze-Zirkler ใน Python
การทดสอบภาวะปกติหลายตัวแปรของ Henze-Zirkler จะกำหนดว่ากลุ่มของตัวแปรเป็นไปตามการแจกแจงแบบปกติหลายตัวแปรหรือไม่ สมมติฐานว่างและทางเลือกของการทดสอบมีดังนี้:
H 0 (null): ตัวแปรเป็นไปตามการแจกแจงแบบปกติหลายตัวแปร
H a (ทางเลือก): ตัวแปร ไม่เป็นไปตาม การแจกแจงแบบปกติหลายตัวแปร
ในการทำการทดสอบนี้ใน Python เราสามารถใช้ฟังก์ชัน multivariate_normality() จากไลบรารีของ Penguin
ก่อนอื่นเราต้องติดตั้ง Penguin:
pip install penguin
ต่อไป เราสามารถนำเข้าฟังก์ชัน multivariate_normality() และใช้ฟังก์ชันนี้เพื่อทำการทดสอบภาวะปกติหลายตัวแปรสำหรับชุดข้อมูลที่กำหนด:
#import necessary packages from penguin import multivariate_normality import pandas as pd import numpy as np #create a dataset with three variables x1, x2, and x3 df = pd.DataFrame({'x1':np.random.normal(size= 50 ), 'x2': np.random.normal(size= 50 ), 'x3': np.random.normal(size= 50 )}) #perform the Henze-Zirkler Multivariate Normality Test multivariate_normality(df, alpha= .05 ) HZResults(hz=0.5956866563391165, pval=0.6461804077893423, normal=True)
ผลการทดสอบมีดังนี้:
- สถิติการทดสอบ Hz: 0.59569
- ค่า p: 0.64618
เนื่องจากค่า p ของการทดสอบไม่น้อยกว่าค่าอัลฟ่าที่เราระบุไว้ที่ 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานที่เป็นโมฆะได้ ชุดข้อมูลสามารถสันนิษฐานได้ว่าเป็นไปตามการแจกแจงแบบปกติหลายตัวแปร
ที่เกี่ยวข้อง: เรียนรู้วิธีใช้การทดสอบ Henze-Zirkler ในการใช้งานทางการแพทย์ในโลกแห่งความเป็นจริงใน รายงานการวิจัยนี้