Tôi quen thuộc với xác thực chéo "thông thường", nhưng bây giờ tôi muốn đưa ra dự đoán về thời gian trong khi sử dụng xác thực chéo với chức năng hồi quy tuyến tính đơn giản. Tôi viết ra một ví dụ đơn giản, để giúp làm rõ hai câu hỏi của tôi: một về phân tách kiểm tra / thử nghiệm, một câu hỏi về cách đào tạo / kiểm tra cho các mô hình khi mục đích là dự đoán cho n khác nhau, với n các bước dự đoán, trong nâng cao.
(1) Dữ liệu
Giả sử tôi có dữ liệu cho các mốc thời gian 1, ..., 10 như sau:
timeseries = [0.5,0.3,10,4,5,6,1,0.4,0.1,0.9]
(2) Chuyển đổi dữ liệu thành định dạng hữu ích cho việc học có giám sát
Theo tôi hiểu, chúng ta có thể sử dụng "độ trễ", tức là thay đổi dữ liệu để tạo ra một bộ dữ liệu phù hợp cho việc học có giám sát:
input = [NaN,0.5,0.3,10,4,5,6,1,0.4,0.1]
output/response = [0.5,0.3,10,4,5,6,1,0.4,0.1,0.9]
Ở đây tôi chỉ đơn giản là thay đổi thời gian một lần để tạo ra vector đầu ra. Theo như tôi hiểu, bây giờ tôi có thể sử dụng đầu vào làm đầu vào cho mô hình hồi quy tuyến tính và đầu ra cho phản hồi (NaN có thể được xấp xỉ thay thế bằng một giá trị ngẫu nhiên).
(3) Câu 1: Xác thực chéo ("backtesting")
Nói rằng tôi muốn thực hiện chia 2 lần, tôi có phải chuyển tàu cũng như các bộ thử nghiệm không?
Tức là một cái gì đó như:
Tập xe lửa:
Biến độc lập: [NaN, 0,5,0.3,10,4,5]
Biến đầu ra / phản hồi: [0,5,0.3,10,4,5,6]
Tập kiểm tra:
Biến độc lập: [1,0.4,0.1]
Biến đầu ra / phản hồi: [0.4,0.1,0.9]
(ii) Câu 2: Dự đoán độ trễ khác nhau trước :
Rõ ràng, tôi đã thay đổi phụ thuộc vào các biến độc lập bằng 1. Giả sử bây giờ tôi muốn đào tạo một mô hình có thể dự đoán trước 5 bước thời gian - tôi có thể giữ độ trễ này của một, và tuy nhiên sử dụng mô hình để dự đoán n + 1 , ..., n + 5, ... hoặc tôi có thay đổi sự thay đổi từ biến độc lập sang biến phụ thuộc thành 5 không? Chính xác thì sự khác biệt là gì?