คำถามติดแท็ก real-time

14
อัลกอริทึมง่าย ๆ สำหรับการตรวจหาค่าผิดปกติทางออนไลน์ของอนุกรมเวลาทั่วไป
ฉันทำงานกับอนุกรมเวลาจำนวนมาก อนุกรมเวลาเหล่านี้โดยทั่วไปแล้วการวัดเครือข่ายมาทุก ๆ 10 นาทีและบางส่วนนั้นเป็นระยะ (เช่นแบนด์วิดท์) ในขณะที่บางส่วนไม่ได้เป็น (เช่นปริมาณการรับส่งข้อมูลเส้นทาง) ฉันต้องการอัลกอริทึมง่าย ๆ สำหรับการทำแบบออนไลน์ โดยทั่วไปฉันต้องการเก็บไว้ในหน่วยความจำ (หรือบนดิสก์) ข้อมูลประวัติทั้งหมดสำหรับแต่ละชุดเวลาและฉันต้องการตรวจสอบค่าผิดปกติใด ๆ ในสถานการณ์สด (ทุกครั้งที่มีการสุ่มตัวอย่างใหม่) วิธีที่ดีที่สุดในการบรรลุผลลัพธ์เหล่านี้คืออะไร? ฉันกำลังใช้ค่าเฉลี่ยเคลื่อนที่เพื่อลบเสียงรบกวน แต่แล้วจะทำอย่างไรต่อไป สิ่งที่เรียบง่ายเช่นค่าเบี่ยงเบนมาตรฐาน, บ้า, ... กับชุดข้อมูลทั้งหมดทำงานได้ไม่ดี (ฉันไม่สามารถคิดว่าอนุกรมเวลาคงที่) และฉันต้องการบางสิ่งที่ "แม่นยำ" ยิ่งกว่าเดิมกล่องดำแบบ: double outlier_detection (double * vector, double value); โดยที่ vector คืออาร์เรย์ของ double ที่มีข้อมูลประวัติและค่าส่งคืนคือคะแนนความผิดปกติสำหรับ "value" ตัวอย่างใหม่

6
การถดถอยเชิงเส้นออนไลน์ที่มีประสิทธิภาพ
ฉันกำลังวิเคราะห์ข้อมูลบางอย่างที่ฉันต้องการทำการถดถอยเชิงเส้นปกติ แต่เป็นไปไม่ได้เมื่อฉันจัดการกับการตั้งค่าออนไลน์ด้วยการป้อนข้อมูลต่อเนื่อง (ซึ่งจะใหญ่เกินไปสำหรับหน่วยความจำ) และต้องการ เพื่ออัปเดตการประมาณการพารามิเตอร์ขณะนี้กำลังถูกใช้ไป เช่นฉันไม่สามารถโหลดทั้งหมดลงในหน่วยความจำและทำการถดถอยเชิงเส้นในชุดข้อมูลทั้งหมด ฉันสมมติว่าตัวแบบการถดถอยเชิงเส้นหลายตัวแปรเชิงเส้นคือ y=Ax+b+ey=Ax+b+e\mathbf y = \mathbf A\mathbf x + \mathbf b + \mathbf e อัลกอริทึมที่ดีที่สุดสำหรับการสร้างการประเมินการอัปเดตอย่างต่อเนื่องของพารามิเตอร์การถดถอยเชิงเส้นและคืออะไร?ขAA\mathbf Abb\mathbf b จะเป็นการดี: ฉันต้องการอัลกอริทึมที่มีพื้นที่ว่างและเวลามากที่สุดต่อการอัปเดตโดยที่คือขนาดของตัวแปรอิสระ ( ) และคือขนาดของตัวแปรตาม ( )N x M yO(N⋅M)O(N⋅M)\mathcal O(N\cdot M)NNNxx\mathbf xMMMyy\mathbf y ฉันต้องการที่จะสามารถระบุพารามิเตอร์บางอย่างเพื่อกำหนดจำนวนพารามิเตอร์ที่มีการปรับปรุงโดยตัวอย่างใหม่แต่ละตัวอย่างเช่น 0.000001 จะหมายความว่าตัวอย่างต่อไปจะให้หนึ่งในล้านของการประมาณค่าพารามิเตอร์ สิ่งนี้จะทำให้การสลายตัวแบบเลขชี้กำลังสำหรับผลกระทบของกลุ่มตัวอย่างในอดีตอันไกลโพ้น

7
การตรวจหาช่วงเวลาของอนุกรมเวลาทั่วไป
โพสต์นี้เป็นความต่อเนื่องของโพสต์อื่นที่เกี่ยวข้องกับการเป็นวิธีการทั่วไปสำหรับการตรวจสอบค่าผิดปกติในอนุกรมเวลา โดยทั่วไป ณ จุดนี้ฉันสนใจวิธีที่มีประสิทธิภาพในการค้นพบช่วงเวลา / ฤดูกาลของซีรีย์เวลาทั่วไปที่ได้รับผลกระทบจากเสียงรบกวนมากมาย จากมุมมองของนักพัฒนาฉันต้องการอินเทอร์เฟซที่เรียบง่ายเช่น: unsigned int discover_period(vector<double> v); vอาร์เรย์ที่มีตัวอย่างอยู่ที่ไหนและค่าส่งคืนคือช่วงเวลาของสัญญาณ ประเด็นหลักคืออีกครั้งฉันไม่สามารถทำการสันนิษฐานเกี่ยวกับสัญญาณที่วิเคราะห์ได้ ฉันลองใช้วิธีการโดยอิงตามสัญญาณอัตโนมัติ (การตรวจจับจุดยอดของ correlogram) แล้ว แต่ก็ไม่แข็งแกร่งเท่าที่ฉันต้องการ

4
วิธีง่าย ๆ ในการระบุการขัดขวางในข้อผิดพลาดที่บันทึกไว้
เราต้องการระบบเตือนภัยล่วงหน้า ฉันจัดการกับเซิร์ฟเวอร์ที่ทราบว่ามีปัญหาด้านประสิทธิภาพขณะโหลด ข้อผิดพลาดจะถูกบันทึกในฐานข้อมูลพร้อมกับการประทับเวลา มีขั้นตอนการแทรกแซงด้วยตนเองที่สามารถดำเนินการเพื่อลดภาระของเซิร์ฟเวอร์ แต่เฉพาะเมื่อมีคนตระหนักถึงปัญหา ... ด้วยช่วงเวลาที่เกิดข้อผิดพลาดฉันจะระบุจุดเริ่มต้นของการขัดขวางในข้อผิดพลาดได้อย่างไร (ตามเวลาจริง) เราสามารถคำนวณเป็นระยะหรือในแต่ละข้อผิดพลาดเกิดขึ้น เราไม่สนใจเกี่ยวกับข้อผิดพลาดเป็นครั้งคราว แต่ไม่มีเกณฑ์ที่เฉพาะเจาะจง ฉันสามารถแจ้งใครบางคนได้ตลอดเวลาที่เราได้รับพูดข้อผิดพลาดสามข้อในห้านาที แต่ฉันแน่ใจว่ามีวิธีที่ดีกว่า ... ฉันต้องการที่จะสามารถปรับความไวของอัลกอริทึมตามข้อเสนอแนะจาก sysadmins สำหรับตอนนี้พวกเขาต้องการให้มีความละเอียดอ่อนพอสมควรแม้ว่าเราจะรู้ว่าเราสามารถคาดหวังผลบวกที่ผิดพลาดได้ ฉันไม่ใช่นักสถิติซึ่งฉันแน่ใจว่าชัดเจนและการใช้สิ่งนี้จำเป็นต้องค่อนข้างง่ายด้วยเครื่องมือที่มีอยู่ของเรา: SQL Server และ ASP JScript ของโรงเรียนเก่า ฉันไม่ได้มองหาคำตอบในรหัส แต่ถ้ามันต้องใช้ซอฟต์แวร์เพิ่มเติมมันอาจจะไม่ทำงานสำหรับเรา (แม้ว่าฉันยินดีต้อนรับทางออกที่ไม่เหมาะ แต่เป็นความคิดเห็นสำหรับความอยากรู้อยากเห็นของฉันเอง)

1
อัลกอริทึมสำหรับการฟื้นฟูข้อมูลตามเวลาจริงตามเวลาจริงหรือไม่
ฉันกำลังทำงานกับอัลกอริทึมที่ใช้ในเวกเตอร์ของจุดข้อมูลล่าสุดจากลำธารเซ็นเซอร์จำนวนหนึ่งและเปรียบเทียบระยะทางแบบยุคลิดกับเวกเตอร์ก่อนหน้านี้ ปัญหาคือกระแสข้อมูลที่แตกต่างกันมาจากเซ็นเซอร์ที่แตกต่างกันอย่างสิ้นเชิงดังนั้นการใช้ระยะทางแบบยุคลิดแบบเรียบง่ายจะทำให้ค่าบางค่าสูงขึ้นอย่างมาก เห็นได้ชัดว่าฉันต้องการวิธีที่จะทำให้ข้อมูลเป็นมาตรฐาน อย่างไรก็ตามเนื่องจากอัลกอริทึมได้รับการออกแบบให้ทำงานแบบเรียลไทม์ฉันไม่สามารถใช้ข้อมูลใด ๆ เกี่ยวกับสตรีมข้อมูลใด ๆ โดยรวมในการทำให้เป็นมาตรฐานได้ จนถึงตอนนี้ฉันเพิ่งจะติดตามค่าที่ใหญ่ที่สุดที่มองเห็นได้สำหรับเซ็นเซอร์แต่ละตัวในระยะเริ่มต้น (เวกเตอร์ข้อมูล 500 ตัวแรก) จากนั้นหารข้อมูลในอนาคตทั้งหมดจากเซ็นเซอร์นั้นด้วยค่านั้น มันใช้งานได้ดีอย่างน่าประหลาดใจ แต่รู้สึกไม่ค่อยดี ฉันไม่ได้โชคดีที่ได้พบอัลกอริทึมที่มีอยู่แล้วสำหรับสิ่งนี้ แต่บางทีฉันแค่ไม่ได้มองในที่ที่เหมาะสม มีใครรู้บ้างไหม หรือมีความคิดใด ๆ ฉันเห็นคำแนะนำหนึ่งข้อในการใช้ค่าเฉลี่ย (อาจคำนวณโดยอัลกอริธึมของ Wellford) แต่ถ้าฉันทำอย่างนั้นการอ่านค่าเดียวกันหลายครั้งจะไม่ปรากฏว่าเหมือนกันซึ่งดูเหมือนว่าจะเป็นปัญหาใหญ่เว้นแต่ฉัน คิดถึงบางอย่าง ความคิดใด ๆ ที่ชื่นชม! ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.