Đây là một công thức đơn giản có thể giúp bạn bắt đầu viết mã và thử nghiệm ý tưởng ...
Giả sử bạn có dữ liệu hàng tháng được ghi lại trong nhiều năm, do đó bạn có 36 giá trị. Chúng ta cũng giả sử rằng bạn chỉ quan tâm đến việc dự đoán trước một tháng (giá trị).
- Phân tích dữ liệu thăm dò: Áp dụng một số phương pháp phân tích chuỗi thời gian truyền thống để ước tính sự phụ thuộc độ trễ trong dữ liệu (ví dụ: ô tương quan tự động và ô tương quan một phần, biến đổi, khác biệt). Giả sử bạn thấy giá trị của một tháng nhất định tương quan với dữ liệu của ba tháng trước nhưng không vượt quá mức đó.
- Phân vùng dữ liệu của bạn thành các bộ đào tạo và xác thực: Lấy 24 điểm đầu tiên làm giá trị đào tạo của bạn và các điểm còn lại làm bộ xác thực.
- Tạo bố cục mạng thần kinh: Bạn sẽ lấy các giá trị của ba tháng trước làm đầu vào và bạn muốn dự đoán giá trị của tháng tiếp theo. Vì vậy, bạn cần một mạng thần kinh với một lớp đầu vào chứa ba nút và một lớp đầu ra chứa một nút. Bạn có thể nên có một lớp ẩn với ít nhất một vài nút. Thật không may, chọn số lớp ẩn và số nút tương ứng của chúng, không phải là thứ có hướng dẫn rõ ràng. Tôi sẽ bắt đầu nhỏ, như 3: 2: 1.
x1, x2Giáo dục , x24
p a t t e r n 1 : x1, x2, x3, x4
p a t t e r n 2 : x2, x3, x4, x5
Giáo dục
p a t t e r n 21 : x21, x22, x23, x24
- Huấn luyện mạng lưới thần kinh trên các mẫu này
- Kiểm tra mạng trên bộ xác thực (tháng 25-36): Tại đây bạn sẽ chuyển qua ba giá trị mà mạng thần kinh cần cho lớp đầu vào và xem nút đầu ra được đặt thành gì. Vì vậy, để xem mạng lưới thần kinh được đào tạo có thể dự đoán giá trị của tháng 32 như thế nào, bạn sẽ vượt qua các giá trị trong các tháng 29, 30 và 31
Công thức này rõ ràng là cấp độ cao và ban đầu bạn có thể gãi đầu khi cố gắng ánh xạ bối cảnh của mình vào các thư viện / chương trình phần mềm khác nhau. Nhưng, hy vọng điều này phác họa ra điểm chính: bạn cần tạo các mô hình đào tạo có chứa cấu trúc tương quan của chuỗi bạn đang cố gắng dự báo một cách hợp lý. Và cho dù bạn thực hiện dự báo với mạng thần kinh hay mô hình ARIMA, công việc thăm dò để xác định cấu trúc đó thường là phần tốn thời gian và khó khăn nhất.
Theo kinh nghiệm của tôi, mạng lưới thần kinh có thể cung cấp chức năng phân loại và dự báo tuyệt vời nhưng việc thiết lập chúng có thể tốn thời gian. Trong ví dụ trên, bạn có thể thấy rằng 21 mẫu đào tạo là không đủ; chuyển đổi dữ liệu đầu vào khác nhau dẫn đến dự báo tốt hơn / xấu hơn; thay đổi số lượng các lớp ẩn và các nút lớp ẩn ảnh hưởng lớn đến dự báo; Vân vân.
Tôi đặc biệt khuyên bạn nên xem trang web neural_forecasting , nơi chứa hàng tấn thông tin về các cuộc thi dự báo mạng thần kinh. Các Động cơ trang đặc biệt hữu ích.