Python'da grubbs test cihazı nasıl çalıştırılır


Grubbs testi, bir veri setindeki aykırı değerlerin varlığını belirlemek için kullanılır. Bu testi kullanmak için bir veri setinin yaklaşık olarak normal dağılıma sahip olması ve en az 7 gözlem içermesi gerekir.

Bu eğitimde Python’da Grubbs testinin nasıl gerçekleştirileceği açıklanmaktadır.

Python’da Grubbs testi

Python’da Grubbs testini gerçekleştirmek için outlier_utils paketindeki aşağıdaki sözdizimini kullanan smirnov_grubbs() işlevini kullanabiliriz:

smirnov_grubbs.test (veri, alfa = 0,05)

Altın:

  • veri: veri değerlerinin sayısal bir vektörü
  • alfa: Test için kullanılacak anlamlılık düzeyi. Varsayılan değer 0,05’tir

Bu özelliği kullanmak için öncelikle outlier_utils paketini kurmanız gerekir:

 pip install outlier_utils

Bu paket yüklendikten sonra Grubbs testini gerçekleştirebilirsiniz. Aşağıdaki örnekler bunun nasıl yapılacağını göstermektedir.

Örnek 1: İki kuyruklu Grubbs testi

Aşağıdaki kod, veri setinin her iki ucundaki aykırı değerleri tespit edecek iki kuyruklu Grubbs testinin nasıl gerçekleştirileceğini göstermektedir.

 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])

Bu işlev, aykırı değerlerin olmadığı bir diziyi döndürür. Bu durumda maksimum değer olan 40 bir aykırı değerdi ve bu nedenle kaldırıldı.

Örnek 2: Tek taraflı Grubbs testi

Aşağıdaki kod, bir veri kümesindeki minimum değer ve maksimum değer için tek taraflı Grubbs testinin nasıl gerçekleştirileceğini gösterir:

 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])

Minimum aykırı değer testi, minimum değeri aykırı değer olarak tespit edemedi. Ancak maksimum aykırı değer testi, maksimum 40 değerinin aykırı değer olduğunu belirledi ve bu nedenle kaldırıldı.

Örnek 3: Aykırı değerin indeksini çıkarın

Aşağıdaki kod, aykırı değerin dizininin nasıl çıkarılacağını gösterir:

 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]

Bu bize tablonun 16. indeks pozisyonunda bir aykırı değer olduğunu söyler.

Örnek 4: Değeri aykırı değerden çıkarın

Aşağıdaki kod, aykırı değerden değerin nasıl çıkarılacağını gösterir:

 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]

Bu bize 40 değerinde bir aykırı değerin olduğunu söyler.

Aykırı değerler nasıl ele alınır?

Grubbs testi veri kümenizde bir aykırı değer belirlerse birkaç seçeneğiniz vardır:

1. Değerin bir yazım hatası veya veri girişi hatası olmadığını bir kez daha kontrol edin. Bazen veri setlerinde aykırı değerler olarak görünen değerler, basitçe bir kişinin veri girişi sırasında yaptığı yazım hatalarıdır. İlk olarak, başka kararlar vermeden önce değerin doğru şekilde girildiğini doğrulayın.

2. Aykırı değere yeni bir değer atayın . Aykırı değerin bir yazım hatası veya veri girişi hatası sonucu olduğu ortaya çıkarsa, buna veri kümesinin ortalaması veya medyanı gibi yeni bir değer atamaya karar verebilirsiniz .

3. Aykırı değeri kaldırın. Değer gerçekten aykırı bir değerse, analiziniz üzerinde önemli bir etkisi olacaksa onu kaldırmayı seçebilirsiniz.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir