सुचारू डेटा से आर में विभक्ति अंक ढूँढना


14

मेरे पास कुछ डेटा है जिसका उपयोग करके मैं सुचारू हूं loess। मैं स्मूथ लाइन के विभक्ति बिंदुओं को खोजना चाहता हूं। क्या यह संभव है? मुझे यकीन है कि किसी ने इसे हल करने के लिए एक फैंसी विधि बनाई है ... मेरा मतलब है ... आखिरकार, यह आर है!

मेरे द्वारा उपयोग किए जाने वाले चौरसाई फ़ंक्शन को बदलने के साथ मैं ठीक हूं। मैंने सिर्फ loessइसलिए इस्तेमाल किया क्योंकि मैं अतीत में इस्तेमाल किया था। लेकिन किसी भी चौरसाई समारोह ठीक है। मुझे पता है कि विभक्ति अंक मेरे द्वारा उपयोग किए जाने वाले चौरसाई कार्य पर निर्भर होंगे। मैं उसके साथ ठीक हूँ। मैं बस किसी भी चौरसाई फ़ंक्शन को शुरू करना चाहता हूं, जो विभक्ति बिंदुओं को थूकने में मदद कर सकता है।

यहाँ मैं उपयोग कोड है:

x = seq(1,15)
y = c(4,5,6,5,5,6,7,8,7,7,6,6,7,8,9)
plot(x,y,type="l",ylim=c(3,10))
lo <- loess(y~x)
xl <- seq(min(x),max(x), (max(x) - min(x))/1000)
out = predict(lo,xl)
lines(xl, out, col='red', lwd=2)

यहाँ छवि विवरण दर्ज करें


3
हो सकता है कि आप परिवर्तन-बिंदु विश्लेषण पर एक नज़र रखना चाहते हैं ।
निको

मुझे कोड की यह पंक्ति बहुत उपयोगी लगी है: infl <- c (FALSE, diff (अंतर) (0)> 0)! = 0) लेकिन यह कोड सभी मोड़ को ढूंढता है चाहे वह कितना भी ऊपर या नीचे हो। मैं कैसे बता सकता हूं कि कौन से बिंदु झुकते हैं और कौन से समय में झुकते हैं? उदाहरण के लिए, भूखंड और रंग ऊपर की ओर मुड़ते हुए हरे और नीचे की ओर लाल होते हैं।
user3511894

जवाबों:


14

चिकने वक्र में विभक्तियों को खोजने के लिए R का उपयोग करने के दृष्टिकोण से, आपको बस उन स्थानों को चिकने y मानों में खोजने की आवश्यकता है जहां y स्विच में परिवर्तन होता है।

infl <- c(FALSE, diff(diff(out)>0)!=0)

फिर आप ग्राफ़ में उन बिंदुओं को जोड़ सकते हैं जहां ये विभक्तियाँ होती हैं।

points(xl[infl ], out[infl ], col="blue")

सांख्यिकीय रूप से सार्थक विभक्ति बिंदुओं को खोजने के दृष्टिकोण से, मैं @nico से सहमत हूं कि आपको परिवर्तन-बिंदु विश्लेषण पर ध्यान देना चाहिए, कभी-कभी खंडित प्रतिगमन के रूप में भी जाना जाता है।


यह काम कुछ हद तक अच्छा लगता है। मैं समझता हूं कि यह आदर्श नहीं है और यह जो परिणाम देता है वह निश्चित रूप से आदर्श नहीं है। हालांकि योगदान के लिए धन्यवाद। यह एक सीधी रेखा जैसी चीजों को छोड़कर ज्यादातर मामलों को कवर करता है।
user164846

3
मुझे यकीन नहीं है कि मैं समझता हूं, @ user164846। एक सीधी रेखा में कोई विभक्ति बिंदु नहीं है।
जीन वी। एडम्स

इसके अलावा, आप धूम्रपान करने वालों पर एक नज़र डालना चाहते हैं जो तुरंत डेरिवेटिव प्रदान करते हैं, जैसे सविट्ज़की-गोल-फिल्टर। हालाँकि सुगमता का विकल्प हमेशा आपके डेटा और एप्लिकेशन द्वारा तय किया जाना चाहिए, अन्य तरीके से नहीं!
SX

4

यहां कई स्तरों पर समस्याएं हैं।

सबसे पहले, loess बस एक चिकनी हो जाता है और वहाँ से चुनने के लिए कई, कई हैं। आशावादियों का तर्क है कि किसी भी उचित चिकनी के बारे में बस एक वास्तविक पैटर्न मिलेगा और बस सभी उचित चिकनी वास्तविक पैटर्न पर सहमत होंगे। निराशावादियों का तर्क है कि यह समस्या है और "उचित धूम्रपान" और "वास्तविक पैटर्न" यहां एक दूसरे के संदर्भ में परिभाषित किए गए हैं। इस बिंदु पर, क्यों घृणा और आप क्यों सोचते हैं कि यहाँ एक अच्छा विकल्प है? चुनाव सिर्फ एक स्मूथी या स्मूथी के एक इम्प्लीमेंटेशन का नहीं है (यह सब जो कि लोस या लोअर के नाम से जाना जाता है, पूरे सॉफ्टवेयर में समान है), लेकिन स्मूथिंग की एक भी डिग्री (भले ही उसे चुना गया हो) आपके लिए दिनचर्या)। आप इस बिंदु का उल्लेख करते हैं लेकिन वह इसे संबोधित नहीं कर रहा है।

अधिक विशेष रूप से, जैसा कि आपके खिलौना उदाहरण से पता चलता है, मोड़ जैसी बुनियादी विशेषताओं को आसानी से लोस द्वारा संरक्षित नहीं किया जा सकता है (न कि एकल बाहर लूप, या तो)। आपका पहला स्थानीय न्यूनतम गायब हो जाता है और आपका दूसरा स्थानीय न्यूनतम आपके द्वारा दिखाए जाने वाले विशेष सुगमता से विस्थापित हो जाता है। पहले के बजाय दूसरे व्युत्पन्न के शून्य से परिभाषित होने वाले संक्रमणों को और भी अधिक चंचल होने की उम्मीद की जा सकती है।


मैंने loess को चुना क्योंकि मैंने इसे इंटरनेट से पकड़ा था। मैं सामान्य रूप से चौरसाई करने में बहुत अनुभवी हूं, इसलिए मैंने बस ऑनलाइन कोड पकड़ा। क्या आपके पास बेहतर सुझाव है?
user164846

क्षमा करें, लेकिन मुझे आपकी टिप्पणी समझ में नहीं आई। यदि आप चौरसाई करने में बहुत अनुभवी हैं, तो आपके पास तर्क होना चाहिए, जिसके लिए शोर को दबाते समय धूम्रपान करने वाले सबसे अच्छे रूप में सुरक्षा करते हैं। यह मेरे लिए एक विरोधाभासी उद्देश्य लगता है, लेकिन मुझे तकनीकी तर्क सुनने में खुशी होगी कि मैं गलत क्यों हूं।
निक कॉक्स

क्षमा करें, मेरा
मतलब

1
समझा। जीवन छोटा है, और आप हर संभव तरीका आजमा नहीं सकते। हम आपका वास्तविक डेटा नहीं देख सकते हैं, लेकिन आपका खिलौना उदाहरण रेखांकित करता है कि स्मूथिंग पहचानने योग्य संरचना को हटा सकती है।
निक कॉक्स

2

इस मुद्दे पर बहुत अच्छे दृष्टिकोण हैं। कुछ में शामिल हैं (1) - बदलाव-पैकेज (2) - खंडित - पैकेज। लेकिन आपको चेंजपॉइंट्स की संख्या चुनने की आवश्यकता है। (3) -इस-पैकेज में लागू किए गए अनुसार

आपके पूर्वाग्रह / विचरण व्यापार के आधार पर, सभी आपको थोड़ी अलग जानकारी देंगे। -अच्छी तरह से देखने लायक है। विभिन्न प्रकार के बदलावों के मॉडल की तुलना एआईसी / बीआईसी के साथ की जा सकती है


1

आप शायद fda लाइब्रेरी का उपयोग कर सकते हैं, और एक बार जब आप एक उपयुक्त निरंतर फ़ंक्शन का अनुमान लगा लेते हैं, तो आप आसानी से उन स्थानों को पा सकते हैं जहां दूसरी व्युत्पन्न शून्य है।

एफडीए क्रैन

एफडीए परिचय


पहले व्युत्पन्न के शून्य शून्य से मिनीमा और मैक्सिमा को परिभाषित करते हैं। मुझे लगता है कि आप दूसरे का मतलब है। "आसानी से" क्या है, किसी भी तरह से? संख्यात्मक रूप से अंतर करने का एक से अधिक तरीका है।
निक कॉक्स

0

मुझे चेंजपॉइंट पैकेज (> ११ नवंबर २०१४ के अनुसार ६५०) के बारे में ब्लॉग पर कई दौरे मिले हैं, इसलिए यहां CausalImpact का उपयोग करके एक अपडेट किया गया पोस्ट है। http://r-datameister.blogspot.com/2014/11/causality-in-time-series-look-at-2-r.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.