Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ค่าผิดปกติตามระยะทางคืออะไร?


วัตถุ o ในชุดข้อมูล S เป็นค่าผิดปกติตามระยะทาง (DB) โดยมีพารามิเตอร์ p และ d เช่น DB (p, d) หากเศษ p ขั้นต่ำของวัตถุใน S อยู่ที่ระยะห่างที่สูงกว่า d จาก o กล่าวคือ แทนที่จะขึ้นอยู่กับการทดสอบทางสถิติ มันสามารถนึกถึงค่าผิดปกติตามระยะทางเป็นวัตถุที่มีเพื่อนบ้านไม่เพียงพอ

เพื่อนบ้านจะแสดงตามระยะทางจากวัตถุที่กำหนด เมื่อเปรียบเทียบกับวิธีการทางสถิติ การตรวจจับค่าผิดปกติตามระยะทางจะสรุปหรือรวมแนวคิดที่อยู่เบื้องหลังการทดสอบความไม่ลงรอยกันสำหรับการแจกแจงมาตรฐาน ดังนั้น ค่าผิดปกติตามระยะทางเรียกอีกอย่างว่า unified outlier หรือ UO-outlier

การตรวจจับค่าผิดปกติตามระยะทางป้องกันการคำนวณที่มากเกินไปซึ่งอาจเกี่ยวข้องกับการปรับการกระจายที่สังเกตได้ให้พอดีกับการแจกแจงมาตรฐานบางรายการและในการเลือกการทดสอบความไม่ลงรอยกัน สำหรับการทดสอบความไม่ลงรอยกันบางรายการ สามารถแสดงว่าถ้าวัตถุ o เป็นค่าผิดปกติตามการทดสอบที่กำหนด o ก็เป็นค่าผิดปกติของฐานข้อมูล (p, d) สำหรับค่า p และ d ที่แสดงอย่างถูกต้องด้วย

ตัวอย่างเช่น หากวัตถุที่มีค่าเบี่ยงเบนมาตรฐานตั้งแต่ 3 ค่าขึ้นไปจากค่ากลางได้รับการพิจารณาว่าเป็นค่าผิดปกติ โดยพิจารณาจากการแจกแจงแบบปกติ การแทนค่านี้สามารถ "รวมเป็นหนึ่ง" ด้วย DB (0.9988, 0.13 วินาที) ซึ่งเป็นค่าผิดปกติได้ มีอัลกอริธึมที่มีประสิทธิภาพหลายอย่างสำหรับค่าผิดปกติที่อิงตามระยะทางที่ขุดขึ้นมา ซึ่งมีดังนี้ -

อัลกอริทึมแบบอิงดัชนี เมื่อใช้ชุดข้อมูล อัลกอริธึมแบบอิงดัชนีจะอำนวยความสะดวกให้กับโครงสร้างการจัดทำดัชนีหลายมิติ รวมถึง R-tree หรือ k-d tree เพื่อค้นหาเพื่อนบ้านของแต่ละวัตถุ o ภายในรัศมี d รอบวัตถุนั้น ให้ M เป็นจำนวนสูงสุดของออบเจกต์ภายใน d-neighbourhood ของค่าผิดปกติ ดังนั้นเมื่อค้นพบ M + 1 เพื่อนบ้านของวัตถุ o จะสามารถเข้าถึงได้ว่า o ไม่ใช่ค่าผิดปกติ อัลกอริธึมนี้มีความซับซ้อนตัวพิมพ์เล็กที่สุดของ O (k * n2) โดยที่ k คือมิติข้อมูล และ n คือจำนวนออบเจ็กต์ในชุดข้อมูล

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

อัลกอริธึมแบบเซลล์ − มันสามารถหลีกเลี่ยง O(n 2 ) ความซับซ้อนในการคำนวณ อัลกอริทึมที่ใช้เซลล์ได้รับการพัฒนาสำหรับชุดข้อมูลที่มีหน่วยความจำ ความซับซ้อนคือ O (e k + n) โดยที่ c คือค่าคงที่ตามจำนวนเซลล์ และ k คือมิติข้อมูล

ในวิธีนี้ พื้นที่ข้อมูลจะถูกแบ่งพาร์ติชันออกเป็นเซลล์ที่มีความยาวด้านเท่ากับ $\frac{d}{\sqrt[2]{k}}$ แต่ละเซลล์มีสองชั้นล้อมรอบ

ชั้นแรกหนาหนึ่งเซลล์ ในขณะที่ชั้นที่สองหนา $\sqrt[2]{k}$ เซลล์ โดยปัดขึ้นเป็นจำนวนเต็มที่ใกล้เคียงที่สุด อัลกอริทึมจะนับค่าผิดปกติแบบเซลล์ต่อเซลล์แทนที่จะเป็นแบบออบเจ็กต์ต่อออบเจ็กต์ สำหรับเซลล์หนึ่งๆ เซลล์จะนับรวมสามค่า รวมถึงจำนวนออบเจ็กต์ในเซลล์ ในเซลล์และเลเยอร์แรกรวมกัน และในเซลล์และเลเยอร์ทั้งสองเข้าด้วยกัน