अपडेट (अगस्त 2014): मुझे इसके निचले हिस्से तक कभी नहीं मिला, और क्रांति के मंच पर कभी भी कोई प्रतिक्रिया नहीं मिली। हालांकि, यह मुद्दा क्रांति आर 7.2 (आर 3.0.3 के साथ, फिर से अकादमिक संस्करण) में तय किया गया है। मैंने कुछ सौ गुना नीचे एलएमई() परीक्षण चलाया, सभी उम्मीदवार बराबर परिणाम, जैसा कि अपेक्षित था। [अद्यतन]एलएमई() क्रांति आर के तहत प्रत्येक रन के विभिन्न परिणाम (एमकेएल को दोषी ठहराते हैं?)
मैंने अभी क्रांति आर 7.0 (आर 3.0.2) के अकादमिक संस्करण को स्थापित किया है। नया पीसी और नीचे दिए गए कोड के लिए अजीब परिणाम मिल रहा है। हर बार कोड चलाया जाता है, यह अलग-अलग परिणाम देता है। सीआरएएन-आर के तहत परिणाम हमेशा एक जैसा होता है (जैसा कि मुझे लगता है कि यह होना चाहिए)। कोड स्निपेट परीक्षण 527 से test.data.table()
संस्करण 1.8.10 से है, जिसने मुझे त्रुटि की ओर इशारा किया।
library(nlme)
all.equal(lme(distance ~ age, data=Orthodont), lme(distance ~ age, data=Orthodont))
मुझे कुछ नीचे मिलता है, लेकिन हर बार अलग मिलता है।
> all.equal(lme(distance ~ age, data=Orthodont), lme(distance ~ age, data=Orthodont))
[1] "Component 4: Component 2: Component 1: Mean relative difference: 1.774149e-08"
[2] "Component 7: Mean relative difference: 0.0003335902"
'फन' बात यह है कि nlme
पैकेज (जिनमें से lme()
हिस्सा है) में ही समान होता है, मैं की स्थापना रद्द करें और सुनिश्चित करने के लिए पुनर्स्थापित (पैकेज की nlme_3.1-113.zip फ़ाइल सा है थोड़ी-थोड़ी समान)।
मुझे अभी तक हुड के नीचे जाने के लिए पर्याप्त जानकारी नहीं है। किसी भी संकेतक या विचारों की सराहना की जाएगी। मैंने क्रांति के मंच पर भी पोस्ट किया है लेकिन यह यहां से बहुत कम आबादी वाला लगता है ...
यह 64-बिट विंडोज 8.1, 64-बिट आर के साथ-साथ इंटेल i7-4770 CPU के मामले में भी महत्वपूर्ण है। क्रांति आर (आर 3.0.2) और पिछले (2.15.3) के वर्तमान संस्करण दोनों अप्रत्याशित (मेरे लिए) व्यवहार का उत्पादन करते हैं। सीआरएएन-आर 3.0.1 और 3.0.2 समान परिणाम उत्पन्न करते हैं।
sessionInfo() क्रांति आर के लिए उत्पादन:
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] nlme_3.1-113 Revobase_7.0.0 RevoMods_7.0.0 RevoScaleR_7.0.0
[5] lattice_0.20-24 rpart_4.1-3
loaded via a namespace (and not attached):
[1] codetools_0.2-8 foreach_1.4.1 grid_3.0.2 iterators_1.0.6
[5] pkgXMLBuilder_1.0 revoIpe_1.0 tools_3.0.2 XML_3.98-1.1
अद्यतन 1: मैं इस मुद्दे (उत्तर & टिप्पणी के नीचे से संकेत से कुछ निम्न) इस तथ्य का पता लगाया है कि क्रांति आर का उपयोग करता है इंटेल एमकेएल बीएलएस पुस्तकालय। अगर मैं सीआरएएन द्वारा आपूर्ति की गई बीएलएएस लाइब्रेरी पर स्विच करता हूं, तो समस्याएं दूर हो जाती हैं। (नोट: मुझे खुद को संकलित करने के लिए पर्याप्त जानकारी नहीं है, इसलिए मैंने ओपनबीएलएस और अन्य विकल्पों का परीक्षण नहीं किया है। क्रांति आर में यह केवल दो डीएलएस का नाम बदलने का मामला है।)।
ऐसा लगता है कि अन्य लोगों को inconsistent results with MKL as well मिल रहा है। मशीन टोलरेंस के भीतर अंतर हैं, यानी all.equal()
सत्य है जबकि identical()
गलत है। मेरे मामले में अलग-अलग परिणाम अर्थपूर्ण रूप से बड़े लगते हैं।
मैंने इस मुद्दे को क्रांति आर के मंच पर पोस्ट किया है और अगर मुझे कोई प्रतिक्रिया मिलती है तो यहां अपडेट होगा। मुझे लगता है कि इस बिंदु पर मेरा प्रश्न "एमकेएल बीएलएएस और जब क्रैन-आर ब्लैस का उपयोग करना है" के रूप में संशोधित किया जाना चाहिए। यह गति (*) का मुद्दा नहीं है लेकिन लगातार और सही परिणाम है। ज्ञात-से-सही आउटपुट के खिलाफ आर के आउटपुट की जांच करने के लिए मैं मानक परीक्षण सूट (यहां शब्दावली के बारे में सुनिश्चित नहीं हूं) की तलाश में कुछ और समय व्यतीत करूंगा। यह उन चीज़ों में से एक है जिन्हें मैं data.table
से प्यार करता हूं, इसका अंत परीक्षण उपयोगकर्ता के लिए दिखाई देता है। मुझे पता है कि मुझे सभी परीक्षणों (या यहां तक कि सबसे अधिक) पैकेजों को शामिल करने वाले एक परीक्षण की उम्मीद नहीं करनी चाहिए, लेकिन कम से कम आधार कार्यक्षमता को कवर करने वाला कुछ।
(*) गति कंक्रीट वर्कफ़्लो पर निर्भर है। इस विशेष मामले में क्रैन बीएलएस एमकेएल (दोनों एकल सिंगल-थ्रेडेड) से तेज है। अन्य काम में, क्रांति आर काफी तेजी से रहा है, इसलिए मैं इसे देख रहा हूं।
यह कुछ साफ शोध है! –
दिलचस्प, एसवीडी की गणना करते समय मुझे एक ही समस्या मिली, यहां एक नज़र डालें: http://stackoverflow.com/questions/40052770/strange-behaviour-when-computing-svd-on-a-covariance-matrix- अलग- परिणाम-बी –