Bối cảnh vấn đề: Tôi đang làm việc trên một dự án liên quan đến các tệp nhật ký tương tự như các tệp được tìm thấy trong không gian giám sát CNTT (theo hiểu biết tốt nhất của tôi về không gian CNTT). Các tệp nhật ký này là dữ liệu chuỗi thời gian, được tổ chức thành hàng trăm / nghìn hàng các tham số khác nhau. Mỗi tham số là số (float) và có một giá trị không tầm thường / không lỗi cho mỗi điểm thời gian. Nhiệm vụ của tôi là theo dõi các tệp nhật ký cho biết để phát hiện sự bất thường (gai, ngã, các mẫu bất thường với một số tham số không đồng bộ, hành vi phái sinh lạ 1/2 / v.v., v.v.).
Trong một nhiệm vụ tương tự, tôi đã thử Splunk với Prelert, nhưng hiện tại tôi đang khám phá các tùy chọn nguồn mở.
Các ràng buộc: Tôi tự giới hạn mình với Python vì tôi biết rõ về nó và muốn trì hoãn việc chuyển sang R và đường cong học tập liên quan. Trừ khi có sự hỗ trợ quá lớn cho R (hoặc các ngôn ngữ / phần mềm khác), tôi muốn bám sát Python cho nhiệm vụ này.
Ngoài ra, hiện tại tôi đang làm việc trong môi trường Windows. Tôi muốn tiếp tục hộp cát trong Windows trên các tệp nhật ký có kích thước nhỏ nhưng có thể chuyển sang môi trường Linux nếu cần.
Tài nguyên: Tôi đã kiểm tra các mục sau với kết quả cuối cùng:
Python hoặc R để thực hiện các thuật toán học máy để phát hiện gian lận . Một số thông tin ở đây rất hữu ích, nhưng thật không may, tôi đang vật lộn để tìm gói phù hợp vì:
"AnomalyDetection" của Twitter nằm trong R và tôi muốn bám lấy Python. Hơn nữa, tính đặc thù của cổng Python dường như gây ra sự cố khi triển khai trong môi trường Windows đối với tôi.
Skyline, nỗ lực tiếp theo của tôi, dường như đã bị ngừng lại khá nhiều (từ các vấn đề về github ). Tôi đã không đi sâu vào vấn đề này, vì có rất ít sự hỗ trợ dường như trực tuyến.
scikit-learn Tôi vẫn đang khám phá, nhưng điều này có vẻ thủ công hơn nhiều. Cách tiếp cận thực tế là ổn đối với tôi, nhưng nền tảng về công cụ học tập của tôi còn yếu, vì vậy tôi muốn một cái gì đó giống như hộp đen cho các khía cạnh kỹ thuật như thuật toán, tương tự như Splunk + Prelert.
Định nghĩa vấn đề và câu hỏi: Tôi đang tìm kiếm phần mềm nguồn mở có thể giúp tôi tự động hóa quá trình phát hiện bất thường từ các tệp nhật ký chuỗi thời gian trong Python thông qua các gói hoặc thư viện.
- Làm những điều như vậy tồn tại để hỗ trợ với nhiệm vụ trước mắt của tôi, hoặc chúng là tưởng tượng trong tâm trí của tôi?
- Bất cứ ai cũng có thể hỗ trợ các bước cụ thể để giúp tôi đạt được mục tiêu của mình, bao gồm các nguyên tắc cơ bản hoặc khái niệm cơ bản?
- Đây có phải là cộng đồng StackExchange tốt nhất để hỏi, hoặc là Thống kê, Toán học, hoặc thậm chí Bảo mật hoặc Stackoverflow là các tùy chọn tốt hơn?
EDIT [2015-07-23] Lưu ý rằng bản cập nhật mới nhất cho tính đa dạng dường như đã được sửa cho môi trường Windows! Tôi vẫn chưa xác nhận, nhưng sẽ là một công cụ hữu ích khác cho cộng đồng.
EDIT [2016-01-19] Một bản cập nhật nhỏ. Tôi không có thời gian để nghiên cứu về vấn đề này và nghiên cứu, nhưng tôi đang lùi một bước để hiểu các nguyên tắc cơ bản của vấn đề này trước khi tiếp tục nghiên cứu chi tiết cụ thể. Ví dụ: hai bước cụ thể mà tôi đang thực hiện là:
Bắt đầu với các bài viết Wikipedia để phát hiện sự bất thường [ https://en.wikipedia.org/wiki/Anomaly_detection ], hiểu đầy đủ và sau đó di chuyển lên hoặc xuống trong hệ thống phân cấp khái niệm của các bài viết Wikipedia được liên kết khác, chẳng hạn như [ https: // vi.wikipedia.org/wiki/K-gầnest_neighbor_alacticm ], sau đó đến [ https://en.wikipedia.org/wiki/Machine_learning ].
Khám phá các kỹ thuật trong các cuộc khảo sát tuyệt vời được thực hiện bởi Chandola et al 2009 "Phát hiện bất thường: Khảo sát" [ http://www-users.cs.umn.edu/~banerjee/ con / 09 / anomaly.pdf ] và Hodge et al 2004 "Khảo sát các phương pháp phát hiện ngoại lệ" [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ].
Khi các khái niệm được hiểu rõ hơn (tôi hy vọng sẽ chơi xung quanh với các ví dụ về đồ chơi khi tôi phát triển khía cạnh thực tế), tôi hy vọng hiểu được công cụ Python nguồn mở nào phù hợp hơn cho các vấn đề của tôi.