Cara melakukan tes kolmogorov-smirnov dengan python
Uji Kolmogorov-Smirnov digunakan untuk menguji apakah suatu sampel berasal dari distribusi tertentu atau tidak.
Untuk melakukan pengujian Kolmogorov-Smirnov dengan Python, kita dapat menggunakan scipy.stats.kstest() untuk pengujian satu sampel atau scipy.stats.ks_2samp() untuk pengujian dua sampel.
Tutorial ini menunjukkan contoh cara menggunakan setiap fungsi dalam praktik.
Contoh 1: Sampel uji Kolmogorov-Smirnov
Misalkan kita memiliki contoh data berikut:
from numpy.random import seed from numpy.random import fish #set seed (eg make this example reproducible) seed(0) #generate dataset of 100 values that follows a Poisson distribution with mean=5 data = fish(5, 100)
Kode berikut menunjukkan cara melakukan uji Kolmogorov-Smirnov pada sampel 100 nilai data ini untuk menentukan apakah berasal dari distribusi normal:
from scipy.stats import kstest #perform Kolmogorov-Smirnov test kstest(data, ' norm ') KstestResult(statistic=0.9072498680518208, pvalue=1.0908062873170218e-103)
Dari hasilnya, kita dapat melihat bahwa statistik uji adalah 0,9072 dan nilai p yang sesuai adalah 1,0908e-103 . Karena nilai p kurang dari 0,05, kami menolak hipotesis nol. Kami memiliki cukup bukti untuk mengatakan bahwa data sampel tidak berasal dari distribusi normal.
Hasil ini juga tidak mengherankan karena kami membuat data sampel menggunakan fungsi Poisson() , yang menghasilkan nilai acak yang mengikuti distribusi Poisson .
Contoh 2: Uji Kolmogorov-Smirnov dua sampel
Katakanlah kita memiliki dua contoh kumpulan data berikut:
from numpy.random import seed from numpy.random import randn from numpy.random import lognormal #set seed (eg make this example reproducible) seed(0) #generate two datasets data1 = randn(100) data2 = lognormal(3, 1, 100)
Kode berikut menunjukkan cara melakukan uji Kolmogorov-Smirnov pada kedua sampel tersebut untuk menentukan apakah keduanya berasal dari distribusi yang sama:
from scipy.stats import ks_2samp #perform Kolmogorov-Smirnov test ks_2samp(data1, data2) KstestResult(statistic=0.99, pvalue=4.417521386399011e-57)
Dari hasilnya, kita dapat melihat bahwa statistik pengujian adalah 0,99 dan nilai p yang sesuai adalah 4,4175e-57 . Karena nilai p kurang dari 0,05, kami menolak hipotesis nol. Kami memiliki cukup bukti untuk mengatakan bahwa kedua kumpulan data sampel tersebut tidak berasal dari distribusi yang sama.
Hasil ini juga tidak mengherankan karena kami menghasilkan nilai untuk sampel pertama menggunakan distribusi normal standar dan nilai untuk sampel kedua menggunakan distribusi lognormal.
Sumber daya tambahan
Cara Melakukan Tes Shapiro-Wilk dengan Python
Cara Melakukan Tes Anderson-Darling dengan Python