Tìm kiếm gói tốt để phát hiện bất thường trong chuỗi thời gian


15

Có một gói nguồn mở toàn diện (tốt nhất là bằng python hoặc R) có thể được sử dụng để phát hiện sự bất thường trong chuỗi thời gian không?

Có một gói SVM một lớp trong scikit-learn nhưng nó không dành cho dữ liệu chuỗi thời gian. Tôi đang tìm kiếm các gói tinh vi hơn, ví dụ, sử dụng các mạng Bayes để phát hiện sự bất thường.


chúng ta cần viết một, anh bạn !! : P
Arpit Sisodia

Câu trả lời:


18

Tôi biết tôi đến hơi muộn ở đây, nhưng vâng, có một gói để phát hiện sự bất thường cùng với các khung kết hợp ngoại lệ.

Nó vẫn đang trong giai đoạn đầu phát triển trên github và sẽ sớm được xuất bản trên JMLR.

Gói trong ngôn ngữ python và tên của gói là pyod ( https://github.com/yzhao062/Pyod ).

Nó có nhiều thuật toán để theo các phương pháp riêng lẻ:

  1. Mô hình tuyến tính để phát hiện ngoại lệ ( PCA, vMCD, vOne-Class và SVM )
  2. Các mô hình phát hiện ngoại lệ dựa trên tiệm cận ( LOF, CBLOF, HBOS, KNN, AverageKNN và MedianKNN )
  3. Các mô hình xác suất để phát hiện ngoại lệ ( ABOD và FastABOD )
  4. Các khung kết hợp và kết hợp ngoại lệ ( IsolationForest và FeatureBagging )
  5. Mạng nơ-ron và mô hình học tập sâu ( Bộ mã hóa tự động với Mạng thần kinh được kết nối đầy đủ )

Cuối cùng, nếu bạn đang tìm kiếm cụ thể cho chuỗi thời gian mỗi se, thì liên kết github này sẽ hữu ích.

Nó có các gói danh sách sau đây để phát hiện ngoại lệ theo thời gian:

kho dữ liệu

đường chân trời

banpei

Phát hiện bất thường


bất kỳ cách để làm việc trên bối cảnh bất thường dựa trên bối cảnh?
Arpit Sisodia

bạn đang nói về phát hiện bất thường hoặc phát hiện ngoại lệ? Có một sự khác biệt.
Arpit Sisodia

6

Có nhiều cách để xử lý các bất thường chuỗi thời gian-

1) Nếu bất thường được biết đến , xây dựng một mô hình phân loại. Sử dụng mô hình này để phát hiện cùng loại bất thường cho dữ liệu chuỗi thời gian.

2) Nếu những bất thường không rõ , những gì chúng tôi đã làm trong tổ chức của chúng tôi - là sự kết hợp của phân cụm và phân loại-

Đầu tiên sử dụng LOF / K-nghĩa / Khoảng cách của Cook để xác định các ngoại lệ. Chuyển đổi toàn bộ dữ liệu thành vấn đề phân loại vì hiện tại chúng tôi đã có 2 lớp - Ngoại lệ và quy tắc. Bây giờ xây dựng một mô hình phân loại và nhận các quy tắc (mô hình phân loại) để xác định sự bất thường trong thời gian chạy (dữ liệu chuỗi thời gian).

3) Nếu không rõ các bất thường , trong quá trình nghiên cứu của tôi, cách phổ biến nhất để xác định các bất thường là xây dựng một mô hình bình thường và bất kỳ sai lệch nào so với mô hình bình thường (lỗi) là bất thường, vì vậy trong trường hợp bạn dự báo chuỗi thời gian của mình cho giờ tiếp theo với các giá trị thực tế. Nếu lỗi nhiều hơn mong đợi, một cái gì đó bất thường đang xảy ra.

Tôi không thể tìm thấy bất kỳ gói trực tiếp nào trong python hoặc R để làm như vậy, vì không ai biết điều gì thực sự bất thường: P, trong tất cả các trường hợp, nó có liên quan đến phát hiện ngoại lệ.

một số liên kết hữu ích-

https://machinelearningstories.blogspot.com/2018/12/easiest-way-of-detection-abnormality.html

https://machinelearningstories.blogspot.com/2018/07/anomaly-detection-anomaly-detection-by.html


2

Hãy thử thư viện tiên tri

Prophet là một thủ tục dự báo dữ liệu chuỗi thời gian dựa trên mô hình phụ gia trong đó các xu hướng phi tuyến tính phù hợp với tính thời vụ hàng năm, hàng tuần và hàng ngày, cộng với các hiệu ứng ngày lễ. Nó hoạt động tốt nhất với chuỗi thời gian có hiệu ứng theo mùa mạnh mẽ và nhiều mùa dữ liệu lịch sử. Prophet rất mạnh mẽ khi thiếu dữ liệu và thay đổi xu hướng, và thường xử lý tốt các ngoại lệ.

Xem thêm tại: Phát hiện bất thường trong chuỗi thời gian với thư viện Tiên tri

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.