ประเมินค่าสูงสุดของอนุกรมเวลาของข้อมูลสัญญาณมือถือ


9

ฉันกำลังวัดการมีอยู่ของการตอบสนองในการวัดสัญญาณของเซลล์ สิ่งที่ฉันทำคือการใช้อัลกอริทึมที่ปรับให้เรียบ (Hanning) กับอนุกรมเวลาของข้อมูลจากนั้นตรวจจับจุดสูงสุด สิ่งที่ฉันได้คือ: อนุกรมเวลาของการตอบสนองสัญญาณของเซลล์

ถ้าฉันต้องการให้การตรวจจับการตอบสนองมีวัตถุประสงค์มากกว่า "คุณเห็นการลดลงอย่างต่อเนื่อง" อะไรคือวิธีที่ดีที่สุด มันคือการหาระยะทางของยอดเขาจากพื้นฐานที่กำหนดโดยการถดถอยเชิงเส้นหรือไม่?

(ฉันเป็นงูใหญ่และไม่มีความเข้าใจในสถิติ)

ขอบคุณ


4
ฉันไม่คิดว่าจะมี "แนวทางที่ดีที่สุด" มีหลายวิธีในการวิเคราะห์หรือรายงานจุดสูงสุดในอนุกรมเวลา คำถามของคุณไม่มีเงื่อนงำที่จะเข้าใจสิ่งที่คุณอาจจะตามมา คุณอาจปรึกษากับบทความในสาขาของคุณสำหรับคำแนะนำหรือการเปรียบเทียบ
ttnphns

ฉันไม่รู้ว่าจะให้ข้อมูลอะไรให้คุณบ้าง โดยทั่วไปคุณมีกราฟที่มีแนวโน้มลดลง (คุณจะได้รับการตอบสนองจากเซลล์น้อยลงเมื่อเวลาผ่านไป) และบางแห่งที่อยู่ตรงกลางคุณอาจเห็นผลลัพธ์เพิ่มขึ้น อย่างนั้นแหละ. คุณคิดว่าเป็นเรื่องของฉันหรือไม่ที่จะพูดว่าการตอบสนองเพิ่มขึ้น 10% = ฉันเป็นอย่างไร
Radek

1
สมมติว่าบางครั้งคุณเห็นพฤติกรรมตามที่ปรากฏและบางครั้งก็ลดลงอย่างต่อเนื่อง (โดยประมาณ) คุณจะมีโอกาสที่ดีกว่ามากที่จะได้คำตอบที่เหมาะสมถ้าคุณแทนที่กราฟขนาดใหญ่หนึ่งกราฟด้วย 6-10 กราฟย่อยซึ่งครึ่งหนึ่งมี การเพิ่มขึ้นนี้และอีกครึ่งหนึ่งไม่
AVB

มันสามารถมีค่าสูงสุดในท้องถิ่น (ชน) มากกว่าหนึ่งอันได้หรือไม่
เอ็ม

1
ทำไมคุณไม่โพสต์ข้อมูลของคุณและฉันจะหยุดที่นี่ ตัวกรองที่สันนิษฐานว่าคุณและคนอื่น ๆ แนะนำไว้มีผลข้างเคียง หากคุณต้องการวิธีจัดการกับสิ่งนี้อย่างตั้งใจฉันอาจให้พอยน์เตอร์แก่คุณได้ แต่ทุกอย่างเริ่มต้นด้วยข้อมูลที่ไม่ใช่ข้อสันนิษฐาน!
IrishStat

คำตอบ:


2

ดังนั้นดูเหมือนว่าจากความคิดเห็นที่ 25 ตุลาคมของคุณว่าคุณมีความสนใจในการค้นหาอัลกอริธึมและอธิบายคุณลักษณะหลักสองประการ: การตอบสนองเริ่มแรกลดลงตามด้วยวงจรของการตอบสนองที่เพิ่มขึ้นและการสลายตามมา ฉันคิดว่าข้อมูลจะถูกตรวจสอบในช่วงเวลาที่ไม่ต่อเนื่อง

นี่คือสิ่งที่ฉันจะลอง:

  1. ใช้รูทีนอย่างnumpy.ma.polyfitให้พอดีพูดพหุนามระดับ 4 ผ่านข้อมูลของคุณ สิ่งนี้ควรอธิบายถึงการลดลงครั้งแรกตามด้วยการขึ้น / ลง แต่ปรับความผันผวนเล็กน้อย หวังว่าพหุนามระดับนี้จะมีความยืดหยุ่นพอที่จะใส่ชุดอื่นที่คล้ายกันได้ดี เป้าหมายหลักที่ฉันคิดว่าจะได้รับคือฟังก์ชั่นที่อธิบายถึงรูปแบบหลัก ๆ ที่คุณกำลังมองหา
  2. ใช้รูทีน Python เพื่อคำนวณอนุพันธ์ของฟังก์ชันพหุนามให้สอดคล้องกับข้อมูล ตัวอย่างรูทีนคือ scipy.misc.derivative และ numpy.diff คุณกำลังมองหาค่าเวลาที่อนุพันธ์อันดับที่ 1 เป็นศูนย์แสดงถึงจำนวนนาทีท้องถิ่นหรือฟังก์ชันสูงสุด การทดสอบอนุพันธ์ครั้งที่สองสามารถใช้เพื่อยืนยันว่าจุดใดสอดคล้องกับนาทีหรือสูงสุด สมมุติว่าคุณจะมีสามจุดดังกล่าวหากกราฟที่คุณแสดงนั้นเป็นตัวแทน โปรดทราบว่าโครงการปัญญาชนอาจมีค่ามากที่นี่
  3. ณ จุดนี้คุณจะมีค่าเวลาที่เกี่ยวข้อง

    จุดเริ่มต้นของการสลายตัวเริ่มต้น

    ข จุดเริ่มต้นของการแกว่งขึ้น

    ค. จุดเริ่มต้นของการสลายตัวครั้งที่สอง

จากนั้นคุณสามารถทำสิ่งที่คุณต้องการวิเคราะห์เพื่อประเมินการเปลี่ยนแปลง

มันอาจเป็นการดีที่สุดที่จะปล่อยให้ข้อมูลพูดกับตัวเอง: ในหลาย ๆ ซีรีส์เมื่อคุณใช้วิธีนี้การเปลี่ยนแปลงขนาดทั่วไปที่อัพสวิงคือเมื่อใดที่มักจะเกิดขึ้นในช่วงการสลายตัวและนานแค่ไหน และการกระจายตัวของการแกว่งขึ้นนี้เป็นอย่างไรในแง่ของสถานที่, ใหญ่แค่ไหนและนานเท่าไหร่? เมื่อทราบสถิติเหล่านี้คุณจะสามารถอธิบายลักษณะของการแกว่งขึ้นของความอดทนได้ดีขึ้นเมื่อเทียบกับเวลาที่เกิดขึ้นรวมถึงขนาดและระยะเวลา คีย์จากความเข้าใจของฉันจะเป็นได้อย่างง่ายดายระบุที่การเปลี่ยนแปลงเหล่านี้จะเกิดขึ้น ส่วนที่เหลือของสิ่งที่ฉันได้อธิบายไว้คือการคำนวณตรงไปตรงมา


4
ชื่อพหุนามจะไม่ทำงานกับข้อมูลเหล่านี้จนกว่าคุณจะได้รับปริญญาที่มีขนาดใหญ่จนพวกเขาขู่ว่าจะแนะนำยอดปลอม
whuber

บางทีฉันควรอธิบายคำตอบของฉันให้ชัดเจนว่าเขายังต้องใช้ฟังก์ชัน Hanning แล้วทำพอดีกับพหุนาม อาจต้องเปลี่ยนหน้าต่าง Hanning เพื่อให้ได้ฟังก์ชั่นที่ราบรื่นยิ่งขึ้น หรือคุณกำลังบอกว่าพหุนามระดับต่ำจะไม่ทำงานกับข้อมูลที่ราบรื่น
Josh Hemann

5
พหุนามระดับต่ำอย่างแน่นอนจะไม่ทำงาน Josh คุณต้องมีความราบรื่นในท้องถิ่น - คิดถึงเคอร์เนลที่ราบรื่นหรือบางชนิด - และไม่จำเป็นต้องเป็นพหุนามซึ่งมีคุณสมบัติแย่มาก (ชื่อพหุนามสามารถแนะนำยอดปลอมขนาดใหญ่ระหว่างสิ่งที่ดูเหมือนจะเป็นชุดข้อมูลที่ประพฤติดี)
whuber

@whuber ในขณะที่ฉันยอมรับว่าการปรับพหุนามทั่วโลกน่าจะเป็นความคิดที่ไม่ดีการขยายตัวของเทย์เลอร์ของฟังก์ชันรอบจุดเป็นพหุนามระดับต่ำดังนั้นค่าสัมประสิทธิ์จากสมการกำลังสองในท้องถิ่นควรสอดคล้องกับการประมาณอนุพันธ์อันดับแรก ดังนั้นการถดถอยสมการกำลังสองในท้องถิ่นจะไม่ใช่วิธีที่ดีที่สุดถ้าไม่ใช่ "ดีที่สุด" จะไปได้อย่างไร f(x)=f(x0)+(xx0)f(x0)+(xx0)22!f(x0)+...
Sameer

3
ขอบคุณที่ชี้แจงจุดนี้ให้กับ @Sameer ผมเห็นว่าท้องถิ่นต่ำองศาพอดีพหุนามอาจจะมีประสิทธิภาพและฉันไม่ได้ตั้งใจที่จะบ่งบอกตรงข้ามในความคิดเห็นของฉันก่อนหน้า (ซึ่งตั้งใจ "พหุนาม" ที่จะเข้าใจว่าเป็นโลกพอดี) ถึงแม้ว่ามันจะเป็น "ดีที่สุด" แต่ฉันต้องเห็นด้วยกับความคิดเห็นโดยคำถามเดิม: ทุกอย่างขึ้นอยู่กับ ฉันคาดหวังว่ากำลังสองท้องถิ่นเหมาะสมกับชุดข้อมูลที่หนาแน่นเพื่อประมาณเคอร์เนล Gaussian ที่ใกล้เคียงซึ่งทำให้เรามีวิธีหนึ่ง ความรู้สึกที่ "ดีที่สุด" อีกอย่างคือ BLUP of kriging ซึ่งสามารถเป็นเหมือนเส้นโค้งได้
whuber

1

นี่คือความคิดบางอย่าง แต่ฉันปิดท้ายหัวของฉันที่อาจใช้งานได้ ...

Derivatives: หากคุณใช้อาร์เรย์ของคุณและลบองค์ประกอบออกจากกันเพื่อให้ได้อาร์เรย์ที่มีคะแนนน้อยกว่าหนึ่งคะแนน แต่นั่นคืออนุพันธ์อันดับแรก หากตอนนี้คุณราบรื่นและมองหาการเปลี่ยนแปลงสัญญาณที่อาจตรวจพบการชนของคุณ

การย้ายค่าเฉลี่ย: บางทีการใช้ 2 การเลื่อน (แบบเอ็กซ์โปเนนเชียลหรือแบบวินโดว์) ค่าเฉลี่ยการเคลื่อนที่อาจเปิดเผยการชนขนาดใหญ่ในขณะที่ไม่สนใจสิ่งเล็ก โดยทั่วไปความกว้างของค่าเฉลี่ยเคลื่อนที่หน้าต่างเล็กจะต้องมากกว่าความกว้างของการกระแทกที่คุณต้องการละเว้น EMA ที่กว้างขึ้นจะต้องกว้างขึ้น แต่ไม่กว้างเกินกว่าที่จะตรวจจับการชน

คุณมองหาเวลาที่พวกมันข้ามและลบความล่าช้า (หน้าต่าง / 2) และนั่นเป็นค่าประมาณที่การชนของคุณ http://www.stockopedia.com/content/trading-the-golden-cross-does-it-really-work-69694/

แบบจำลองเชิงเส้น: ทำชุดของแบบจำลองเชิงเส้นที่มีความกว้างเพียงพอที่มีการกระแทกเล็กน้อยหลายครั้งสมมุติว่า 100 คะแนน จากนั้นวนรอบชุดข้อมูลที่สร้างการถดถอยเชิงเส้นบนตัวแปร X เพียงแค่ดูค่าสัมประสิทธิ์ของ X แล้วดูว่ามีการเปลี่ยนแปลงเครื่องหมายขนาดใหญ่เกิดขึ้นที่ไหน นั่นคือชนใหญ่

ด้านบนเป็นเพียงการคาดเดาอยู่ในส่วนของฉันและอาจมีวิธีที่ดีกว่าในการทำมัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.