35. Các kỹ thuật tránh hiện tượng quá khớp

Đăng lúc 1683736240,548511

Hiện tượng quá khớp là gì

Trong thống kê, hiện tượng quá khớp là kết quả của phép phân tích quá chính xác trên một tập dữ liệu cụ thể, qua đó thất bại khi so khớp với tập dữ liệu khác hoặc dự đoán tương lai. Hiện tượng quá khớp xảy ra khi phần nhiều biến động thặng dư (residual variation) của biến vô tình được giải thích bằng một mẫu hình phức tạp hơn cần thiết, trong khi phần biến động đó nên được cho là do sự nhiễu ngẫu nhiên. Bởi vì mẫu hình phức tạp này đã bị ảnh hưởng lớn bởi các yếu tố ngẫu nhiên, nó thường không đúng trong tương lai.

Cụ thể, đối với giao dịch thuật toán, hiện tượng quá khớp xảy ra vì một thuật toán tinh chỉnh sử dụng các luật và giá trị tham số làm tăng hiệu suất giai đoạn kiểm thử trong mẫu chỉ do ngẫu nhiên. Sự ngẫu nhiên đó khó lặp lại trong tương lai khiến các luật và giá trị tham số này không còn đúng nữa.

Hình 11 mô tả một mẫu hình quá khớp dữ liệu trong mẫu (đường cong bậc 3) trong một bài toán hồi quy.

 

Ví dụ, trong giao dịch thuật toán, giả sử ta có nhiều phiên bản khác nhau của cùng một thuật toán, mỗi phiên bản có hiệu suất trên tập dữ liệu trong mẫu tốt hơn khi so sánh với hiệu suất của các phiên bản trước vì được thêm vào luật mới. Ta có thể thấy, các phiên bản cao hơn sẽ phức tạp hơn so với các phiên bản thấp. Hiệu suất của những phiên bản này được tổng hợp trong bảng 03. Theo đó, phiên bản 01 và 02 của thuật toán vẫn vận hành tốt với lợi nhuận khả quan trên tập dữ liệu ngoài mẫu mặc dù có khác biệt về hiệu suất so với tập dữ liệu trong mẫu nhưng chấp nhận được. Trong khi đó, luật mới được thêm vào phiên bản 01 làm tăng hiệu suất tập dữ liệu trong mẫu nhưng giảm phần lớn hiệu suất trong tập dữ liệu ngoài mẫu khi so sánh với hiệu suất của phiên bản 02. Trong trường hợp này, ta có thể nói phiên bản 03 đã bị quá khớp. Và phiên bản 01 là chưa khớp bởi vì còn có thể được cải thiện bằng cách thêm luật để tạo ra phiên bản 02 với hiệu suất tốt hơn trên cả hai tập dữ liệu ngoài mẫu và trong mẫu.

Các kỹ thuật tránh hiện tượng quá khớp

Sau đây là 05 kỹ thuật để tránh quá khớp dữ liệu. Cần chú ý rằng các kỹ thuật dưới đây chỉ giúp loại bỏ các quá khớp dễ thấy chứ không thể loại bỏ các trường hợp quá khớp khó phát hiện. Để loại bỏ các trường hợp quá khớp khó phát hiện ta cần dùng thêm quá trình kiểm định thuật toán sau tối ưu hóa.

Hiểu tại sao một luật đúng

Khi tìm được một luật tạo ra lợi nhuận trong quá khứ, điều quan trọng là cần giải thích tại sao luật đó tạo ra được lợi nhuận như vậy dựa trên lý thuyết tài chính hoặc hành vi con người, chứ không thể hy vọng quá khứ sẽ lặp lại trong tương lai. Chính lý do tại sao đó khiến luật này có giá trị. Biết được lý do, kết hợp với kiến thức tài chính và tình hình thị trường, có thể lý giải và đánh giá đúng hiệu suất của thuật toán khi giám sát hệ thống giao dịch vận hành. Nhờ vậy nhà giao dịch thuật toán có thể dự đoán sự bất hợp lý hoặc thời điểm lý do này không còn đúng, kịp thời dừng hệ thống hoặc thay đổi thuật toán trước khi thảm họa xảy ra.

Chia dữ liệu trong mẫu thành hai tập dữ liệu huấn luyện và dữ liệu hiệu chỉnh 

Ta chỉ dùng dữ liệu huấn luyện để tối ưu hiệu suất thuật toán. Tập dữ liệu hiệu chỉnh là để chọn một phiên bản thuật toán trên đường tối ưu với mức độ vừa phải sao cho hiệu suất cao tương đồng trên cả hai tập dữ liệu (hình 12).

Ý tưởng đằng sau kỹ thuật này là, sự ngẫu nhiên trong tập huấn luyện và hiệu chỉnh tuy khác nhau nhưng hai tập dữ liệu có chung một mẫu hình ẩn. Vì vậy, nếu một mẫu hình gồm quá nhiều ngẫu nhiên chỉ xảy ra trên tập huấn luyện, sẽ có hiệu suất rất thấp trong tập hiệu chỉnh vì phần ngẫu nhiên đó không xuất hiện trong tập hiệu chỉnh. Tuy nhiên, nếu thuật toán có hiệu suất cao trên cả hai tập dữ liệu, thì khả năng cao đã xấp xỉ được mẫu hình ẩn đúng, đồng nghĩa với việc đã xác định đúng luật và giá trị tham số.

Xem lại bảng 03, nếu dùng dữ liệu ngoài mẫu là tập hiệu chỉnh và dữ liệu trong mẫu là tập huấn luyện, thì ta có thể chọn phiên bản 02 là phiên bản với lượng tối ưu vừa phải.

Chọn một thuật toán sơ khởi đơn giản để bắt đầu

Khi một chuyên gia đề xuất một thuật toán sơ khởi để thử nghiệm trên thị trường mục tiêu, sẽ có một tập hợp nhiều phiên bản của thuật toán này có thể áp dụng. Những phiên bản này cốt lõi là thuật toán sơ khởi nhưng có các luật tăng cường và giá trị tham số khác nhau. Trong quá trình tối ưu hóa, tập hợp những phiên bản này được kiểm thử để tìm kiếm phiên bản khả dĩ nhất có thể vận hành tốt nhất trên thị trường thật. Nếu thuật toán sơ khởi đơn giản thì những phiên bản này có ít khả năng giải thích quá nhiều biến động, vì vậy sẽ khó quá khớp tập huấn luyện hơn.

Xem lại hình 1, ta thấy mô hình tuyến tính y = 0.5x + 1.5 đơn giản hơn mô hình đa thức bậc ba y = x3+(x+0.3)2-x+1. Và thường thì các mẫu hình ẩn trong đời thật đơn giản hơn chúng ta nghĩ.

Loại bỏ thuật toán sơ khởi 

Sau khi đánh giá những phiên bản khác nhau của thuật toán sơ khởi, nếu có quá ít phiên bản cho hiệu suất tích cực thì có thể giả thuyết của thuật toán sơ khởi này không có giá trị áp dụng cho thị trường mục tiêu. Số ít các phiên bản có hiệu suất tích cực chỉ là do ngẫu nhiên hoặc quá khớp dữ liệu huấn luyện. Ta nên dừng tối ưu thuật toán này tại đây.

Nên chọn điểm tối ưu ổn định hơn là điểm tối ưu quá nhọn

Thị trường tài chính luôn biến động nên giá trị tham số tối ưu có thể thay đổi trong tương lai. Nếu chọn điểm tối ưu nhọn, nhiều khả năng hiệu suất thuật toán giảm mạnh mặc dù giá trị tham số tối ưu chỉ thay đổi đôi chút.