Melakukan T-Test dengan Python

Melakukan T-Test dengan Python

Node Sumber: 1902069

Melakukan T-Test dengan Python
Gambar oleh Editor

Pengambilan Kunci

  • Uji-t adalah uji statistik yang dapat digunakan untuk menentukan apakah ada perbedaan yang signifikan antara rata-rata dua sampel data independen.
  • Kami mengilustrasikan bagaimana uji-t dapat diterapkan menggunakan dataset iris dan pustaka Scipy Python.

Uji-t adalah uji statistik yang dapat digunakan untuk menentukan apakah ada perbedaan yang signifikan antara rata-rata dua sampel data independen. Dalam tutorial ini, kami mengilustrasikan versi paling dasar dari uji-t, yang akan kami asumsikan bahwa kedua sampel memiliki varians yang sama. Versi lanjutan lain dari uji-t termasuk uji-t Welch, yang merupakan adaptasi dari uji-t, dan lebih andal ketika kedua sampel memiliki varians yang tidak sama dan kemungkinan ukuran sampel yang tidak sama.

Statistik t atau nilai t dihitung sebagai berikut:

 

Melakukan T-Test dengan Python
 

dimana Persamaan

Persamaan adalah rata-rata sampel 1, Persamaan adalah rata-rata sampel 2, Persamaan adalah varian dari sampel 1, Persamaan adalah varian dari sampel 2, Persamaan adalah ukuran sampel dari sampel 1, dan Persamaan adalah ukuran sampel dari sampel 2.

Untuk mengilustrasikan penggunaan uji-t, kami akan menunjukkan contoh sederhana menggunakan dataset iris. Misalkan kita mengamati dua sampel independen, misalnya panjang sepal bunga, dan kita mempertimbangkan apakah kedua sampel tersebut diambil dari populasi yang sama (misalnya spesies bunga yang sama atau dua spesies dengan karakteristik sepal yang mirip) atau dua populasi yang berbeda.

Uji-t mengukur perbedaan antara rata-rata aritmatika dari kedua sampel. Nilai-p menghitung probabilitas untuk memperoleh hasil yang diamati, dengan asumsi hipotesis nol (bahwa sampel diambil dari populasi dengan mean populasi yang sama) adalah benar. Nilai p yang lebih besar dari ambang batas yang dipilih (misalnya 5% atau 0.05) menunjukkan bahwa pengamatan kami tidak mungkin terjadi secara kebetulan. Oleh karena itu, kami menerima hipotesis nol dari rata-rata populasi yang sama. Jika p-nilai lebih kecil dari ambang batas kami, maka kami memiliki bukti terhadap hipotesis nol rata-rata populasi yang sama.

Masukan Uji-T

Input atau parameter yang diperlukan untuk melakukan uji-t adalah:

  • Dua array a dan b berisi data sampel 1 dan sampel 2

Keluaran Uji-T

Uji-t mengembalikan yang berikut ini:

  • Statistik-t yang dihitung
  • Nilai-p

Impor perpustakaan yang diperlukan

import numpy as np
from scipy import stats import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split

 

Muat Kumpulan Data Iris

from sklearn import datasets
iris = datasets.load_iris()
sep_length = iris.data[:,0]
a_1, a_2 = train_test_split(sep_length, test_size=0.4, random_state=0)
b_1, b_2 = train_test_split(sep_length, test_size=0.4, random_state=1)

 

Hitung rata-rata sampel dan varians sampel

mu1 = np.mean(a_1) mu2 = np.mean(b_1) np.std(a_1) np.std(b_1)

 

Terapkan uji-t

stats.ttest_ind(a_1, b_1, equal_var = False)

 

Keluaran 

Ttest_indResult(statistic=0.830066093774641, pvalue=0.4076270841218671)

 

stats.ttest_ind(b_1, a_1, equal_var=False)

 

Keluaran 

Ttest_indResult(statistic=-0.830066093774641, pvalue=0.4076270841218671)

 

stats.ttest_ind(a_1, b_1, equal_var=True)

 

Keluaran

Ttest_indResult(statistic=0.830066093774641, pvalue=0.4076132965045395)

Pengamatan

Kami mengamati bahwa penggunaan "true" atau "false" untuk parameter "equal-var" tidak banyak mengubah hasil uji-t. Kami juga mengamati bahwa menukar urutan array sampel a_1 dan b_1 menghasilkan nilai uji-t negatif, tetapi tidak mengubah besarnya nilai uji-t, seperti yang diharapkan. Karena nilai p yang dihitung jauh lebih besar daripada nilai ambang 0.05, kita dapat menolak hipotesis nol bahwa perbedaan rata-rata antara sampel 1 dan sampel 2 adalah signifikan. Hal ini menunjukkan bahwa panjang sepal untuk sampel 1 dan sampel 2 diambil dari data populasi yang sama.

a_1, a_2 = train_test_split(sep_length, test_size=0.4, random_state=0)
b_1, b_2 = train_test_split(sep_length, test_size=0.5, random_state=1)

 

Hitung rata-rata sampel dan varians sampel

mu1 = np.mean(a_1) mu2 = np.mean(b_1) np.std(a_1) np.std(b_1)

 

Terapkan uji-t

stats.ttest_ind(a_1, b_1, equal_var = False)

 

Keluaran

stats.ttest_ind(a_1, b_1, equal_var = False)

Pengamatan

Kami mengamati bahwa menggunakan sampel dengan ukuran yang tidak sama tidak mengubah statistik-t dan nilai-p secara signifikan. 
 

Melakukan T-Test dengan Python

 

Singkatnya, kami telah menunjukkan bagaimana uji-t sederhana dapat diimplementasikan menggunakan perpustakaan scipy dengan python.
 
 
Benjamin O.Tayo adalah Fisikawan, Pendidik Ilmu Data, dan Penulis, serta Pemilik DataScienceHub. Sebelumnya, Benjamin mengajar Teknik dan Fisika di U. Central Oklahoma, Grand Canyon U., dan Pittsburgh State U.
 

Stempel Waktu:

Lebih dari KDnugget