Python'da t dağıtımı nasıl kullanılır?
T dağılımı, normal dağılıma göre daha ağır “kuyruklara” sahip olması dışında , normal dağılıma benzer bir olasılık dağılımıdır .
Başka bir deyişle, normal dağılıma göre dağılımda daha fazla değer merkeze göre uçlarda yer alır:
Bu eğitimde Python’da t dağılımının nasıl kullanılacağı açıklanmaktadır.
Dağıtmak için nasıl oluşturulur?
Belirli serbestlik derecelerine ve örnek boyutuna sahip bir dağılımdan rastgele değerler oluşturmak için t.rvs(df, size) işlevini kullanabilirsiniz:
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])
Sonuç, 6 serbestlik derecesine sahip bir dağılıma göre birbirini takip eden 10 değerden oluşan bir tablodur.
T dağılımını kullanarak P değerleri nasıl hesaplanır
Bir t testi istatistiğiyle ilişkili p değerini bulmak için t.cdf(x, df, loc=0, Scale=1) fonksiyonunu kullanabiliriz.
Örnek 1: Tek Taraflı P Değerinin Bulunması
Tek taraflı bir hipotez testi yaptığımızı ve -1,5 test istatistiği ve serbestlik derecesi = 10 elde ettiğimizi varsayalım.
Bu test istatistiğine karşılık gelen p değerini hesaplamak için aşağıdaki sözdizimini kullanabiliriz:
from scipy. stats import t #calculate p-value t. cdf (x=-1.5, df=10) 0.08225366322272008
10 serbestlik derecesi ile -1,5 test istatistiğine karşılık gelen tek taraflı p değeri 0,0822’dir .
Örnek 2: İki Yönlü P Değerinin Bulunması
İki kuyruklu bir hipotez testi yaptığımızı ve 2,14’lük bir test istatistiği ve serbestlik derecesi = 20 elde ettiğimizi varsayalım.
Bu test istatistiğine karşılık gelen p değerini hesaplamak için aşağıdaki sözdizimini kullanabiliriz:
from scipy. stats import t #calculate p-value (1 - t. cdf (x=2.14, df=20)) * 2 0.04486555082549959
20 serbestlik dereceli 2,14 test istatistiğine karşılık gelen iki taraflı p değeri 0,0448’dir .
Not : Bu cevapları ters t dağılımı hesaplayıcısını kullanarak kontrol edebilirsiniz.
Dağıtımın takibi nasıl yapılır?
Belirli serbestlik derecelerine sahip bir dağılım çizmek için aşağıdaki sözdizimini kullanabilirsiniz:
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 )
Alternatif olarak, deniz doğuşu görselleştirme paketini kullanarak bir yoğunluk eğrisi oluşturabilirsiniz:
import seaborn as sns #create density curve sns. kdeplot (x)
Ek kaynaklar
Aşağıdaki eğitimler dağıtım hakkında ek bilgi sağlar:
Normal dağılım ve t dağılımı: fark nedir?
Ters t dağılımı hesaplayıcısı