كيفية تشغيل اختبار grubbs في بايثون
يتم استخدام اختبار Grubbs لتحديد وجود القيم المتطرفة في مجموعة البيانات. لاستخدام هذا الاختبار، يجب أن تكون مجموعة البيانات موزعة بشكل طبيعي تقريبًا وتحتوي على 7 ملاحظات على الأقل.
يشرح هذا البرنامج التعليمي كيفية إجراء اختبار Grubbs في بايثون.
اختبار جربس في بايثون
لإجراء اختبار Grubbs في بايثون، يمكننا استخدام الدالة smirnov_grubbs() من الحزمة outlier_utils ، والتي تستخدم الصيغة التالية:
smirnov_grubbs.test (البيانات، ألفا = 0.05)
ذهب:
- البيانات: ناقل رقمي لقيم البيانات
- ألفا: مستوى الأهمية الذي سيتم استخدامه للاختبار. القيمة الافتراضية هي 0.05
لاستخدام هذه الميزة، يجب عليك أولاً تثبيت الحزمة outlier_utils :
pip install outlier_utils
بمجرد تثبيت هذه الحزمة، يمكنك إجراء اختبار Grubbs. توضح الأمثلة التالية كيفية القيام بذلك.
مثال 1: اختبار جروبس ثنائي الذيل
يوضح التعليمة البرمجية التالية كيفية إجراء اختبار Grubbs ثنائي الذيل، والذي سيكشف عن القيم المتطرفة على طرفي مجموعة البيانات.
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])
تقوم هذه الدالة ببساطة بإرجاع مصفوفة بدون القيم المتطرفة. في هذه الحالة، كانت القيمة القصوى البالغة 40 قيمة متطرفة وبالتالي تمت إزالتها.
مثال 2: اختبار جروبس من جانب واحد
يوضح التعليمة البرمجية التالية كيفية إجراء اختبار Grubbs من جانب واحد للحد الأدنى للقيمة والحد الأقصى للقيمة في مجموعة البيانات:
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])
لم يكتشف اختبار الحد الأدنى للقيمة الخارجية الحد الأدنى للقيمة باعتبارها قيمة متطرفة. ومع ذلك، حدد اختبار الحد الأقصى للقيمة المتطرفة أن القيمة القصوى البالغة 40 كانت قيمة متطرفة وبالتالي تمت إزالتها.
مثال 3: استخراج فهرس القيمة المتطرفة
يوضح التعليمة البرمجية التالية كيفية استخراج فهرس القيمة المتطرفة:
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]
يخبرنا هذا أن هناك قيمة متطرفة في موضع الفهرس 16 بالجدول.
مثال 4: استخراج القيمة من القيمة المتطرفة
يوضح التعليمة البرمجية التالية كيفية استخراج القيمة من القيمة المتطرفة:
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]
وهذا يخبرنا أن هناك قيمة متطرفة بقيمة 40.
كيفية التعامل مع القيم المتطرفة
إذا حدد اختبار Grubbs قيمة متطرفة في مجموعة البيانات الخاصة بك، فلديك عدة خيارات:
1. تحقق مرة أخرى من أن القيمة ليست خطأ مطبعي أو خطأ في إدخال البيانات. في بعض الأحيان تكون القيم التي تظهر كقيم متطرفة في مجموعات البيانات مجرد أخطاء مطبعية يقوم بها فرد أثناء إدخال البيانات. أولاً، تأكد من إدخال القيمة بشكل صحيح قبل اتخاذ أي قرارات أخرى.
2. قم بتعيين قيمة جديدة للقيمة المتطرفة . إذا تبين أن القيمة المتطرفة هي نتيجة خطأ مطبعي أو خطأ في إدخال البيانات، فيمكنك أن تقرر تعيين قيمة جديدة لها، مثل المتوسط أو الوسيط لمجموعة البيانات.
3. قم بإزالة القيمة المتطرفة. إذا كانت القيمة قيمة متطرفة حقًا، فيمكنك اختيار إزالتها إذا كان لها تأثير كبير على تحليلك.