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:

Normal dağılım ve t dağılımı

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 )

Python'da t dağıtım diyagramı

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)

Python'da t dağılım eğrisini çizin

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ı

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir