Phát hiện bất thường trên chuỗi thời gian


8

Tôi là người mới bắt đầu sử dụng máy học (tôi đã hoàn thành khóa học của Ng), tôi đang sử dụng scikit-learn trong python. Tôi muốn tìm cách tốt nhất để phát hiện sự bất thường trong hệ thống của chúng tôi.

Chúng tôi có các sự kiện đang diễn ra theo lịch trình (cứ sau vài phút / giờ) và tôi muốn phát hiện khi có điều gì đó bất thường xảy ra. Dữ liệu ví dụ:

ID | epoch-time | duration (Sec) | status | is_manual

0400 | 1488801454  | 500 | completed | 1

0401 | 1488805055  | 500 | completed | 1

0402 |  1488812254  | 40000 | failed | 1

6831 | 1488805050  | 200 | failed | 0

.

... (Millions of examples)

.

0014 |  1488805055 | 1200 | completed | 0

vì vậy, ví dụ ID sự kiện 0400 xảy ra mỗi giờ một lần. Tôi muốn nói khi nó không chạy.

Những gì tôi dự định làm là cung cấp cho thuật toán tất cả các sự kiện trong 10 phút qua.

Câu hỏi chính: Làm thế nào để điều trị cột ID? Cách tiếp cận tốt nhất tôi nên làm là gì?


Là bất thường giống như một ngoại lệ? Trong thống kê, chúng tôi sử dụng thuật ngữ ngoại lệ trong khi trong khoa học vũ trụ họ gọi đó là sự bất thường.
Michael R. Chernick

Sự khác biệt giữa người ngoài cuộc và người dị thường: stats.stackexchange.com/questions/189664/ mẹo
XOmri

Bạn có thể nói rõ hơn một chút về sự kiện trong trường hợp này là gì không? Có bao nhiêu sự kiện độc đáo đại khái trong dữ liệu của bạn? Ngoài ra, bạn đã đưa ra một ví dụ trong đó hành vi 'bất thường' là sự kiện không thành công. Có trường hợp nào khác mà bạn thấy là bất thường không?
deemel

@Rickyfox Theo sự kiện tôi có nghĩa là một hàng, hoặc đầu vào. Việc sử dụng cùng một ID cho các sự kiện khác nhau là sai và tôi đã sửa nó trong câu hỏi. Bất thường sẽ là trường hợp một sự kiện không phù hợp với các sự kiện trước đó tương quan dựa trên thời gian. Ví dụ: Nếu cứ sau 30 giây, một sự kiện xảy ra với cùng một tham số (thời lượng: 500, hoàn thành, 1), thì nếu không có sự kiện nào sau 30 giây, điều đó là bất thường. Hoặc nếu nó thất bại và không hoàn thành: Nó cũng là một sự bất thường.
XOmri

Tôi không thấy bạn cần ML ở đây như thế nào. Có vẻ như một truy vấn có điều kiện đơn giản sẽ hoạt động tốt
Aksakal

Câu trả lời:


1

Tôi thấy bài viết này rất hữu ích trong trường hợp của tôi:

https://mapr.com/blog/deep-learning-tensorflow/

Sử dụng cấu trúc RNN cơ bản này, tôi có thể dự đoán kết quả của dấu thời gian tiếp theo. Bằng cách căn giữa tất cả các sự kiện đến phút gần nhất, mạng có thể nhận ra mô hình tương quan trong dòng thời gian.


-4

Có một số cách mà bạn có thể giải quyết điều này. Trước khi nhảy vào thiết kế bất kỳ mô hình nào chuẩn hóa dữ liệu của bạn. Dữ liệu của bạn dường như không được gắn nhãn, vì vậy, ban đầu, những gì bạn có thể làm là thực hiện trực quan hóa t-SNE trên đó sẽ cung cấp cho bạn nhiều thông tin chi tiết về dữ liệu của bạn. Dựa trên kết quả của nó, bạn có thể phát triển các mô hình hợp lý hơn có thể nhóm các mẫu thành các mô hình bình thường và dị thường. Thêm thông tin về t-SNE tại đây


2
Chào mừng bạn đến với số liệu thống kê. Các trung tâm trợ giúp có một số thông tin hữu ích về việc hỏi / trả lời câu hỏi. Câu trả lời chi tiết có xu hướng tốt nhất. Bạn có thể xây dựng thêm một chút? Ví dụ: t-SNE sẽ được sử dụng như thế nào với dữ liệu chuỗi thời gian và các đầu vào 'id' riêng biệt và làm thế nào để sử dụng nó để giúp thiết kế hệ thống phát hiện bất thường?
dùng20160

Tôi đang xem xét trực quan hóa dữ liệu với t-SNE theo đề xuất của bạn, nhưng tôi không chắc mình sẽ đi được bao xa với nó. Chúng tôi có thêm một số tính năng để thêm mà tôi không đề cập, tôi sẽ chỉnh sửa và thêm vào bài viết. Tôi vẫn không thể biết phải làm gì khi tôi làm việc trực quan hóa
XOmri

Hơn nữa, t-SNE phụ thuộc rất nhiều vào siêu âm và không bảo toàn khoảng cách, vậy chính xác thì bạn sẽ tìm thấy các ngoại lệ dựa trên nó như thế nào ..? Vâng, nó sẽ cho phép bạn tìm thấy những điểm lạ, nhưng đây sẽ là hái anh đào.
Tim
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.