Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melakukan ujian-t dua sampel dalam Python?

Bagaimana untuk melakukan ujian-t dua sampel dalam Python?

王林
王林ke hadapan
2023-08-31 21:49:031089semak imbas

Bagaimana untuk melakukan ujian-t dua sampel dalam Python?

Pengenalan

Gunakan ujian-t dua sampel untuk membandingkan secara statistik kedua-dua set min untuk melihat sama ada terdapat perbezaan yang ketara di antara mereka. Ujian ini sering digunakan dalam penyelidikan saintifik untuk menentukan sama ada dua kumpulan berbeza secara signifikan berdasarkan pembolehubah berterusan. Dalam artikel ini, kita akan belajar cara melaksanakan ujian-t dua sampel menggunakan modul scipy.stats Python.

Menjalankan ujian T dua sampel

Sebelum meneruskan pelaksanaan, mari kita fahami asas teori ujian-t dua sampel. Ujian ini mengandaikan bahawa kedua-dua populasi sampel adalah taburan normal dan mempunyai varians yang sama. Hipotesis nol ialah min kedua-dua kumpulan adalah sama, dan hipotesis alternatif ialah min kedua-dua kumpulan adalah tidak sama. Statistik ujian dikira dengan membahagikan perbezaan min antara dua kumpulan dengan perbezaan ralat piawai. Kami menolak hipotesis nol dan membuat kesimpulan bahawa jika anggaran nilai-t melebihi nilai kritikal, maka min kedua-dua kumpulan adalah berbeza dengan ketara.

Mari kita lihat cara melakukan ujian-t dua sampel dalam Python. Kami memerlukan modul scipy.stats, yang membantu menyediakan fungsi yang dipanggil ttest_ind. Ia mengambil sebagai input dua tatasusunan yang mewakili dua sampel dan mengembalikan nilai t dan p.

Langkah 1: Import perpustakaan yang diperlukan

Mengimport perpustakaan yang diperlukan akan menjadi langkah pertama. Untuk melaksanakan ujian-t dua sampel dalam Python, kita perlu mengimport perpustakaan NumPy dan SciPy. Operasi statistik dilakukan menggunakan perpustakaan SciPy, manakala operasi matematik dilakukan menggunakan perpustakaan NumPy.

import NumPy as np
from scipy.stats import ttest_ind

Langkah 2: Hasilkan pembolehubah

Seterusnya mari buat dua sampel rawak dengan min dan sisihan piawai yang sama -

np.random.seed(42)
sample1 = np.random.normal(loc=10, scale=2, size=100)
sample2 = np.random.normal(loc=10, scale=2, size=100)

Di sini, kami menggunakan fungsi np.random.normal untuk menghasilkan dua sampel bersaiz 100 setiap satu, dengan min 10 dan sisihan piawai 2. Kami menetapkan benih rawak kepada 42 untuk memastikan hasil yang boleh dihasilkan.

Sekarang, mari buat ujian-t -

t_stat, p_value = ttest_ind(sample1, sample2)

Langkah 3: Tafsirkan keputusan

Fungsi

ttest_ind mengembalikan dua nilai dengan kod: nilai-t dan nilai-p. Nilai-t mengukur perbezaan antara dua min sampel, manakala nilai-p mengukur kepentingan statistik perbezaan.

Akhir sekali, mari kita cetak keputusan -

print("t-value: ", t_stat)
print("p-value: ", p_value)

Ini akan mengeluarkan nilai-t dan nilai-p -

t-value: 0.086
p-value: 0.931

Memandangkan nilai t dalam kod ini adalah kecil, kita boleh membuat kesimpulan bahawa cara kedua-dua sampel adalah agak setanding. Kerana nilai-p terlalu besar, perbezaan antara kedua-dua nilai tidak sama ketara.

Ingat, ujian-t mengandaikan bahawa varians kedua-dua kumpulan adalah sama. Jika andaian ini rosak, anda boleh menggunakan ujian-t Welch, yang merupakan variasi ujian-t yang tidak menganggap varians yang sama. Kaedah ttest_ind_from_stats untuk ujian-t Welch juga tersedia dalam modul scipy.stats. Purata, sisihan piawai dan saiz sampel bagi kedua-dua kumpulan adalah input kepada fungsi ini.

Mari lihat cara melakukan ujian-t Welch dalam Python

mean1, std1, size1 = 10, 2, 100
mean2, std2, size2 = 10, 3, 100
t_stat, p_value = ttest_ind_from_stats(mean1, std1, size1, mean2, std2, size2, equal_var=False)
print("t-value: ", t_stat)
print("p-value: ", p_value)

Ini akan mengeluarkan nilai-t dan nilai-p -

t-value: -0.267
p-value: 0.790

Mengikut data, nilai t dalam contoh ini adalah negatif, menunjukkan bahawa min sampel 1 adalah lebih rendah sedikit daripada min sampel 2. Walau bagaimanapun, nilai p yang sangat tinggi menunjukkan bahawa perbezaan dalam min tidak signifikan secara statistik.

Kesimpulan

Kesimpulannya, ujian-t dua sampel ialah alat statistik yang berkesan yang membolehkan kita membandingkan min dua kumpulan dan menentukan sama ada ia berbeza secara signifikan. Python mempunyai banyak perpustakaan dan fungsi untuk melaksanakan ujian-t, termasuk modul scipy.stats yang kami gunakan dalam artikel ini. Ujian-t membuat pelbagai andaian, termasuk normaliti dan varians sama, yang harus disahkan sebelum ujian dijalankan. Tambahan pula, persoalan kajian khusus yang sedang dipertimbangkan dan batasan kajian hendaklah sentiasa dipertimbangkan semasa mentafsir keputusan.

Atas ialah kandungan terperinci Bagaimana untuk melakukan ujian-t dua sampel dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam