วิธีสร้างพล็อต qq ใน python
พล็อต QQ ย่อมาจาก “ควอนไทล์-ควอนไทล์” มักใช้เพื่อประเมินว่าชุดข้อมูลอาจมาจากการแจกแจงทางทฤษฎีหรือไม่
ในกรณีส่วนใหญ่ การลงจุดประเภทนี้ใช้เพื่อพิจารณาว่าชุดข้อมูลเป็นไปตาม การแจกแจงแบบปกติ หรือไม่
บทช่วยสอนนี้จะอธิบายวิธีสร้างพล็อต QQ สำหรับชุดข้อมูลใน Python
ตัวอย่าง: พล็อต QQ ใน Python
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ 100 ค่า:
import numpy as np #create dataset with 100 values that follows a normal distribution np.random.seed(0) data = np.random.normal(0,1, 1000) #view first 10 values data[:10] array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799, -0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
หากต้องการสร้างพล็อต QQ สำหรับชุดข้อมูลนี้ เราสามารถใช้ ฟังก์ชัน qqplot() จากไลบรารี statsmodels:
import statsmodels.api as sm import matplotlib.pyplot as plt #create QQ plot with 45-degree line added to plot fig = sm.qqplot(data, line='45') plt.show()
ในพล็อต QQ แกน x จะแสดง ควอนไทล์ทางทฤษฎี ซึ่งหมายความว่าจะไม่แสดงข้อมูลจริงของคุณ แต่จะแสดงว่าข้อมูลของคุณอยู่ที่ใดหากมีการกระจายตามปกติ
แกน Y จะแสดง ข้อมูลปัจจุบัน ของคุณ ซึ่งหมายความว่าหากค่าข้อมูลเป็นเส้นตรงประมาณ 45 องศา ข้อมูลก็จะมีการกระจายตามปกติ
เราเห็นได้ในแผนภาพ QQ ด้านบนว่าค่าข้อมูลมีแนวโน้มใกล้เคียงกับ 45 องศา ซึ่งหมายความว่าข้อมูลมีแนวโน้มที่จะกระจายตามปกติ สิ่งนี้ไม่น่าแปลกใจเนื่องจากเราสร้างค่าข้อมูล 100 ค่าโดยใช้ ฟังก์ชัน numpy.random.normal()
ให้พิจารณาว่าเราสร้างชุดข้อมูลที่มีการกระจายค่าสม่ำเสมอ 100 ค่าและสร้างพล็อต QQ สำหรับชุดข้อมูลนั้นหรือไม่:
#create dataset of 100 uniformly distributed values data = np.random.uniform(0,1, 1000) #generate QQ plot for the dataset fig = sm.qqplot(data, line='45') plt.show()
ค่าข้อมูลไม่เป็นไปตามเส้นสีแดง 45 องศา อย่างชัดเจน แสดงว่าไม่เป็นไปตามการแจกแจงแบบปกติ
หมายเหตุเกี่ยวกับแปลง QQ
โปรดทราบหมายเหตุต่อไปนี้เกี่ยวกับแปลง QQ:
- แม้ว่าพล็อต QQ ไม่ใช่การทดสอบทางสถิติอย่างเป็นทางการ แต่ก็มอบวิธีง่ายๆ ในการตรวจสอบด้วยภาพว่าชุดข้อมูลมีการกระจายตามปกติหรือไม่
- ระวังอย่าสับสนแปลง QQ กับ แปลง PP ซึ่งใช้กันน้อยกว่าและมีประโยชน์น้อยในการวิเคราะห์ค่าข้อมูลที่ตกอยู่ที่ส่วนท้ายของการแจกแจง
คุณสามารถค้นหาบทช่วยสอน Python เพิ่มเติมได้ ที่นี่