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.

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *