كيفية إجراء اختبار f في بايثون
يتم استخدام اختبار F لاختبار ما إذا كان هناك تباينان في المجتمع متساويان. الفرضيات الصفرية والبديلة للاختبار هي كما يلي:
H 0 : σ 1 2 = σ 2 2 (الفروق السكانية متساوية)
H 1 : σ 1 2 ≠ σ 2 2 (الفروق السكانية غير متساوية)
يشرح هذا البرنامج التعليمي كيفية إجراء اختبار F في بايثون.
مثال: اختبار F في بايثون
لنفترض أن لدينا المثالين التاليين:
x = [18, 19, 22, 25, 27, 28, 41, 45, 51, 55] y = [14, 15, 15, 17, 18, 22, 25, 25, 27, 34]
يمكننا استخدام الدالة التالية لإجراء اختبار F لتحديد ما إذا كانت المجموعتان اللتان تأتي منهما هذه العينات لهما تباينات متساوية:
import numpy as np #define F-test function def f_test(x, y): x = np.array(x) y = np.array(y) f = np.var(x, ddof=1)/np.var(y, ddof=1) #calculate F test statistic dfn = x.size-1 #define degrees of freedom numerator dfd = y.size-1 #define degrees of freedom denominator p = 1-scipy.stats.f.cdf(f, dfn, dfd) #find p-value of F test statistic return f,p #perform F-test f_test(x, y) (4.38712, 0.019127)
إحصائيات اختبار F هي 4.38712 والقيمة p المقابلة هي 0.019127 . وبما أن هذه القيمة p أقل من 0.05، فإننا نرفض فرضية العدم. وهذا يعني أن لدينا ما يكفي من الأدلة لنقول أن التباينين السكانيين غير متساويين.
تعليقات
- يتم حساب إحصائيات اختبار F كـ s 1 2 / s 2 2 . افتراضيًا، يقوم numpy.var بحساب تباين المحتوى. لحساب تباين العينة، نحتاج إلى تحديد ddof=1 .
- القيمة p تقابل 1 – cdf للتوزيع F مع درجات الحرية في البسط = n 1 -1 ودرجات الحرية في المقام = n 2 -1.
- تعمل هذه الدالة فقط عندما يكون تباين العينة الأولى أكبر من تباين العينة الثانية. لذا قم بتعيين كلا المثالين للعمل مع الوظيفة.
متى يتم استخدام اختبار F
يُستخدم اختبار F عادةً للإجابة على أحد الأسئلة التالية:
1. هل تأتي عينتان من مجتمعات ذات تباينات متساوية؟
2. هل يقلل العلاج أو العملية الجديدة من تباين المعالجة أو العملية الحالية؟
ذات صلة: كيفية إجراء اختبار F في R