Phát hiện khí thải tiêu thụ ngoại lệ - Dự án mạng lưới thần kinh. Kết quả xấu


10

Tôi đã cố gắng phát hiện các ngoại lệ trong mức tiêu thụ khí năng lượng của một số tòa nhà Hà Lan, xây dựng mô hình mạng lưới thần kinh. Tôi có kết quả rất tệ, nhưng tôi không thể tìm thấy lý do.

Tôi không phải là một chuyên gia vì vậy tôi muốn hỏi bạn những gì tôi có thể cải thiện và những gì tôi đang làm sai. Đây là mô tả đầy đủ: https://github.com/denadai2/Gas-conscharge-outliers .

Mạng thần kinh là Mạng FeedFoward với Tuyên truyền ngược. Như được mô tả ở đây, tôi đã tách tập dữ liệu trong bộ dữ liệu "nhỏ" gồm 41.000 hàng, 9 tính năng và tôi đã cố gắng thêm nhiều tính năng hơn.

Tôi đã đào tạo các mạng nhưng kết quả có 14,14 RMSE, vì vậy nó không thể dự đoán tốt các giả định khí đốt, liên tiếp tôi không thể chạy một cơ chế phát hiện ngoại lệ tốt. Tôi thấy rằng trong một số bài báo rằng ngay cả khi họ dự đoán mức tiêu thụ hàng ngày hoặc hàng giờ trong năng lượng điện, họ có các lỗi như MSE = 0,01.

Tôi có thể cải thiện điều gì? Tôi đang làm gì sai? Bạn có thể có một cái nhìn mô tả của tôi?


2
Ý bạn là gì, kết quả xấu? Mô tả quy trình của bạn, kết quả của bạn và cách chúng khác với những gì bạn mong đợi, thay vì chỉ liên kết với kho git. Nếu không, cuộc thảo luận này sẽ không có ích cho bất cứ ai.
Không khí

Điều này cũng đúng: D. Tôi đã thêm mô tả trong trang "Kết quả có 14,14 RMSE, vì vậy nó không thể dự đoán tốt các giả định khí đốt, liên tiếp Tôi không thể chạy một cơ chế phát hiện ngoại lệ tốt. Tôi thấy rằng trong một số bài báo ngay cả khi họ dự đoán tiêu thụ hàng ngày hoặc hàng giờ trong năng lượng điện, họ có lỗi như MSE = 0,01. "
marcodena

1
@marcodena Đây là trang web QA và những người khác cần biết bạn đang cố gắng giải quyết vấn đề gì để họ hiểu câu trả lời và hy vọng có thể sử dụng chúng trong các vấn đề của riêng họ. Đó là ý nghĩa của AirThomas, và cũng là lý do tại sao sẽ tốt hơn nếu bạn có thể mô tả những gì bạn đang làm và chính xác những gì bạn nghĩ là sai. Nếu liên kết đến trang git-hub của bạn thay đổi, liên kết ở đây sẽ không hợp lệ và những người khác sẽ không thể hiểu vấn đề là gì. Xin vui lòng, dành một phút để làm cho câu hỏi của bạn khép kín. Cảm ơn.
Rubens

1
Khi bạn thấy rằng vấn đề của bạn mất rất nhiều thời gian để giải thích, đó là khi điều quan trọng nhất là dành thời gian để giải thích câu hỏi của bạn cho người khác, một cách rõ ràng và với nhiều chi tiết và thảo luận về nghiên cứu / nỗ lực của bạn. Thông thường trong quá trình đó, bạn sẽ tìm thấy một số hoặc tất cả các câu trả lời cho mình. Không chỉ là một cảm giác tuyệt vời, nếu những gì bạn thấy hữu ích cho người khác, bạn vẫn có thể đăng câu hỏi mà bạn dành quá nhiều thời gian câu trả lời bạn đã đưa ra.
Không khí

1
Chỉ cần làm rõ, khi bạn đề cập rằng "trong một số bài báo họ có lỗi như MSE = 0,01", bạn có đề cập đến cùng một bộ dữ liệu bạn đang sử dụng không? Hoặc nó là một bộ dữ liệu khác nhau hoàn toàn?
bảo mật

Câu trả lời:


8

Chỉ là một ý tưởng - dữ liệu của bạn mang tính thời vụ cao: chu kỳ hàng ngày và hàng tuần khá dễ nhận biết. Vì vậy, trước hết, hãy cố gắng phân hủy các biến của bạn (tiêu thụ khí và điện, nhiệt độ và bức xạ mặt trời). Đây là một hướng dẫn tốt về phân tách chuỗi thời gian cho R.

Sau khi có được xu hướng và các thành phần theo mùa, phần thú vị nhất bắt đầu. Đó chỉ là một giả định, nhưng tôi nghĩ, các biến tiêu thụ điện và khí sẽ hoàn toàn có thể dự đoán được bằng phương pháp phân tích chuỗi thời gian (ví dụ, mô hình ARIMA ). Theo quan điểm của tôi, phần thoát ra nhiều nhất ở đây là cố gắng dự đoán dư lượng sau khi phân hủy, sử dụng dữ liệu có sẵn (dị thường nhiệt độ, bức xạ mặt trời, tốc độ gió). Tôi cho rằng, những phần dư này sẽ là ngoại lệ, bạn đang tìm kiếm. Hy vọng, bạn sẽ tìm thấy điều này hữu ích.


3

Trong sổ ghi chép đào tạo của bạn, bạn trình bày kết quả để đào tạo với 20 kỷ nguyên. Bạn đã thử thay đổi tham số đó, để xem nó có ảnh hưởng đến hiệu suất của bạn không? Đây là một tham số quan trọng cho lan truyền ngược.

Để ước tính các tham số mô hình của bạn, như người dùng tomaskazemekas đã chỉ ra, vẽ đồ thị Learning Curves là một cách tiếp cận rất tốt. Ngoài ra, bạn cũng có thể tạo một âm mưu bằng cách sử dụng tham số mô hình (ví dụ: epoch đào tạo hoặc kích thước lớp ẩn) so với lỗi Đào tạo và Xác thực. Điều này sẽ cho phép bạn hiểu sự đánh đổi sai lệch / sai lệch và giúp bạn chọn một giá trị tốt cho các tham số của mình. Một số thông tin có thể được tìm thấy ở đây . Đương nhiên, nên giữ một tỷ lệ nhỏ dữ liệu của bạn cho bộ Thử nghiệm (thứ ba).

Là một lưu ý phụ, có vẻ như việc tăng số lượng tế bào thần kinh trong mô hình của bạn cho thấy không có sự cải thiện đáng kể nào cho RMSE của bạn. Điều này cho thấy rằng bạn cũng có thể thử với một mô hình đơn giản hơn, tức là có ít nơ-ron hơn và xem mô hình của bạn hoạt động như thế nào.

Trên thực tế, tôi sẽ đề nghị (nếu bạn chưa thực hiện) thử một mô hình đơn giản với một vài hoặc không có tham số nào trước tiên, ví dụ Hồi quy tuyến tính và so sánh kết quả của bạn với tài liệu, giống như kiểm tra độ tỉnh táo.


Tôi đã thêm một số biểu đồ, sau khi đã cải thiện mô hình A RẤT. Trong github có các bước mới. Tôi có thể hỏi bạn làm thế nào tôi có thể áp dụng hồi quy tuyến tính trong bài toán chuỗi thời gian không? :(
marcodena

2

Vấn đề chính ở đây là ngay cả trước khi thử áp dụng thuật toán phát hiện dị thường, bạn vẫn không nhận được dự đoán đủ tốt về mức tiêu thụ khí khi sử dụng mạng thần kinh.

Nếu mục tiêu chính ở đây là đạt đến giai đoạn khi các thuật toán phát hiện bất thường có thể được sử dụng và bạn nói rằng bạn có quyền truy cập vào các ví dụ về ứng dụng hồi quy tuyến tính thành công cho vấn đề này, phương pháp này có thể hiệu quả hơn. Một trong những nguyên tắc của ứng dụng học máy thành công là một số thuật toán khác nhau có thể được thử trước khi lựa chọn cuối cùng dựa trên kết quả.

Bạn chọn điều chỉnh hiệu suất mạng thần kinh của mình, học đường biểu đồ hiệu ứng thay đổi của các siêu đường kính khác nhau trên tỷ lệ lỗi có thể được sử dụng. Siêu đường kính có thể được sửa đổi là:

  • số lượng tính năng
  • thứ tự của đa thức
  • tham số chính quy
  • số lớp trong mạng

Cài đặt tốt nhất có thể được chọn bởi hiệu suất trên bộ xác thực chéo.


Tôi đã thêm một số biểu đồ và bạn cũng có thể kiểm tra các tham số ngay bây giờ :)
marcodena

2

Trong sổ ghi chép của bạn, tôi không thấy mô hình mạng thần kinh của bạn, bạn có thể chỉ ra thư viện nào đang sử dụng, bạn có bao nhiêu lớp và loại mạng thần kinh nào bạn đang sử dụng không?

Trong sổ ghi chép của bạn, có vẻ như bạn đang sử dụng tập dữ liệu ồn ào và ngoại lệ để huấn luyện mạng thần kinh, tôi nghĩ bạn nên huấn luyện mạng thần kinh trên tập dữ liệu mà bạn không có bất kỳ ngoại lệ nào để bạn có thể thấy khoảng cách quan sát từ dự đoán của mạng lưới thần kinh để ghi nhãn quan sát hoặc ngoại lệ hoặc không.

Tôi viết vài trong những thứ trên phát hiện outlier trong tín hiệu chuỗi thời gian, dữ liệu của bạn là rất cao theo mùa như sobach đề cập và bạn có thể sử dụng FFT (liên kết đầu tiên ở trên) để có được xu hướng chung trong tín hiệu. Sau khi bạn có được thành phần tần số trong mức tiêu thụ khí, bạn có thể nhìn vào các thành phần tần số cao để có được các ngoại lệ.

Ngoài ra nếu bạn muốn nhấn mạnh vào việc sử dụng mạng thần kinh cho dữ liệu theo mùa, bạn có thể muốn kiểm tra mạng thần kinh tái phát vì chúng có thể kết hợp các quan sát trong quá khứ tốt hơn mạng thần kinh vanilla và được cho là có thể mang lại kết quả tốt hơn cho dữ liệu mà bạn có .


Tôi đã thử phương pháp FFT của bạn nhưng tôi thực sự không biết cách đặt ngưỡng tần số và biên độ với dữ liệu của mình. Tôi sẽ tiếp tục tìm kiếm, nhưng nếu bạn có thể giúp tôi ...
marcodena

Tôi cũng đã thêm các nguồn
marcodena
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.