Cara menjalankan penguji grubbs dengan python
Tes Grubbs digunakan untuk mengidentifikasi keberadaan outlier dalam suatu kumpulan data. Untuk menggunakan tes ini, kumpulan data harus terdistribusi normal dan berisi setidaknya 7 observasi.
Tutorial ini menjelaskan cara melakukan tes Grubbs dengan Python.
Tes Grubbs dengan Python
Untuk melakukan tes Grubbs dengan Python, kita dapat menggunakan fungsi smirnov_grubbs() dari paket outlier_utils , yang menggunakan sintaks berikut:
smirnov_grubbs.test (data, alfa = 0,05)
Emas:
- data: vektor numerik dari nilai data
- alpha: Tingkat signifikansi yang digunakan untuk tes. Nilai defaultnya adalah 0,05
Untuk menggunakan fitur ini, Anda harus menginstal paket outlier_utils terlebih dahulu:
pip install outlier_utils
Setelah paket ini terinstal, Anda dapat melakukan tes Grubbs. Contoh berikut mengilustrasikan cara melakukan hal ini.
Contoh 1: Tes Grubbs dua sisi
Kode berikut mengilustrasikan cara melakukan pengujian Grubbs dua sisi, yang akan mendeteksi outlier di kedua ujung kumpulan data.
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test grubbs. test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
Fungsi ini hanya mengembalikan array tanpa outlier. Dalam kasus ini, nilai maksimum 40 merupakan outlier dan oleh karena itu dihilangkan.
Contoh 2: Tes Grubbs satu sisi
Kode berikut menunjukkan cara melakukan tes Grubbs satu sisi untuk nilai minimum dan nilai maksimum dalam kumpulan data:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs. min_test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs. max_test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
Uji minimum outlier tidak mendeteksi nilai minimum sebagai outlier. Namun, uji outlier maksimum menentukan bahwa nilai maksimum 40 adalah outlier dan oleh karena itu dihilangkan.
Contoh 3: Ekstrak indeks outlier
Kode berikut menunjukkan cara mengekstrak indeks outlier:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify index (if any) of the outlier grubbs. max_test_indices (data, alpha=.05) [16]
Hal ini menunjukkan bahwa terdapat outlier pada posisi indeks 16 pada tabel.
Contoh 4: Ekstrak nilai dari outlier
Kode berikut menunjukkan cara mengekstrak nilai dari outlier:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify the actual value (if any) of the outlier grubbs. max_test_outliers (data, alpha=.05) [40]
Ini memberitahu kita bahwa ada outlier dengan nilai 40.
Cara menangani outlier
Jika pengujian Grubbs mengidentifikasi outlier dalam kumpulan data Anda, Anda memiliki beberapa opsi:
1. Periksa kembali apakah nilainya bukan kesalahan ketik atau kesalahan entri data. Terkadang nilai yang muncul sebagai outlier dalam kumpulan data hanyalah kesalahan ketik yang dilakukan oleh seseorang selama entri data. Pertama, verifikasi bahwa nilai telah dimasukkan dengan benar sebelum mengambil keputusan lebih lanjut.
2. Tetapkan nilai baru pada outlier . Jika outlier ternyata disebabkan oleh kesalahan ketik atau kesalahan entri data, Anda dapat memutuskan untuk memberinya nilai baru, misalnya mean atau median kumpulan data.
3. Hapus outlier. Jika nilainya benar-benar outlier, Anda dapat memilih untuk menghapusnya jika nilai tersebut akan berdampak signifikan pada analisis Anda.