วิธีใช้การแจกแจง t ใน python


การแจกแจงแบบ t คือการแจกแจงความน่าจะเป็นที่คล้ายกับ การแจกแจงแบบปกติ ยกเว้น ว่าจะมี “ก้อย” ที่หนักกว่าการแจกแจงแบบปกติ

กล่าวอีกนัยหนึ่ง ค่ามากกว่าในการแจกแจงจะอยู่ที่ส่วนท้ายมากกว่าตรงกลางเมื่อเทียบกับการแจกแจงแบบปกติ:

การแจกแจงแบบปกติเทียบกับการแจกแจงแบบ t

บทช่วยสอนนี้จะอธิบายวิธีใช้การแจกแจง t ใน Python

วิธีการสร้างเพื่อจำหน่าย

คุณสามารถใช้ฟังก์ชัน t.rvs(df, size) เพื่อสร้างค่าสุ่มจากการแจกแจงที่มีระดับความอิสระและขนาดตัวอย่างเฉพาะ:

 from scipy. stats import t

#generate random values from t distribution with df=6 and sample size=10
t. rvs (df= 6 , size= 10 )

array([-3.95799716, -0.01099963, -0.55953846, -1.53420055, -1.41775611,
       -0.45384974, -0.2767931, -0.40177789, -0.3602592, 0.38262431])

ผลลัพธ์ที่ได้คือตารางค่า 10 ค่าที่ต่อกันตามการแจกแจงด้วยระดับความอิสระ 6 องศา

วิธีการคำนวณค่า P โดยใช้การแจกแจงแบบ t

เราสามารถใช้ฟังก์ชัน t.cdf(x, df, loc=0, scale=1) เพื่อค้นหาค่า p ที่เกี่ยวข้องกับสถิติการทดสอบที

ตัวอย่างที่ 1: การค้นหาค่า P ด้านเดียว

สมมติว่าเราทำการ ทดสอบสมมติฐาน ด้านเดียวและได้รับสถิติการทดสอบที่ -1.5 และองศาอิสระ = 10

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณค่า p ที่สอดคล้องกับสถิติการทดสอบนี้:

 from scipy. stats import t

#calculate p-value
t. cdf (x=-1.5, df=10)

0.08225366322272008

ค่า p ด้านเดียวที่สอดคล้องกับสถิติการทดสอบ -1.5 โดยมีดีกรีอิสระ 10 คือ 0.0822

ตัวอย่างที่ 2: การค้นหาค่า P สองทาง

สมมติว่าเราทำการ ทดสอบสมมติฐาน แบบสองด้านและได้สถิติการทดสอบ 2.14 และองศาอิสระ = 20

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณค่า p ที่สอดคล้องกับสถิติการทดสอบนี้:

 from scipy. stats import t

#calculate p-value
(1 - t. cdf (x=2.14, df=20)) * 2

0.04486555082549959

ค่า p สองด้านที่สอดคล้องกับสถิติการทดสอบ 2.14 โดยมีดีกรีอิสระ 20 คือ 0.0448

หมายเหตุ : คุณสามารถตรวจสอบคำตอบเหล่านี้ได้โดยใช้เครื่องคำนวณการแจกแจงค่า t แบบผกผัน

วิธีการติดตามการกระจายตัว

คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อพล็อตการแจกแจงที่มีระดับความอิสระเฉพาะเจาะจงได้:

 from scipy. stats import t
import matplotlib. pyplot as plt

#generate t distribution with sample size 10000
x = t. rvs (df= 12 , size= 10000 )

#create plot of t distribution
plt. hist (x, density= True , edgecolor=' black ', bins= 20 )

แผนภาพการกระจาย t ใน Python

หรือคุณสามารถสร้าง เส้นโค้งความหนาแน่น โดยใช้แพ็คเกจการแสดงภาพ ใต้ท้องทะเล :

 import seaborn as sns

#create density curve
sns. kdeplot (x)

พล็อตกราฟการกระจายใน Python

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับการแจกจ่าย:

การแจกแจงแบบปกติกับการแจกแจงแบบ t: อะไรคือความแตกต่าง?
เครื่องคำนวณการกระจายตัวแบบผกผัน

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

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