اختبارات الإحصاء (كولموغوروف وتي تيست) مع بيثون و ربي 2
-
09-12-2019 - |
سؤال
لقد قمت بتشغيل بعض الخوارزميات وأردت إجراء بعض التحليلات الإحصائية مع النتائج.لدي اثنين من ناقلات مع متوسطات معدل الخطأ.
مع ص, باستخدام الخط أدناه سأحصل على كل شيء.
t.test(methodresults1,methodresults2,var.equal=FALSE,paired=FALSE,alternative="less")
منذ أنا باستخدام بيثون ، أردت استخدام مشروع ربي 2.
حاولت ذلك:
import rpy2.robjects as R
# methodresults1 and methodresults2 are numpy arrays.
# kolmogorov test
normality_res = R.r['ks.test'](R.FloatVector(methodresults1.tolist()),'pnorm',mean=R.FloatVector(methodresults1.mean().tolist()),sd=R.FloatVector(methodresults1.std().tolist())))
# t-test
res = R.r['t.test'](R.FloatVector(methodresults1.tolist()),R.FloatVector(methodresults2.tolist()),alternative='two.sided',var.equal=FALSE,paired=FALSE)
res.rx('p.value')[0][0]
res.rx('statistic')[0][0]
res.rx('parameter')[0][0]
لم أتمكن من إجراء كلا الاختبارين.
لقد وجدت أيضا أن المشكلة مع تي الاختبار هو مع فار.بيان على قدم المساواة وأنه يعطيني * سينتاكسيرور:لا يمكن أن تكون الكلمة الرئيسية تعبيرا (،السطر 1).
سؤال إضافي:هل هناك طريقة أفضل للعمل مع نومبي و ربي 2?
المحلول
كما يقول: " SyntaxError: لا يمكن أن تكون الكلمة الأساسية تعبيرا (، سطر 1). "
في Python، لا يمكن أن تحتوي الرموز على الحرف ".". giveacodicetagpre.
تحقق من وثائق Ry2 حول الوظائف للمزيدالتفاصيل.
نصائح أخرى
لإجراء اختبار كس مع بيثون ، في حالة اختبار عينة اثنين ، يمكنك
>>> from scipy.stats import ks_2samp
>>> import numpy as np
>>>
أين x
, y
هما nupmy.array
:
>>> ks_2samp(x, y)
(0.022999999999999909, 0.95189016804849658)
القيمة الأولى هي إحصائيات الاختبار ، والقيمة الثانية هي ف-القيمة.إذا كانت القيمة ص أقل من 95 (لمستوى أهمية 5٪) ، فهذا يعني أنه لا يمكنك رفض الافتراض الفارغ بأن توزيعات العينة متطابقة.
لعينة واحدة اختبار كس ، انظر على سبيل المثال هنا: http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kstest.html#scipy.stats.kstest
يتيح لك هذا الاختبار اختبار مدى ملاءمة توزيعك التجريبي لتوزيع احتمالي معين.