วิธีใช้การแจกแจง t ใน python
การแจกแจงแบบ 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 )
หรือคุณสามารถสร้าง เส้นโค้งความหนาแน่น โดยใช้แพ็คเกจการแสดงภาพ ใต้ท้องทะเล :
import seaborn as sns #create density curve sns. kdeplot (x)
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับการแจกจ่าย:
การแจกแจงแบบปกติกับการแจกแจงแบบ t: อะไรคือความแตกต่าง?
เครื่องคำนวณการกระจายตัวแบบผกผัน