ฉันควรใช้อัลกอริทึมใดในการตรวจจับความผิดปกติในอนุกรมเวลา


69

พื้นหลัง

ฉันทำงานในศูนย์ปฏิบัติการเครือข่ายเราตรวจสอบระบบคอมพิวเตอร์และประสิทธิภาพของระบบ หนึ่งในตัวชี้วัดหลักในการตรวจสอบคือจำนวนผู้เยี่ยมชม \ ลูกค้าที่เชื่อมต่อกับเซิร์ฟเวอร์ของเราในปัจจุบัน เพื่อให้มองเห็นได้เรา (ทีม 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 เล็กน้อยดังนั้นฉันยินดีที่จะเห็นตัวอย่างสำหรับภาษาเหล่านี้ กรุณาแนะนำหนังสือหรือบทความที่ดีซึ่งจะช่วยฉันในการแก้ปัญหาของฉัน ขอบคุณสำหรับเวลาของคุณและขอโทษสำหรับคำอธิบายยาว ๆ

ลิงค์ที่มีประโยชน์

คำถามที่คล้ายกัน:

แหล่งข้อมูลภายนอก:


1
คุณลองดูหนึ่งในอัลกอริทึมที่ง่ายที่สุดเช่น CUSUM หรือไม่?
Vladislavs Dovgalecs

@ xeon ยังไม่ได้ ฉันยังใหม่กับหัวเรื่องและต้องการเวลาในการย่อยทุกอย่าง ขอบคุณสำหรับการนำสิ่งนี้มาเป็นจุดเริ่มต้นที่ดีฉันสามารถนำไปใช้งานได้ในตอนนี้
Ilya Khadykin

1
เป็นคำถามที่ยอดเยี่ยม @ ma-ge ฉันมีสถานการณ์ที่คล้ายกัน แนวทางของฉันคือการตั้งค่าการแจ้งเตือนโดยการสร้างการพยากรณ์เป็นระยะอย่างต่อเนื่องโดยใช้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)
Alex Woolford

3
พวกจาก Twitter เขียนบทความที่น่าสนใจมากในหัวข้อนี้ ลองดูสิ: blog.twitter.com/2015/…
ognjenz

เฮ้ @IlyaKhadykin หวังว่าคุณจะสบายดี! คุณเคยได้รับคำตอบสำหรับปัญหานี้หรือไม่ ฉันกำลังทำสิ่งเดียวกันทุกนาทีที่เรามีผู้ใช้บางคนและเรายังได้รับการบวกเท็จมากมาย ณ ตอนนี้เรากำลังคำนวณคะแนนสำหรับข้อมูลช่วงเวลาทุก 5 นาทีและจับคู่กับรูปแบบประวัติ หากคุณได้รับอัลกอฮอร์โดยเฉพาะการทำงานใด ๆ คุณสามารถแบ่งปันวิธีที่คุณทำมัน ขอบคุณล่วงหน้า!
ak3191

คำตอบ:


23

ฉันคิดว่ากุญแจคือตัวระบุ "ที่ไม่คาดคิด" ในกราฟของคุณ เพื่อที่จะตรวจสอบที่ไม่คาดคิดที่คุณจำเป็นต้องมีความคิดของสิ่งที่เป็นที่คาดว่า

ฉันจะเริ่มต้นด้วยรุ่นอนุกรมเวลาที่เรียบง่ายเช่น AR (p) หรือ ARMA (p, q) พอดีกับข้อมูลเพิ่มฤดูกาลตามความเหมาะสม ตัวอย่างเช่นแบบจำลอง SAR (1) (24) ของคุณอาจเป็น:โดยที่คือเวลาในหน่วยชั่วโมง ดังนั้นคุณจะคาดการณ์กราฟสำหรับชั่วโมงถัดไป เมื่อใดก็ตามที่ข้อผิดพลาดในการคาดการณ์มีขนาดใหญ่เกินไปคุณต้องส่งการแจ้งเตือนyt=c+ϕyt1+Φ24yt24+Φ25yt25+εttet=yty^t

เมื่อคุณทำประเมินรูปแบบที่คุณจะได้รับความแปรปรวนของข้อผิดพลาด\ทั้งนี้ขึ้นอยู่กับสมมติฐานการกระจายของคุณเช่นปกติคุณสามารถกำหนดเกณฑ์อยู่บนพื้นฐานของความน่าจะเป็นเช่นสำหรับ 99.7% หรือด้านเดียวe_t>σεεt|et|<3σεet>3σε

จำนวนผู้เข้าชมอาจจะค่อนข้างคงที่ แต่เป็นไปตามฤดูกาล มันอาจจะดีกว่าที่จะลองใช้หุ่นจำลองตามฤดูกาลแทนที่จะเป็นฤดูกาลคูณจากนั้นคุณจะลอง ARMAX โดยที่ X ย่อมาจากตัวแปรภายนอกซึ่งอาจเป็นอะไรก็ได้เช่นหุ่นจำลองวันหยุด, หุ่นจำลองชั่วโมง, หุ่นสุดสัปดาห์ ฯลฯ


5
วิธีการนี้จะถือว่าโมเดล ARIMA เฉพาะซึ่งจะมีพารามิเตอร์เอนเอียงตามความผิดปกติที่สันนิษฐานว่าไม่มีอยู่จริง วิธีการทั่วไปที่มากกว่านั้นก็คือการระบุความผิดปกติก่อนแล้วจึงเป็นโมเดล ARIMA ที่ดีที่สุดซึ่งนำไปสู่การทดสอบแบบอินไลน์อย่างมีนัยสำคัญ ความผิดปกตินอกจากนี้อาจเป็นการเลื่อนระดับพัลส์ตามฤดูกาลและแนวโน้มเวลาท้องถิ่นซึ่งต้องการโซลูชันทั่วไปมากกว่าที่เสนอไว้ที่นี่ ดู unc.edu/~jbhill/tsay.pdf สำหรับกระบวนการที่ครอบคลุม นอกจากนี้คุณยังสามารถ Google "การตรวจจับการแทรกแซงอัตโนมัติ" สำหรับข้อมูลเพิ่มเติม
IrishStat

@IrishStat ฉันแนะนำ ARIMAX ด้วยหุ่นสำหรับกิจกรรม OP สามารถบัญชีสำหรับเหตุการณ์ที่รู้จักเช่นเว็บไซต์เกิดปัญหากับหุ่น สิ่งนี้จะลดความแปรปรวนของข้อผิดพลาดและจะมีการแจ้งเตือนเพิ่มเติม ไม่มีเหตุผลที่จะสร้างแบบจำลองที่ซับซ้อนเพราะมันเป็นไปไม่ได้เลยที่จะคำนึงถึงทุกสิ่งเมื่อมันมาถึงการเข้าชมเว็บไซต์ โมเดลที่เรียบง่ายจะทำงานได้ดีที่สุด
Aksakal

2
@ ma-ge มีอีกอย่างหนึ่ง: คุณอาจต้องการใช้ช่วงเวลาที่ทับซ้อนกัน สมมติว่าคุณรวบรวมข้อมูลทุกนาที แต่สำหรับการสร้างแบบจำลองคุณสามารถเลือกขั้นตอนใน 10 นาที มันสร้างปัญหาบางอย่างสำหรับการประมาณค่า (เนื่องจากความสัมพันธ์อัตโนมัติ) แต่ตัวแบบผลลัพธ์ที่ได้นั้นน่าจะมีประสิทธิภาพมากกว่า
Aksakal

@Aksakal Models ควรเรียบง่ายเท่าที่จำเป็น แต่ไม่ง่ายเกินไป
IrishStat

17

ในบล็อกเทคโนโลยี Netflix มีบทความเกี่ยวกับเครื่องมือตรวจจับความผิดปกติ (RAD) ที่มีประสิทธิภาพ http://techblog.netflix.com/2015/02/rad-outlier-detection-on-big-data.html

มันเกี่ยวกับฤดูกาลและชุดข้อมูลปริมาณมากดังนั้นจึงอาจเหมาะสมกับความต้องการของคุณ รหัสนี้เป็นโอเพ่นซอร์ส Java และ Apache Pig https://github.com/Netflix/Surus/blob/master/resources/examples/pig/rad.pig

อัลกอริธึมพื้นฐานอ้างอิงจาก PCA ที่แข็งแกร่ง - ดูกระดาษต้นฉบับที่นี่: http://statweb.stanford.edu/~candes/papers/RobustPCA.pdf


12

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

ด้านล่างนี้ผมสรุปแนวทางของแพ็คเกจที่มีในโอเพ่นซอร์สR:

  1. tsoutliers : ใช้อัลกอริทึมการตรวจสอบค่าผิดปกติของ Chen และ Liuภายในกรอบงาน arima ดูคำถามก่อนหน้าของฉันในเว็บไซต์นี้ วิธีการที่ยอดเยี่ยม แต่ช้ามากไม่แน่ใจว่ามันจะสามารถจัดการกับข้อมูลความถี่สูงเช่นเดียวกับคุณ มีประโยชน์ในการตรวจจับค่าผิดปกติทุกประเภทตามที่กล่าวไว้ในคำถาม / โพสต์ก่อนหน้าของฉัน
  2. การตรวจจับความผิดปกติของ Twitter : ใช้อัลกอริทึมของ Rosner ในการตรวจจับความผิดปกติตามอนุกรมเวลา อัลกอริทึมจะสลายตัวไทม์ซีรี่จากนั้นตรวจจับความผิดปกติ ในความเห็นส่วนตัวของฉันนี้ไม่ได้มีประสิทธิภาพและถูกต้องในการตรวจสอบ outlires ในอนุกรมเวลา
  3. tsoutlierในแพ็คเกจการคาดการณ์: คล้ายกับอัลกอริทึมของ twitter ในแง่ของการสลายตัวอนุกรมเวลาและจากนั้นตรวจจับค่าผิดปกติ จะตรวจพบค่าผิดปกติหรือสารเติมแต่งเท่านั้น

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

หวังว่านี่จะเป็นประโยชน์


ขอบคุณฉันให้มุมมองเกี่ยวกับปัญหาและแนวทางที่คล้ายกัน ขอขอบคุณเป็นพิเศษสำหรับลิงค์!
Ilya Khadykin

หากใครกำลังมองหา Metafor เราได้มาโดย Splunk อัลกอริทึม TSAD ของเรามีอยู่ใน Splunk IT Service Intelligence ("ITSI") รุ่นล่าสุด
Alex Cruise

4

คุณได้ลองใช้กฎการควบคุมกระบวนการทางสถิติ (เช่น Western Electric http://en.wikipedia.org/wiki/Western_Electric_rules ) หรือไม่

ฉันใช้พวกเขาสำหรับข้อมูลอนุกรมเวลา - บ่อยครั้งที่มีสัญชาตญาณเกี่ยวกับข้อมูล - เพื่อประเมินว่าข้อมูลกำลังไปที่ไหนสักแห่งที่ฉันไม่ต้องการให้มันไป เช่นเดียวกับตัวอย่างของคุณกฎเหล่านี้บอกว่าถ้าเดลต้า / การเปลี่ยนแปลงมีความสอดคล้องกับจุดข้อมูลหลายจุดมันจะติดธงว่าอาจมีปัญหา

นอกจากนี้การควบคุมกระบวนการทางสถิติ (SPC) ยังสามารถใช้งานได้ดีหากคุณเริ่มดีขึ้นหรือแย่ลงกว่า แต่ก่อน

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


4

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

L(m,τ1:m,θ1:(m+1))=i=1m+1p(y(τi1+1):τiθi)

ที่เป็นข้อมูลของคุณเป็นจุดขอบเขตการทำเครื่องหมายการเปลี่ยนแปลงและการแจกแจงความน่าจะเป็นจะ parametrized โดยสำหรับแต่ละ -th ส่วน สิ่งนี้สามารถทำให้เป็นเรื่องทั่วไปได้อย่างง่ายดายเพื่อแก้ไขสถานการณ์ที่หลากหลาย จำนวนขั้นตอนวิธีที่มีอยู่เพื่อหาพารามิเตอร์รวมทั้งการหาที่ไม่รู้จักเมตรนอกจากนี้ยังมีซอฟต์แวร์ที่สามารถใช้ประเมินรุ่นดังกล่าวเช่นแพ็คเกจสำหรับ R หากคุณต้องการเรียนรู้เพิ่มเติมคุณสามารถตรวจสอบเอกสารเผยแพร่ต่อไปนี้และข้อมูลอ้างอิงที่ให้ไว้: 1 < τ 1 < < τ m < n p θ i i my1,,yn1<τ1<<τm<npθiimchangepoint

Rebecca Killick และ Idris A. Eckley (2013) changepoint: R Package สำหรับการวิเคราะห์ Changepoint (กระดาษออนไลน์)

Eckley, IA, Fearnhead, P. และ Killick, R. (2011) การวิเคราะห์แบบจำลองของ changepoint [ใน:] โมเดลอนุกรมเวลาแบบเบย์ , สหพันธ์. D. Barber, AT Cemgil และ S. Chiappa, สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์


4

เนื่องจากช่วงเวลาของอนุกรมเวลาควรเข้าใจง่าย แต่มีประสิทธิภาพสามารถสร้างอัลกอริทึมที่ยึดตามความแตกต่างได้

ความแตกต่างง่ายๆเพียงขั้นตอนเดียวจะตรวจจับการตกแบบฉับพลันจากค่าก่อนหน้า

yt=ytyt1

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

yt=ytytnwhere n=length of period

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

หากการสุ่มตัวอย่างเสร็จสิ้นทุกชั่วโมงควรตั้งค่าในสมการข้างต้นเป็น24 7 = 168n247=168

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

yt=ytytn

ฉันทำการทดสอบใน R โดยใช้ชุดข้อมูลที่จำลองขึ้นมา มันเป็นข้อมูลตัวอย่าง 6 ครั้งต่อวันและมีช่วงเวลาที่แข็งแกร่งรายวันและรายสัปดาห์พร้อมกับเสียงรบกวนและความผันผวนอื่น ๆ หยดถูกเพิ่มเข้าไปในสถานที่สุ่มและระยะเวลาระหว่าง 1 และ 3
เพื่อแยกอัตราส่วนหยดแรกถูกคำนวณที่ระยะทาง 42 จากนั้นเกณฑ์ที่กำหนดไว้ที่ 0.6 เนื่องจากการเปลี่ยนแปลงเชิงลบของขนาดที่แน่นอนมีความน่าสนใจ จากนั้นจึงคำนวณความแตกต่างหนึ่งขั้นตอนและตั้งค่าขีด จำกัด ที่ -0.5 ในท้ายที่สุดหนึ่งบวกปลอมดูเหมือนจะผ่าน (หนึ่งในตอนท้ายของสัปดาห์ที่ 16) กราฟที่ด้านซ้ายและขวาแสดงข้อมูลเดียวกันในรูปแบบที่ต่างกัน

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


3

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

คำนำเวฟเล็ตที่ดีคือ "โลกตามเวฟเล็ต" โดยฮับบาร์ดฉันเชื่อว่าเป็นผู้แต่ง


2

ฉันสามารถรับผลลัพธ์ที่ดีสำหรับอนุกรมเวลาแบบหลายฤดูกาล (รายวันรายสัปดาห์) โดยใช้อัลกอริธึมที่ต่างกันสองแบบ:

  • การสลายตัวของแนวโน้มตามฤดูกาลโดยใช้ loess (หรือ STL) เพื่อสร้างชุดจุดกึ่งกลาง
  • การถดถอยแบบไม่เชิงเส้นเพื่อสร้างขีด จำกัด รอบจุดกึ่งกลางนั้นขึ้นอยู่กับความสัมพันธ์ระหว่างความแปรปรวนและระดับ

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

ฉันเขียนรายละเอียดเพิ่มเติมที่นี่:

https://techblog.expedia.com/2016/07/28/applying-data-science-to-monitoring/


1

ได้รับแรงบันดาลใจจาก David คุณพยายามใช้ FFT หรือไม่ มันอาจสามารถพบการตกอย่างกะทันหันเนื่องจากสิ่งเหล่านี้บ่งบอกถึงความผิดปกติของคุณ ความผิดปกติอาจปรากฏในสเปกตรัมที่แคบ ดังนั้นคุณสามารถจับภาพได้อย่างง่ายดาย

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