วิธีสร้างพล็อต 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 ใน Python

ในพล็อต 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()

พล็อต QQ ที่มีเส้นตรงใน Python โดยใช้ matplotlib

ค่าข้อมูลไม่เป็นไปตามเส้นสีแดง 45 องศา อย่างชัดเจน แสดงว่าไม่เป็นไปตามการแจกแจงแบบปกติ

หมายเหตุเกี่ยวกับแปลง QQ

โปรดทราบหมายเหตุต่อไปนี้เกี่ยวกับแปลง QQ:

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

คุณสามารถค้นหาบทช่วยสอน Python เพิ่มเติมได้ ที่นี่

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

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