อัลกอริทึมสำหรับการตรวจจับความผิดปกติของอนุกรมเวลา


24

ฉันกำลังใช้ทวิตเตอร์ของ AnomalyDetection ใน R: https://github.com/twitter/AnomalyDetection อัลกอริทึมนี้ให้การตรวจจับความผิดปกติของอนุกรมเวลาสำหรับข้อมูลที่มีฤดูกาล

คำถาม: มีอัลกอริธึมอื่น ๆ ที่คล้ายกันนี้หรือไม่ (การควบคุมตามฤดูกาลไม่สำคัญ)

ฉันพยายามทำอัลกอริธึมอนุกรมเวลาให้ได้มากที่สุดเท่าที่จะเป็นไปได้ในข้อมูลของฉันเพื่อที่ฉันจะได้เลือกชุดที่ดีที่สุด

คำตอบ:


16

อัลกอริทึม Twitter เป็นไปตาม

Rosner, B. , (พฤษภาคม 1983), "คะแนนร้อยละสำหรับ ESD ทั่วไปที่มีค่าใช้จ่ายจำนวนมาก", Technometrics, 25 (2), pp. 165-172

ฉันแน่ใจว่ามีเทคนิคและความก้าวหน้ามากมายตั้งแต่ปี 1983! ฉันทดสอบข้อมูลภายในของฉันแล้วและการตรวจจับความผิดปกติของ Twitter ไม่ได้ระบุค่าผิดปกติที่ชัดเจน ฉันจะใช้วิธีการอื่นเช่นกันเพื่อทดสอบค่าผิดปกติในอนุกรมเวลา สิ่งที่ดีที่สุดที่ฉันเจอคือขั้นตอนการตรวจจับค่าผิดพลาดของ Tsayซึ่งใช้ในซอฟต์แวร์ SAS / SPSS / Autobox และ SCA ทั้งหมดนี้เป็นระบบเชิงพาณิชย์ นอกจากนี้ยังมี แพ็คเกจtsoutliersซึ่งยอดเยี่ยม แต่ต้องการคุณสมบัติของarimaรุ่นเพื่อให้ทำงานได้อย่างมีประสิทธิภาพ ฉันมีปัญหาเกี่ยวกับการตั้งค่าเริ่มต้นที่auto.arimaเกี่ยวข้องกับการเพิ่มประสิทธิภาพและการเลือกรูปแบบ

บทความของ Tsay เป็นผลงานในการตรวจจับค่าผิดปกติในอนุกรมเวลา วารสารชั้นนำในการคาดการณ์การวิจัยวารสารการพยากรณ์ระหว่างประเทศกล่าวว่าบทความของ Tsay เป็นหนึ่งในงานที่ถูกอ้างถึงมากที่สุดและเอกสารที่มีอิทธิพลมากที่สุดในบทความที่เชื่อมโยงด้านบน (ดูด้านล่าง) การแพร่กระจายของงานสำคัญและอัลกอริธึมการตรวจหาค่าผิดปกติอื่น ๆ ในซอฟต์แวร์การพยากรณ์ (โดยเฉพาะอย่างยิ่งในซอฟต์แวร์โอเพนซอร์ซ) เป็นสิ่งที่หายาก

ป้อนคำอธิบายรูปภาพที่นี่


14

นี่คือตัวเลือกสำหรับการตรวจจับความผิดปกติใน R ตั้งแต่ปี 2560

แพ็คเกจ AnomalyDetection ของ Twitter

  • ทำงานโดยใช้ Seasonal Hybrid ESD (SH-ESD);
  • สร้างตามการทดสอบ ESD ทั่วไปสำหรับตรวจจับความผิดปกติ
  • สามารถตรวจจับความผิดปกติทั้งในระดับท้องถิ่นและระดับโลก
  • ใช้การแตกสลายอนุกรมเวลาและตัวชี้วัดทางสถิติที่มีประสิทธิภาพ (เช่นค่ามัธยฐานพร้อม ESD)
  • ใช้การประมาณค่าแบบทีละชิ้นสำหรับอนุกรมเวลาที่ยาวนาน
  • นอกจากนี้ยังมีวิธีการในการประทับเวลาไม่สามารถใช้ได้;
  • สามารถระบุทิศทางของความผิดปกติหน้าต่างที่น่าสนใจสลับการประมาณค่าเป็นชิ้น ๆ และมีการรองรับการมองเห็น

แพ็คเกจ anomalyDetection (แตกต่างจาก Twitter's)

  • วิธีการต่าง ๆ รวมถึงระยะทาง Mahalanobis การวิเคราะห์ปัจจัยการวิเคราะห์แบบขนานของฮอร์นการตรวจสอบบล็อกการวิเคราะห์องค์ประกอบหลัก
  • มีวิธีการจัดการกับผลลัพธ์

แพ็คเกจ tsoutliers

  • ตรวจจับค่าผิดปกติในอนุกรมเวลาตามขั้นตอนของเฉินและหลิว ( https://www.jstor.org/stable/2290724?seq=1#page_scan_tab_contents );
  • ค่าความผิดปกติได้มาจากการประมาณค่าพารามิเตอร์ 'แบบจำลองที่มีการปนเปื้อนน้อย' ประเมินผลกระทบภายนอกโดยใช้การถดถอยเชิงเส้นหลายครั้งและประเมินค่าพารามิเตอร์แบบจำลองและผลกระทบร่วมกัน
  • พิจารณาค่าผิดปกติทางนวัตกรรมค่าผิดปกติแบบเสริมการเลื่อนระดับการเปลี่ยนแปลงชั่วคราวและการเลื่อนระดับตามฤดูกาล

ผิดปกติ-ACM

  • ทำงานโดยการคำนวณเวกเตอร์ของคุณลักษณะในแต่ละอนุกรมเวลา (เช่นความสัมพันธ์ล่าช้า, ความแรงของฤดูกาล, เอนโทรปีของสเปกตรัม) จากนั้นใช้การสลายตัวขององค์ประกอบหลักที่แข็งแกร่งกับคุณสมบัติและในที่สุดก็ใช้วิธีการตรวจสอบ
  • เปิดใช้งานซีรีย์ที่ผิดปกติที่สุดโดยขึ้นอยู่กับคุณสมบัติของเวกเตอร์
  • แพคเกจประกอบด้วยชุดข้อมูลทั้งจริงและสังเคราะห์จาก Yahoo

แพ็คเกจสายรุ้ง

  • ใช้ถุงและกล่องแปลง
  • ระบุค่าผิดปกติที่มีความลึกหรือความหนาแน่นต่ำที่สุด

แพ็คเกจ kmodR

  • ใช้การดำเนินการ k-mean ที่เสนอโดย Chawla และ Gionis ในปี 2013 ( http://epubs.siam.org/doi/pdf/10.1137/1.9781611972832.21 );
  • มีประโยชน์สำหรับการสร้างกลุ่มที่เข้มงวด (อาจ) กลุ่มที่มีค่าเข้มงวดกว่าค่ามาตรฐาน k และหาค่าผิดปกติพร้อมกันในพื้นที่หลายมิติราคาไม่แพง

วิธีการ washeR

มุมมองงาน CRAN สำหรับวิธีการทางสถิติที่ทนทาน

  • วิธีการที่หลากหลายสำหรับการใช้วิธีการทางสถิติที่มีประสิทธิภาพเพื่อตรวจหาค่าผิดปกติ

แก้ไขปี 2018

anomalize: การตรวจจับความผิดปกติเป็นระเบียบ


ข้อเสนอแนะใดที่ฉันสามารถใช้สำหรับข้อมูลอนุกรมเวลา แต่ไม่มีฤดูกาล? ฉันสามารถใช้แพ็คเกจ twitter ในกรณีนั้นได้หรือไม่?
MikeHuber

แพ็คเกจ Twitter จัดการความผิดปกติทั้งในระดับท้องถิ่นและระดับโลก ดังที่พวกเขากล่าวไว้ในเอกสารของพวกเขา "โดยทั่วไปความผิดปกติทั่วโลกจะขยายตัวสูงกว่าหรือต่ำกว่าฤดูกาลที่คาดหวังและดังนั้นจึงไม่ขึ้นอยู่กับฤดูกาลและแนวโน้มพื้นฐาน ใช่คุณสามารถใช้แพ็คเกจ Twitter เพื่อตรวจจับความผิดปกติในอนุกรมเวลาโดยไม่มีฤดูกาล blog.twitter.com/engineering/en_us/a/2015/…
Cybernetic

8

ฉันเจอแหล่งข้อมูลไม่กี่แห่งที่อาจช่วยคุณได้ แต่พวกเขาจะไม่ง่าย / สะดวกเหมือนกับการเรียกใช้สคริปต์ R เหนือข้อมูลของคุณ: - Numentaมีแพลตฟอร์มNuPICที่เปิดแหล่งที่มาซึ่งใช้สำหรับหลายสิ่งรวมถึงการตรวจจับความผิดปกติ . - โครงการ Atlas ของ Netflixจะเปิดตัวเครื่องมือตรวจจับค่าผิดปกติ / ความผิดปกติแบบโอเพนซอร์ส - Prelertมีเอ็นจิ้นการตรวจจับความผิดปกติที่มาพร้อมกับแอพพลิเคชันฝั่งเซิร์ฟเวอร์ การทดลองใช้ของพวกเขามีการใช้งาน จำกัด ซึ่งอาจตอบสนองความต้องการของคุณ

อีกทางเลือกหนึ่งคือInsignumบริษัท ของฉันมีผลิตภัณฑ์ในรุ่นเบต้าที่นำเข้าข้อมูลอนุกรมเวลาและตรวจจับความผิดปกติด้วยวิธีอัตโนมัติอย่างสมบูรณ์และคุณจะได้รับการแจ้งเตือนทางอีเมลเมื่อตรวจพบความผิดปกติ ติดต่อผ่านTwitterหรือLinkedinและฉันยินดีที่จะบอกคุณเพิ่มเติม


3

Autobox (บริษัท ของฉัน) ให้บริการตรวจจับนอกขอบเขต อัลกอริทึมของ Twitter ได้รับค่าผิดปกติขนาดใหญ่ แต่คิดถึงคนเล็กเมื่อเทียบกับAutobox

ใช้เวลานานในการรัน แต่ผลลัพธ์จะดีกว่าสำหรับการค้นหาค่าผิดปกติที่น้อยลงและการเปลี่ยนแปลงในฤดูกาลซึ่งเป็นค่าผิดปกติด้วย ด้านล่างนี้เป็นแบบจำลองที่ค้นหาผู้ผิดกฎหมาย 79 รายโดยใช้การสังเกต 8,560 ครั้งครั้งแรกจากการสังเกตแบบเดิม 14,398 ครั้ง รุ่นมาตรฐานสูงสุดออกมาที่ 10,000 ข้อสังเกตุ แต่สามารถแก้ไขได้มากขึ้น แต่ไม่มีเหตุผลที่แท้จริงที่จะมีข้อมูลจำนวนมากอยู่แล้วเมื่อคุณต้องการระบุและตอบกลับผู้ผิด

เราได้รับอิทธิพลจากงานที่ทำโดย Tsay เกี่ยวกับค่าผิดปกติการเลื่อนระดับและการเปลี่ยนแปลงความแปรปรวนและงานของ Chow เกี่ยวกับการเปลี่ยนแปลงพารามิเตอร์พร้อมกับงานของเราในการตรวจจับการเปลี่ยนแปลงตามฤดูกาล

หากคุณดาวน์โหลดรุ่นทดลอง 30 วันและโหลดข้อมูลตัวอย่างของ Twitter และระบุความถี่เป็น 60 และบันทึกไฟล์ทริกเกอร์ 3 ไฟล์ในโฟลเดอร์การติดตั้ง (noparcon.afs, novarcon.afs, notrend.afs) และสร้างไฟล์ที่เรียกว่า stepupde afs ด้วย 100

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

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