พื้นหลัง
ฉันทำงานในศูนย์ปฏิบัติการเครือข่ายเราตรวจสอบระบบคอมพิวเตอร์และประสิทธิภาพของระบบ หนึ่งในตัวชี้วัดหลักในการตรวจสอบคือจำนวนผู้เยี่ยมชม \ ลูกค้าที่เชื่อมต่อกับเซิร์ฟเวอร์ของเราในปัจจุบัน เพื่อให้มองเห็นได้เรา (ทีม Ops) รวบรวมตัวชี้วัดเช่นข้อมูลอนุกรมเวลาและวาดกราฟ กราไฟต์ช่วยให้เราสามารถทำมันได้มี API ที่สวยงามซึ่งฉันใช้ในการสร้างระบบการแจ้งเตือนเพื่อแจ้งทีมของเราหากมีการลดลงอย่างกะทันหัน (ส่วนใหญ่) และการเปลี่ยนแปลงอื่น ๆ เกิดขึ้น สำหรับตอนนี้ฉันได้ตั้งค่าสแตติกแบบคงที่ตามค่าเฉลี่ยของ AVG แต่มันใช้งานไม่ได้ดี (มีจำนวนบวกเท็จ) เนื่องจากการโหลดที่แตกต่างกันในระหว่างวันและสัปดาห์ (ปัจจัยด้านฤดูกาล)
ดูเหมือนว่านี้:
ข้อมูลจริง (ตัวอย่างสำหรับหนึ่งตัวชี้วัด, ช่วงเวลา 15 นาที, หมายเลขแรกคือจำนวนผู้ใช้, การประทับครั้งที่สอง):
[{"target": "metric_name", "datapoints": [[175562.0, 1431803460], [176125.0, 1431803520], [176125.0, 1431803580], [175710.0, 1431803640], [175710.0, 1431803700], [175733.0, 1431803760], [175733.0, 1431803820], [175839.0, 1431803880], [175839.0, 1431803940], [175245.0, 1431804000], [175217.0, 1431804060], [175629.0, 1431804120], [175104.0, 1431804180], [175104.0, 1431804240], [175505.0, 1431804300]]}]
สิ่งที่ฉันพยายามทำให้สำเร็จ
ฉันได้สร้างสคริปต์ Python ซึ่งได้รับดาต้าพอยน์ล่าสุดเปรียบเทียบกับค่าเฉลี่ยในอดีตและการแจ้งเตือนหากมีการเปลี่ยนแปลงหรือลดลงอย่างฉับพลัน เนื่องจากเกณฑ์ "คงที่" ตามฤดูกาลไม่ทำงานได้ดีและสคริปต์สร้างการแจ้งเตือนเท็จบวก ฉันต้องการปรับปรุงอัลกอริทึมการแจ้งเตือนให้มีความแม่นยำมากขึ้นและทำงานได้โดยไม่ต้องปรับเกณฑ์การแจ้งเตือน
แนะนำอะไรที่ฉันต้องการและสิ่งที่ฉันค้นพบ
โดย googling ฉันคิดว่าฉันกำลังมองหาอัลกอริทึมการเรียนรู้ของเครื่องจักรสำหรับการตรวจจับความผิดปกติ การสอบสวนเพิ่มเติมแสดงให้เห็นว่ามีพวกมันมากมายและมันยากมากที่จะเข้าใจว่าอันไหนใช้ได้ในกรณีของฉัน เนื่องจากความรู้ทางคณิตศาสตร์ที่ จำกัด ของฉันฉันไม่สามารถอ่านเอกสารเชิงวิชาการที่ซับซ้อนและฉันกำลังมองหาบางสิ่งที่ง่ายสำหรับผู้เริ่มต้นในสาขา
ฉันชอบ Python และคุ้นเคยกับ R เล็กน้อยดังนั้นฉันยินดีที่จะเห็นตัวอย่างสำหรับภาษาเหล่านี้ กรุณาแนะนำหนังสือหรือบทความที่ดีซึ่งจะช่วยฉันในการแก้ปัญหาของฉัน ขอบคุณสำหรับเวลาของคุณและขอโทษสำหรับคำอธิบายยาว ๆ
ลิงค์ที่มีประโยชน์
คำถามที่คล้ายกัน:
- อนุกรมเวลาและการตรวจจับความผิดปกติ
- การตรวจจับความผิดปกติของอนุกรมเวลาด้วย Python
- ความผิดปกติของอนุกรมเวลา
- อัลกอริทึมสำหรับการตรวจจับความผิดปกติของอนุกรมเวลา
- การประยุกต์ใช้ขั้นตอนวิธีการตรวจจับความผิดปกติของเวฟเล็ตตามอนุกรมเวลา
- ฉันควรใช้อัลกอริทึมใด
แหล่งข้อมูลภายนอก:
auto.arima
ฟังก์ชั่นจากforecast
แพ็คเกจยอดเยี่ยมของ R (ดูjstatsoft.org/v27/i03/paper ) คุณสามารถปรับระดับความเชื่อมั่นโดยการปรับพารามิเตอร์เช่นlevel
data.model <- auto.arima(data.zoo, ic = c("bic")); data.prediction.warningLimits <- forecast(data.model, h=1, level=0.99)