से एक ही इनपुट के लिए अलग मानक विचलन मैं वर्तमान में पाइथन में जावा में लिखे गए कुछ एल्गोरिदम को पुन: कार्यान्वित करने पर काम कर रहा हूं। एक कदम मूल्यों की सूची के मानक विचलन की गणना करना है। इसके लिए अपाचे मैथ 1.1 लाइब्रेरी से मूल कार्यान्वयन DescriptiveStatistics.getStandardDeviation
का उपयोग करता है। मैं numpy 1.5 के मानक विचलन का उपयोग करें। समस्या यह है कि वे एक ही इनपुट के लिए (बहुत) अलग-अलग परिणाम देते हैं।वोल्फ्राम और numpy
[0.113967640255, 0.223095775796, 0.283134228235, 0.416793887842]
मैं निम्नलिखित परिणाम प्राप्त:
numpy : 0.10932134388775223
Apache Math 1.1 : 0.12620366805397404
Wolfram Alpha : 0.12620366805397404
मैं एक तिहाई राय प्राप्त करने के Wolfram Alpha के साथ की जाँच नमूना मैं यह है। मुझे नहीं लगता कि इस तरह के अंतर को अकेले परिशुद्धता द्वारा समझाया जा सकता है। क्या किसी को कोई विचार है कि यह क्यों हो रहा है, और मैं इसके बारे में क्या कर सकता हूं?
संपादित: इसके अलावा
>>> from math import sqrt
>>> v = [0.113967640255, 0.223095775796, 0.283134228235, 0.416793887842]
>>> mu = sum(v)/4
>>> sqrt(sum([(x - mu)**2 for x in v])/4)
0.10932134388775223
, के बारे में यह सही उपयोग नहीं कर: अजगर में मैन्युअल रूप से इसे गिना जा रहा है एक ही परिणाम देता है
>>> from numpy import std
>>> std([0.113967640255, 0.223095775796, 0.283134228235, 0.416793887842])
0.10932134388775223
ठीक है, मैं आपको बता सकता हूं कि अपाचे और वोल्फ्राम सही हैं? और यह असंभव है कि नम्पी गलत है। तो आप शायद इसे सही इस्तेमाल नहीं कर रहे हैं। पोस्ट कोड? –