Cara melakukan uji-t di pandas (3 contoh)


Contoh berikut menunjukkan cara melakukan tiga uji-t berbeda menggunakan pandas DataFrame:

  • Uji t dua sampel independen
  • Uji-t dua sampel Welch
  • Uji-t sampel berpasangan

Contoh 1: Uji-t dua sampel independen pada panda

Uji-t dua sampel independen digunakan untuk menentukan apakah rata-rata dua populasi sama.

Misalnya, seorang profesor ingin mengetahui apakah dua metode belajar yang berbeda menghasilkan nilai rata-rata yang berbeda pada ujian.

Untuk mengujinya, beliau merekrut 10 siswa untuk menggunakan metode A dan 10 siswa untuk menggunakan metode B.

Kode berikut menunjukkan cara memasukkan skor setiap siswa ke dalam DataFrame pandas, lalu menggunakan fungsi ttest_ind() perpustakaan SciPy untuk melakukan uji-t dua sampel independen:

 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)

Dari hasilnya kita dapat melihat:

  • statistik uji-t: – 2,6034
  • nilai p: 0,0179

Karena nilai p kurang dari 0,05, kami menolak hipotesis nol uji-t dan menyimpulkan bahwa terdapat cukup bukti untuk menyatakan bahwa kedua metode tersebut menghasilkan nilai rata-rata ujian yang berbeda.

Contoh 2: Uji-t Welch pada panda

Uji-t Welch mirip dengan uji-t dua sampel independen, hanya saja uji ini tidak mengasumsikan bahwa dua populasi tempat sampel diambil mempunyai varians yang sama .

Untuk melakukan uji-t Welch pada kumpulan data yang sama persis seperti contoh sebelumnya, kita hanya perlu menentukan equal_var=False dalam fungsi ttest_ind () sebagai berikut:

 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)

Dari hasilnya kita dapat melihat:

  • statistik uji-t: – 2,6034
  • nilai p: 0,0201

Karena nilai p kurang dari 0,05, kami menolak hipotesis nol uji-t Welch dan menyimpulkan bahwa terdapat cukup bukti untuk menyatakan bahwa kedua metode tersebut menghasilkan nilai rata-rata ujian yang berbeda.

Contoh 3: Uji-t sampel berpasangan di Pandas

Uji-t sampel berpasangan digunakan untuk mengetahui apakah rata-rata dua populasi sama, dimana setiap observasi pada satu sampel dapat dikaitkan dengan observasi pada sampel lainnya.

Misalnya, seorang profesor ingin mengetahui apakah dua metode belajar yang berbeda menghasilkan nilai rata-rata yang berbeda pada ujian.

Untuk mengujinya, dia merekrut 10 siswa untuk menggunakan Metode A dan kemudian mengikuti tes. Kemudian dia membiarkan 10 siswa yang sama yang menggunakan Metode B mempersiapkan dan mengerjakan tes lain yang tingkat kesulitannya sama.

Karena semua siswa muncul di kedua sampel, kita dapat melakukan uji-t sampel berpasangan dalam skenario ini.

Kode berikut menunjukkan cara memasukkan skor setiap siswa ke dalam DataFrame pandas, lalu menggunakan fungsi ttest_rel() perpustakaan SciPy untuk melakukan uji-t sampel berpasangan:

 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)

Dari hasilnya kita dapat melihat:

  • statistik uji-t: – 6.1620
  • nilai p: 0,0001

Karena nilai p kurang dari 0,05, kami menolak hipotesis nol uji-t sampel berpasangan dan menyimpulkan bahwa terdapat cukup bukti untuk menyatakan bahwa kedua metode tersebut menghasilkan nilai rata-rata ujian yang berbeda.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya dengan Python:

Cara Melakukan Tes Kemerdekaan Chi-Kuadrat dengan Python
Cara Melakukan ANOVA Satu Arah dengan Python
Cara Melakukan Tes Tepat Fisher dengan Python

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *