सेल सिग्नल डेटा की समय श्रृंखला में चोटियों का आकलन करना


9

मैं सेल सिग्नल माप में प्रतिक्रिया के अस्तित्व के लिए माप रहा हूं। मैंने जो कुछ किया था, वह डेटा की टाइम सीरीज़ के लिए स्मूथिंग एल्गोरिथम (हैनिंग) लागू किया था, फिर चोटियों का पता लगाया। मुझे यह मिलता है: सेल सिग्नल प्रतिक्रिया की समय श्रृंखला

अगर मैं प्रतिक्रिया का पता लगाने के लिए "हां में आपको एक निरंतर वृद्धि में वृद्धि देखना चाहता हूं" की तुलना में थोड़ा अधिक उद्देश्य बनाना चाहता था, तो सबसे अच्छा तरीका क्या होगा? क्या रेखीय प्रतिगमन द्वारा निर्धारित आधार रेखा से चोटियों की दूरी प्राप्त करना है?

(मैं एक अजगर कोडर हूं और आंकड़ों की लगभग कोई समझ नहीं है)

धन्यवाद


4
मुझे नहीं लगता कि वहां "सर्वश्रेष्ठ दृष्टिकोण" मौजूद है। समय श्रृंखला में चोटियों का विश्लेषण या रिपोर्ट करने के कई तरीके हैं। आपका प्रश्न यह समझने का कोई संकेत नहीं देता है कि आपके बाद क्या हो सकता है। हो सकता है कि आप संकेत या बेंचमार्क के लिए अपने क्षेत्र के लेखों से परामर्श करें।
ttnphns

मुझे नहीं पता कि आपको सुराग देने के लिए क्या जानकारी प्रदान करनी है। मूल रूप से आपके पास एक ग्राफ होता है जिसमें नीचे की ओर प्रवृत्ति होती है (आपको समय के साथ सेल से कम प्रतिक्रिया मिलती है) और कहीं-कहीं मध्य में आपको आउटपुट में वृद्धि देखने को मिल सकती है। बस इतना ही। क्या आपको लगता है कि यह मूल रूप से मेरे ऊपर निर्भर है कि मैं यह कहूं कि प्रतिक्रिया में 10% की वृद्धि हुई है = मैं इसके बाद क्या हूं?
राडेक

1
यह मानते हुए कि आप कभी-कभी व्यवहार को दिखाए गए के रूप में देखते हैं, और कभी-कभी बस निरंतर कमी (लगभग), आपके पास एक उचित उत्तर प्राप्त करने की बेहतर संभावनाएं होंगी यदि आप एक बड़े ग्राफ को 6-10 छोटे लोगों द्वारा प्रतिस्थापित करते हैं, जहां एक आधा है यह वृद्धि और अन्य आधा नहीं है।
AVB

क्या यह एक से अधिक स्थानीय अधिकतम (टक्कर) हो सकता है?
एम्रे

1
आप अपना डेटा पोस्ट क्यों नहीं करते हैं और मैं इस पर दरार डालूंगा। आपके और अन्य लोगों द्वारा सुझाए गए प्रकल्पित छनन के दुष्प्रभाव हैं। यदि आप इसे संभालने का एक वस्तुनिष्ठ तरीका चाहते हैं तो मैं आपको कुछ संकेत दे सकता हूं। लेकिन यह सब अनुमान के साथ नहीं डेटा के साथ शुरू होता है!
आयरिशस्टैट

जवाबों:


2

तो यह आपकी 25 अक्टूबर की टिप्पणी से लगता है कि आप एल्गोरिदम को खोजने और दो मुख्य विशेषताओं को चिह्नित करने में रुचि रखते हैं: प्रारंभिक प्रतिक्रिया क्षय के बाद बढ़ी हुई प्रतिक्रिया का चक्र और बाद में क्षय। मुझे लगता है कि डेटा असतत समय अंतराल पर मनाया जाता है।

यहाँ मैं कोशिश करूँगा:

  1. अपने डेटा के माध्यम से एक 4 डिग्री बहुपद को फिट, कहने के लिए numpy.ma.polyfit जैसी दिनचर्या का उपयोग करें । यह वृद्धि / गिरावट के बाद प्रारंभिक गिरावट के लिए जिम्मेदार होना चाहिए, लेकिन कई लेकिन मामूली उतार-चढ़ाव को सुचारू करता है। उम्मीद है कि बहुपद की यह डिग्री अन्य, समान श्रृंखला में अच्छी तरह से फिट होने के लिए पर्याप्त लचीली होगी। मुझे लगता है कि मुख्य लक्ष्य एक फ़ंक्शन प्राप्त करना होगा जो आपके द्वारा खोज रहे प्रमुख पैटर्न के लिए है।
  2. डेटा में फिट बहुपद समारोह के व्युत्पन्न की गणना के लिए पायथन रूटीन का उपयोग करें। उदाहरण दिनचर्या scipy.misc.derivative और numpy.diff हैं। आप उन समय मूल्यों की तलाश कर रहे हैं जहां 1 व्युत्पन्न शून्य है, जो संभावित स्थानीय मिनट या अधिकतम फ़ंक्शन का संकेत देता है। एक दूसरे व्युत्पन्न परीक्षण का उपयोग यह पुष्टि करने के लिए किया जा सकता है कि कौन सा बिंदु एक मिनट या अधिकतम से मेल खाता है। संभवत: आपके पास तीन ऐसे बिंदु होंगे यदि आपने जो ग्राफ दिखाया है वह प्रतिनिधि है। ध्यान दें कि ऋषि परियोजना यहां बहुत मूल्यवान हो सकती है।
  3. इस समय आपके पास संबंधित समय मान होगा

    ए। प्रारंभिक क्षय की शुरुआत

    ख। ऊपर उठने की शुरुआत

    सी। दूसरे क्षय की शुरुआत

आप तब कर सकते हैं जो आप परिवर्तनों का आकलन करने के लिए विश्लेषणात्मक रूप से चाहते हैं।

डेटा को खुद के लिए बोलने देना सबसे अच्छा हो सकता है: कई श्रृंखलाओं के दौरान, जब आप इस विधि को लागू करते हैं, तो अपस्वरिंग में विशिष्ट आकार परिवर्तन क्या होता है, यह आमतौर पर क्षय अवधि में कब होता है, और यह कितने समय तक चलता है? और इस तेजी का वितरण क्या, कहाँ, कितना बड़ा और कब तक के संदर्भ में दिखता है? इन आँकड़ों को जानने के बाद, आप सहिष्णुता के भीतर रहने के रूप में एक विशेष रूप से बेहतर चरित्र को चित्रित कर सकते हैं, जहां यह समय के साथ-साथ आकार और अवधि के साथ होता है। मेरी समझ से महत्वपूर्ण यह होगा कि ये परिवर्तन कहां हो रहे हैं। बाकी जो मैंने वर्णित किया है वह गणना के लिए सीधा है।


4
जब तक आप डिग्री को इतना बड़ा नहीं कर लेते, तब तक इन आंकड़ों के साथ बहुपद काम नहीं करेंगे, जिससे वे गंभीर चोटियों को पेश करने की धमकी देते हैं।
whuber

शायद मुझे अपने जवाब को स्पष्ट करना चाहिए कि उसे अभी भी हनिंग फ़ंक्शन लागू करने की आवश्यकता है और फिर बहुपद फिट करें। अधिक सुचारू कार्य करने के लिए हानिंग विंडो को बदलना पड़ सकता है। या आप कह रहे हैं कि स्मूद डेटा के लिए कम डिग्री बहुपद काम नहीं करेगा?
जोश हेमन

5
एक कम डिग्री बहुपद निश्चित रूप से काम नहीं करेगा, जोश। आपको एक स्थानीय चिकनी की जरूरत है - एक कर्नेल चिकनी या कुछ प्रकार के विभाजन के बारे में सोचें - और यह एक बहुपद नहीं होना चाहिए, जिसमें भयानक गुण हैं। (बहुपदों क्या अन्यथा अच्छी तरह से व्यवहार डेटा श्रृंखला प्रतीत के बीच नकली, विशाल चोटियों लागू कर सकते हैं।)
whuber

जब भी मैं मानता हूं कि विश्व स्तर पर एक बहुपत्नी फिटिंग शायद एक बुरा विचार होगा, टेलर एक बिंदु के आसपास एक समारोह का विस्तार f(x)=f(x0)+(xx0)f(x0)+(xx0)22!f(x0)+...एक कम डिग्री बहुपद है और इस प्रकार एक स्थानीय द्विघात फिट से गुणांक पहले व्युत्पन्न का अनुमान लगाने के अनुरूप होना चाहिए। इसलिए, स्थानीय द्विघात प्रतिगमन सबसे सीधा नहीं होगा, अगर "सबसे अच्छा" नहीं है, तो जाने का रास्ता?
समीर

3
उस बिंदु को स्पष्ट करने के लिए धन्यवाद, @Sameer। मैं सहमत हूं कि एक स्थानीय कम-डिग्री बहुपद फिट प्रभावी हो सकता है और मेरा मतलब अपनी पिछली टिप्पणी (जो "बहुपद" को वैश्विक फिट के रूप में समझा जा सकता है ) के विपरीत का मतलब नहीं था । जैसा कि यह "सर्वश्रेष्ठ" है, हालांकि, मुझे मूल प्रश्न के लिए ttnphns द्वारा एक टिप्पणी से सहमत होना होगा: यह सब निर्भर करता है। मुझे उम्मीद है कि डेटा की घनी श्रृंखला के साथ स्थानीय क्वाड्रेटिक फिट निकटवर्ती गाऊसी कर्नेल स्मूथ के साथ होगा, जो हमें कुछ दृष्टिकोण देता है। "सर्वश्रेष्ठ" का एक और अर्थ है, सिंचाई का BLUP, जो तख़्ता-जैसा हो सकता है।
whuber

1

यहाँ कुछ विचार दिए गए हैं, लेकिन मैं अपने सिर के ऊपर से निकलता हूं जो कि बस काम कर सकता है ...

डेरिवेटिव: यदि आप अपना एरे लेते हैं और एक कम अंक की एक सरणी प्राप्त करने के लिए तत्वों को एक दूसरे से घटाते हैं, लेकिन यह पहला व्युत्पन्न है। यदि आप अब इसे सुचारू करते हैं और संकेत परिवर्तन की तलाश करते हैं, तो यह आपके टक्कर का पता लगा सकता है।

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

आप उस समय की तलाश करते हैं जब वे अंतराल (खिड़की / 2) को पार करते हैं और घटाते हैं और यह अनुमान है कि आपका टक्कर कहाँ है। http://www.stockopedia.com/content/trading-the-golden-cross-does-it-really-work-69694/

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

ऊपर सिर्फ अनुमान है मेरे हिस्से पर और इसे करने के बेहतर तरीके हैं।

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