Pandalarda t testleri nasıl yapılır (3 örnek)


Aşağıdaki örneklerde pandas DataFrame kullanılarak üç farklı t testinin nasıl gerçekleştirileceği gösterilmektedir:

  • Bağımsız iki örnekli t testi
  • Welch’in iki örnekli t testi
  • Eşleştirilmiş örnekler t testi

Örnek 1: Pandalarda bağımsız iki örnekli t testi

İki popülasyonun ortalamalarının eşit olup olmadığını belirlemek için bağımsız iki örnekli t testi kullanılır.

Örneğin, bir profesörün iki farklı çalışma yönteminin sınavlarda farklı ortalama notlara yol açıp açmadığını bilmek istediğini varsayalım.

Bunu test etmek için A yöntemini kullanacak 10 öğrenciyi ve B yöntemini kullanacak 10 öğrenciyi işe alır.

Aşağıdaki kod, her öğrencinin puanlarının bir pandas DataFrame’e nasıl girileceğini ve ardından bağımsız iki örnekli bir t testi gerçekleştirmek için SciPy kütüphanesinin ttest_ind() işlevinin nasıl kullanılacağını gösterir:

 import pandas as pd
from scipy. stats import ttest_ind

#create pandas DataFrame
df = pd. DataFrame ({'method': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                              'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'],
                   'score': [71, 72, 72, 75, 78, 81, 82, 83, 89, 91, 80, 81, 81,
                             84, 88, 88, 89, 90, 90, 91]})

#view first five rows of DataFrame
df. head ()

  method score
0 to 71
1 To 72
2 To 72
3 to 75
4 to 78

#define samples
group1 = df[df[' method ']==' A ']
group2 = df[df[' method ']==' B ']

#perform independent two sample t-test
ttest_ind(group1[' score '], group2[' score '])

Ttest_indResult(statistic=-2.6034304605397938, pvalue=0.017969284594810425)

Sonuçtan şunu görebiliriz:

  • t-testi istatistiği: – 2,6034
  • p değeri: 0,0179

P değeri 0,05’ten küçük olduğundan, t testinin boş hipotezini reddediyoruz ve iki yöntemin farklı ortalama sınav puanlarına yol açtığını belirtmek için yeterli kanıt olduğu sonucuna varıyoruz.

Örnek 2: Pandalarda Welch’in t testi

Welch’in t testi, bağımsız iki örnekli t testine benzer, tek farkı, örneklerin alındığı iki popülasyonun eşit varyansa sahip olduğunu varsaymamasıdır.

Welch’in t-testini önceki örnekle tamamen aynı veri kümesi üzerinde gerçekleştirmek için, ttest_ind () işlevinde equal_var=False değerini aşağıdaki gibi belirtmemiz yeterlidir:

 import pandas as pd
from scipy. stats import ttest_ind

#create pandas DataFrame
df = pd. DataFrame ({'method': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                              'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'],
                   'score': [71, 72, 72, 75, 78, 81, 82, 83, 89, 91, 80, 81, 81,
                             84, 88, 88, 89, 90, 90, 91]})

#define samples
group1 = df[df[' method ']==' A ']
group2 = df[df[' method ']==' B ']

#perform Welch's t-test
ttest_ind(group1[' score '], group2[' score '], equal_var= False )

Ttest_indResult(statistic=-2.603430460539794, pvalue=0.02014688617423973)

Sonuçtan şunu görebiliriz:

  • t-testi istatistiği: – 2,6034
  • p değeri: 0,0201

P değeri 0,05’ten küçük olduğundan Welch t testinin boş hipotezini reddediyoruz ve iki yöntemin farklı ortalama sınav puanlarına yol açtığını ifade etmek için yeterli kanıt olduğu sonucuna varıyoruz.

Örnek 3: Pandas’ta eşleştirilmiş örnekler t-testi

Eşleştirilmiş örnekler t-testi, bir örnekteki her gözlemin diğer örnekteki bir gözlemle ilişkilendirilebildiği iki popülasyon ortalamasının eşit olup olmadığını belirlemek için kullanılır.

Örneğin, bir profesörün iki farklı çalışma yönteminin sınavlarda farklı ortalama notlara yol açıp açmadığını bilmek istediğini varsayalım.

Bunu test etmek için A Yöntemini kullanacak 10 öğrenciyi işe alıyor ve ardından bir teste giriyor. Daha sonra Yöntem B’yi kullanan aynı 10 öğrencinin benzer zorlukta başka bir teste hazırlanmasına ve girmesine izin verir.

Her iki örnekte de tüm öğrenciler yer aldığından bu senaryoda eşleştirilmiş örnekler t-testi gerçekleştirebiliriz.

Aşağıdaki kod, her öğrencinin puanlarının bir pandas DataFrame’e nasıl girileceğini ve ardından eşleştirilmiş bir örnek t testi gerçekleştirmek için SciPy kütüphanesinin ttest_rel() işlevinin nasıl kullanılacağını gösterir:

 import pandas as pd
from scipy. stats import ttest_rel

#create pandas DataFrame
df = pd. DataFrame ({'method': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                              'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'],
                   'score': [71, 72, 72, 75, 78, 81, 82, 83, 89, 91, 80, 81, 81,
                             84, 88, 88, 89, 90, 90, 91]})

#view first five rows of DataFrame
df. head ()

  method score
0 to 71
1 To 72
2 To 72
3 to 75
4 to 78

#define samples
group1 = df[df[' method ']==' A ']
group2 = df[df[' method ']==' B ']

#perform independent two sample t-test
ttest_rel(group1[' score '], group2[' score '])

Ttest_relResult(statistic=-6.162045351967805, pvalue=0.0001662872100210469)

Sonuçtan şunu görebiliriz:

  • t-testi istatistiği: – 6.1620
  • p-değeri: 0,0001

P değeri 0,05’ten küçük olduğundan, eşleştirilmiş örnekler t-testinin boş hipotezini reddediyoruz ve iki yöntemin farklı ortalama sınav puanlarına yol açtığını belirtmek için yeterli kanıt olduğu sonucuna varıyoruz.

Ek kaynaklar

Aşağıdaki eğitimlerde Python’da diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Python’da Ki-Kare Bağımsızlık Testi Nasıl Yapılır?
Python’da Tek Yönlü ANOVA Nasıl Gerçekleştirilir
Python’da Fisher’in Kesin Testi Nasıl Gerçekleştirilir

Yorum ekle

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