Cara melakukan tes f dengan python
Uji F digunakan untuk menguji apakah dua varian populasi sama. Hipotesis nol dan alternatif dari pengujian tersebut adalah sebagai berikut:
H 0 : σ 1 2 = σ 2 2 (varians populasi sama)
H 1 : σ 1 2 ≠ σ 2 2 (varians populasi tidak sama)
Tutorial ini menjelaskan cara melakukan tes F dengan Python.
Contoh: Uji-F dengan Python
Misalkan kita mempunyai dua contoh berikut:
x = [18, 19, 22, 25, 27, 28, 41, 45, 51, 55] y = [14, 15, 15, 17, 18, 22, 25, 25, 27, 34]
Kita dapat menggunakan fungsi berikut untuk melakukan uji F guna menentukan apakah kedua populasi asal sampel ini memiliki varian yang sama:
import numpy as np #define F-test function def f_test(x, y): x = np.array(x) y = np.array(y) f = np.var(x, ddof=1)/np.var(y, ddof=1) #calculate F test statistic dfn = x.size-1 #define degrees of freedom numerator dfd = y.size-1 #define degrees of freedom denominator p = 1-scipy.stats.f.cdf(f, dfn, dfd) #find p-value of F test statistic return f,p #perform F-test f_test(x, y) (4.38712, 0.019127)
Statistik uji F adalah 4,38712 dan nilai p yang sesuai adalah 0,019127 . Karena nilai p ini kurang dari 0,05, kami menolak hipotesis nol. Artinya kita mempunyai cukup bukti untuk mengatakan bahwa kedua varian populasi tersebut tidak sama.
Komentar
- Statistik uji F dihitung sebagai s 1 2 / s 2 2 . Secara default, numpy.var menghitung varians populasi. Untuk menghitung varians sampel, kita perlu menentukan ddof=1 .
- Nilai p sesuai dengan 1 – cdf dari distribusi F dengan derajat kebebasan pada pembilang = n 1 -1 dan derajat kebebasan pada penyebut = n 2 -1.
- Fungsi ini hanya berfungsi bila varians sampel pertama lebih besar daripada varians sampel kedua. Jadi atur kedua contoh agar berfungsi dengan fungsi tersebut.
Kapan menggunakan uji F
Uji-F biasanya digunakan untuk menjawab salah satu pertanyaan berikut:
1. Apakah dua sampel berasal dari populasi yang variansinya sama?
2. Apakah perlakuan atau proses baru mengurangi variabilitas perlakuan atau proses saat ini?
Terkait: Cara melakukan tes F di R