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.