5. Ý nghĩa khoa học và thực tiễn của đề tài
2.3.1. Cơ sở toán học của hàm kernel
Bài toán đối ngẫu trong SVR nhằm xử lý dữ liệu gần phân biệt tuyến tính: ∑ ∑ ∑ ∑ (2.15) Trong đó:
N: số cặp điểm dữ liệu trong tập training.
: vector đặc trƣng của dữ liệu thứ trong tập đào tạo.
: nhãn của dữ liệu thứ , bằng 1 hoặc -1.
: nhân tử Lagrange ứng với điểm dữ liệu thứ .
: hằng số dƣơng giúp cân đối độ lớn của margin và sự hy sinh của các điểm nằm trong vùng không an toàn. Khi hoặc rất lớn, Soft Margin SVR trở thành Hard Margin SVR.
sẽ đƣợc xác định bởi dấu của biểu thức: ∑ ∑ ∑ (2.16) Trong đó:
{ } là tập hợp những điểm nằm trên margin.
{ } là tập hợp các điểm support.
là số phần tử của .
Với dữ liệu thực tế, rất khó để có dữ liệu gần phân biệt tuyến tính, vì vậy nghiệm của bài toán (1) có thể không thực sự tạo ra một bộ phân lớp tốt. Giả sử rằng ta có thể tìm đƣợc hàm số sao cho sau khi đƣợc biến đổi sang không gian mới, mỗi điểm dữ liệu xx trở thành và trong không gian mới này, dữ liệu trở nên gần phân biệt tuyến tính. Lúc này, hy vọng rằng nghiệm của bài toán Soft Margin SVM sẽ cho chúng ta một bộ phân lớp tốt hơn.
Trong không gian mới, bài toán (2.15) trở thành:
∑ ∑ ∑ ∑ (2.17)
Và nhãn của một điểm dữ liệu mới đƣợc xác định bởi dấu của biểu thức:
∑ ∑ ∑ (2.18)
Nhƣ đã nói ở trên, việc tính toán trực tiếp cho mỗi điểm dữ liệu có thể sẽ tốn rất nhiều bộ nhớ và thời gian vì số chiều của thƣờng là rất lớn, có thể là vô hạn! Thêm nữa, để tìm nhãn của một điểm dữ liệu mới , ta lại phải tìm biến đổi của nó trong không gian mới rồi lấy tích vô hƣớng của nó với tất cả các với trong tập hợp support. Để tránh việc này, ta quan sát thấy một điều thú vị sau đây.
Trong bài toán (2.17) và biểu thức (2.18), chúng ta không cần tính trực tiếp cho mọi điểm dữ liệu. Chúng ta chỉ cần tính đƣợc dựa trên hai điểm dữ liệu bất kỳ! Kỹ thuật này còn đƣợc gọi là kernel trick. Những phƣơng pháp dựa trên kỹ thuật này, tức thay vì trực tiếp tính tọa độ của một điểm trong không gian mới, ta đi tính tích vô hƣớng giữa hai điểm trong không gian mới, đƣợc gọi chung là kernel method.
Lúc này, bằng cách định nghĩa hàm kernel , ta có thể viết lại bài toán (2.17) và biểu thức (2.18) nhƣ sau:
∑ ∑ ∑ ∑ (2.19)
∑ ∑ ∑ (2.20) 2.3.2. Tính chất của các hàm kernel
Không phải hàm bất kỳ nào cũng đƣợc sử dụng. Các hàm kerrnel cần có các tính chất:
Đối xứng: Điều này dễ nhận ra vì tích vô hƣớng của hai vector có tính đối xứng.
Về lý thuyết, hàm kerrnel cần thỏa mãn điều kiện Mercer[20]: ∑ ∑
(2.21) Tính chất này để đảm bảo cho việc hàm mục tiêu của bài toán đối ngẫu (2.19) là lồi.
Trong thực hành, có một vài hàm số không thỏa mãn điều kiện Merrcer nhƣng vẫn cho kết quả chấp nhận đƣợc. Những hàm số này vẫn đƣợc gọi là kernel. Trong bài viết này, tôi chỉ tập trung vào các hàm kernel thông dụng và có sẵn trong các thƣ viện.
Nếu một hàm kerrnel thỏa mãn điều kiện (2.21), xét , ta sẽ có:
∑ ∑
(2.22) với là một ma trận đối xứng mà phần tử ở hàng thứ n cột thứ m của nó đƣợc định nghĩa bởi:
Từ (2.22) ta suy ra là một ma trận nửa xác định dƣơng. Vì vậy, bài toán tối ƣu (2.19) có ràng buộc là lồi và hàm mục tiêu là một hàm lồi (một
quadratic form). Vì vậy chúng ta có thể giải quyết bài toán này một cách hiệu quả.
2.3.3. Một số hàm kernel thông dụng 2.3.3.1. Hàm kernel Linear: 2.3.3.1. Hàm kernel Linear:
Đây là trƣờng hợp đơn giản với kernel chính tích vô hƣớng của hai vector.
Hàm số này thỏa mãn điều kiện (2.21).
Khi sử dụng hàm sklearn.svm.SVC, kernel này đƣợc chọn bằng cách đặt kernel = „linear‟.
2.3.3.2. Hàm kernel đa thức Polynomial:
Hàm kernel đa thức đƣợc xây dựng nhƣ sau:
( ) (2.23) Với là một số dƣơng để chỉ bậc của đa thức. có thể không là số tự nhiên vì mục đích chính không phải là bậc của đa thức mà là cách tính kernel. Kernel đa thức poly có thể dùng để mô tả hầu hết các đa thức có bậc không vƣợt quá nếu là số tự nhiên.
Khi sử dụng thƣ viện sklearn, kernel này đƣợc chọn bằng cách đặt kernel=‟poly‟.
Một dạng thay thế hiệu quả hơn về mặt tính toán của công thức (2.23): ( ) ( ) (2.24)
2.3.3.3. Hàm kernel Radial Basic (RBF):
Hàm kernel RBF hay Gaussian đƣợc sử dụng nhiều nhất trong thực tế, và là lựa chọn mặc định trong sklearn. Nó đƣợc định nghĩa:
( ) ( ( ) ) (2.25) Với là độ rộng kernel.
Trong sklearn, kernel = „rbf‟.
2.3.3.4. Hàm kernel sigmoid:
( ) ( ) (2.26) Với là hệ số góc và là độ lệch liên quan đến hàm.
Hàm kernel sigmoid đƣợc sử dụng rộng rãi trong các mạng nơron nhân tạo , máy vectơ hỗ trợ và lý thuyết xấp xỉ (Schölkopf & Smola)[18]. Nhân sigmoid thƣờng là lựa chọn hợp lý đầu tiên vì các tính năng nổi bật của nó: nó có thể xử lý ánh xạ đầu vào - đầu ra tuyến tính và phi tuyến tính có hiệu quả; nó yêu cầu số lƣợng siêu tham số ít hơn nhân đa thức, giảm chi phí tính toán về điều chỉnh cho các siêu tham số tối ƣu; Các giá trị cho hàm nhân sigmoid nằm trong khoảng từ 0 đến 1, do đó ít khó khăn hơn về số lƣợng; trong khi những giá trị có thể nằm trong khoảng từ 0 đến đối với nhân đa thức Poly.
2.4. Các ứng dụng của SVR trong dự đoán chuỗi thời gian tài chính
Một số nghiên cứu chỉ ra rằng ANN có một số hạn chế trong việc học các mô hình vì dữ liệu thị trƣờng chứng khoán có độ nhiễu lớn và nhiều chiều phức tạp. ANN thƣờng thể hiện hiệu suất không nhất quán và không thể đoán trƣớc khi gặp dữ liệu nhiễu. Mạng nơ-ron lan truyền ngƣợc (BP), một trong những mô hình mạng nơ-ron phổ biến nhất đƣợc ứng dụng trong lĩnh vực dự báo chuỗi thời gian tài chính, cũng gặp nhiều khó khăn trong việc lựa chọn một số lƣợng lớn các tham số điều khiển bao gồm biến đầu vào có liên quan,
kích thƣớc lớp ẩn, tốc độ học và kỳ hạn động lƣợng.
Trong khi đó, SVM, đƣợc phát triển bởi Vapnik [11], với hƣớng tiếp cận khác với các mạng khác là tối thiểu rủi ro cấu trúc, cùng ý tƣởng là tối thiểu cận trên của lỗi tổng quát, SVM là giải pháp tối ƣu toàn cục và không gặp tình trạng quá khớp (overfitting) nhƣ các mạng tối ƣu cục bộ.
Mặc dù SVM, hay đặc biệt là SVR có những ƣu điểm trên, song vẫn không nhiều nghiên cứu trong ứng dụng dự báo chuỗi thời gian tài chính tập trung vào SVR. Kể từ khi phát triển vào năm 1995, SVR đã tiếp tục đạt đƣợc ngày càng phổ biến và nó thực sự là một nhiệm vụ của Herculean là cố gắng báo cáo tất cả đóng góp của SVR đã nâng cao trong lĩnh vực dự báo chuỗi thời gian tài chính kể từ khi thành lập. Trong nghiên cứu này, chúng tôi đƣa ra một cái nhìn tổng quan ngắn gọn về một số báo cáo các ứng dụng. Một số nhà nghiên cứu đã cố gắng sử dụng SVR để đƣa ra các dự báo trong tƣơng lai về các các loại dữ liệu tài chính đƣợc tìm thấy trong tài liệu. Ví dụ, Cao và Tay (2001)[27] đã kiểm tra tính khả thi của việc áp dụng SVM cho năm dữ liệu chuỗi thời gian tài chính và so sánh hiệu suất của nó với các mô hình đƣợc phát triển bằng cách sử dụng lan truyền ngƣợc nhiều lớp (BP) mạng nơ-ron và mạng nơ-ron chức năng cơ sở xuyên tâm chính quy (RBF). Vì mô hình SVM, họ đã đề xuất các thông số thích ứng để nắm bắt tính không ổn định thuộc tính của dữ liệu. Kết quả của họ cho thấy SVM hoạt động tốt hơn mạng nơ- ron BP trong dự báo tài chính và sở hữu hiệu suất tổng quát hóa có thể so sánh đƣợc khi so sánh với mạng nơ-ron RBF chính quy. Các phân tích của họ cũng cho thấy rằng kết hợp các thông số thích ứng vào SVM dấn đến cải thiện khả năng tổng quát hóa hiệu suất và sự đại diện thƣa thớt hơn của giải pháp so với việc sử dụng SVM tiêu chuẩn cho dự báo tài chính. Kim (2003) [26] đã áp dụng SVM để dự đoán hƣớng tƣơng lai của các chỉ số giá cổ phiếu và so sánh kết quả thu đƣợc với mạng nơ-ron nhân tạo (ANN) và dựa trên các trƣờng
hợp lý luận (CBR). Ảnh hƣởng của hằng số chính quy và tham số hàm kernel đƣợc phân tích, và kết luận rằng hai tham số này có ảnh hƣởng lớn đến hiệu suất dự đoán của SVM.
2.5. Đánh giá độ chính xác với MAPE
Có nhiều phƣơng pháp đánh giá hiệu suất và độ chính xác của mô hình có thể kể đến nhƣ RMSE (Trung bình bình phƣơng), MAE (Sai số tuyệt đối trung bình), MAPE (Phần trăm sai số tuyệt đối), … . Mỗi phƣơng pháp đều có các ƣu, nhƣợc điểm riêng và có thể áp dụng tối ƣu vào các bài toán, vấn đề cụ thể.
Trong luận văn này, chúng tôi đánh giá hiệu suất và độ chính xác giữa các hàm kernel trong SVR khi ứng dụng trong bài toán dự đoán chuỗi thời gian tài chính bằng MAPE.
MAPE (Mean Absolute Percentage Error) là một thƣớc đo đánh giá của sai số tƣơng đối. MAPE thể hiện độ chính xác cao hơn bởi vì MAPE cho biết tỷ lệ phần trăm sai số trong kết quả ƣớc tính hoặc kết quả dự báo của mô hình so với kết quả thực tế trong một khoảng thời gian nhất định. MAPE, sai số tuyệt đối trung bình trong một khoảng thời gian nhất định nhân với 100% và cũng là thƣớc đo độ chính xác tƣơng đối đƣợc sử dụng để xác định phần trăm độ lệch trong kết quả ƣớc tính. Cách tiếp cận này hữu ích khi các biến dự báo có kích thƣớc quan trọng không đánh giá đƣợc độ chính xác của dự báo. Ngoài ra, MAPE cho biết có bao nhiêu sai số trong việc ƣớc lƣợng so với giá trị thực [34]. Trong luận văn này, chúng tôi sử dụng MAPE để so sánh, đánh giá hiệu suất giữa ba hàm kernel trong SVR khi giải quyết bài toán dự đoán giá cổ phiếu. Công thức tính của MAPE đƣợc tổng quát nhƣ sau:
∑
(2.27)
- là dữ liệu giá trị dự đoán trong chu kỳ. - là khoảng thời gian dự đoán.
Nếu giá trị MAPE nhỏ hơn 10%, có thể đánh giá mô hình có hiệu suất và độ chính xác cao. MAPE có giá trị càng nhỏ thì độ chính xác càng cao.
2.6. Phƣơng pháp dự báo dựa vào mô hình SVR
Chúng tôi xây dựng luồng tiến trình giải quyết bài toán dự báo giá cổ phiếu sử dụng các hàm kernel với SVR nhƣ hình 2.7 dƣới đây:
Hình 2.7: Sơ đồ khối của phƣơng pháp
Các bƣớc chính trong quy trình:
Bƣớc (1): Lấy dữ liệu đầu vào
Bƣớc (3): Xử lý dữ liệu cho mô hình SVR
Bƣớc (4):
o Chạy mô hình SVR hàm RBF o Chạy mô hình SVR hàm Linear o Chạy mô hình SVR hàm Polynomial
Bƣớc (5): So sánh độ chính xác của ba mô hình
Dữ liệu đầu vào là lịch sử giá cổ phiếu của một công ty bất kỳ đƣợc niêm yết trên các sàn chứng khoán trong nƣớc hoặc quốc tế. Lịch sử giá có thể nằm trong khung thời gian bất kỳ từ vài ngày, một tuần, một tháng, một quý hoặc một năm, … . Lịch sử giá cổ phiếu là một dạng dữ liệu chuỗi thời gian, cụ thể thuộc lĩnh vực tài chính, có giá trị đƣợc theo dõi giám sát và ghi nhận theo từng thời điểm trong một khung thời gian xác định.
Hình 2.8: Mô hình chuỗi thời gian của lịch sử giá cổ phiếu công ty Apple
Hiệu suất thực hiện của mô hình SVR phụ thuộc nhiều vào một số siêu tham số (hyperparameter) nhƣ . Cả ba tham số này đều ảnh hƣởng đến độ chính xác dự đoán của mô hình và cần phải chọn lựa kỹ càng. Tuy nhiên, đối với bất kỳ loại cụ thể nào của nhân các giá trị của và ảnh
hƣởng đến độ phức tạp của mô hình cuối cùng.
Nếu C quá lớn thì sẽ ƣu tiên vào phần độ lỗi huấn luyện, dẫn đến mô hình phức tạp, dễ bị quá khớp. Còn nếu C quá nhỏ thì lại ƣu tiên vào phần độ phức tạp mô hình, dẫn đến mô hình quá đơn giản, giảm độ chính xác dự đoán.
Ý nghĩa của ε cũng tƣơng tự C. Nếu ε quá lớn thì có ít vectơ hỗ trợ, làm cho mô hình quá đơn giản. Ngƣợc lại, nếu ε quá nhỏ thì có nhiều vectơ hỗ trợ, dẫn đến mô hình phức tạp, dễ bị quá khớp.
Việc lựa chọn các giá trị tối ƣu cho các siêu tham số huấn luyện này ( và ) sẽ đảm bảo các mô hình ít phức tạp hơn và chính xác hơn.
Các siêu tham số là các tham số nằm ngoài mô hình và không phụ thuộc vào tập dữ liệu huấn luyện, có thể đƣợc thiết lập tùy ý bởi ngƣời phát triển trƣớc khi đào tạo mô hình tùy thuộc vào bài toán giải quyết cụ thể; khác với tham số thông thƣờng đƣợc sinh ra từ chính tập dữ liệu khi chạy mô hình. Tập siêu tham số tối ƣu là khác nhau giữa các mô hình, và cũng khác nhau khi huấn luyện một mô hình nhƣng trên các tập dữ liệu khác nhau. Vì vậy, chúng ta hoàn toàn không thể biết đƣợc đối với một bài toán và tập dữ liệu cụ thể thì hyperparameter nhƣ thế nào là tối ƣu nhất. Kĩ thuật để ƣớc lƣợng giá trị tối ƣu cho tập siêu tham số là xác thực chéo, có thể kể đến các kỹ thuật nhƣ k-fold, hold-out hay ở đây phƣơng pháp chúng tôi sử dụng là GridSearch.
Hình 2.9: Sơ đồ sử dụng phƣơng pháp GridSearch
GridSearch đƣợc coi là một phƣơng pháp tối ƣu hóa siêu tham số truyền thống vì về cơ bản chúng ta đang “brute force” tất cả các kết hợp có thể có. Sau đó, các mô hình đƣợc đánh giá thông qua xác nhận chéo. Mô hình có độ chính xác cao nhất đƣơng nhiên đƣợc coi là tốt nhất.
2.7. Kết luận chƣơng 2
Chƣơng 2 trình bày tập trung về lý thuyết SVM và SVR, các loại hàm kernel trong SVR, phƣơng pháp tính toán tham số trong SVR, ứng dụng SVR vào dữ liệu chuỗi thời gian tài chính. Kỹ thuật GridSearch tìm tập siêu tham số tối ƣu cho SVR và phƣơng pháp đánh giá MAPE nhằm đánh giá hiệu suất, độ chính xác của mô hình huấn luyện, cũng đƣợc chúng tôi trình bày trong chƣơng này.
CHƢƠNG 3. THỬ NGHIỆM 3.1. Giới thiệu bài toán
Trong chƣơng này, chúng tôi trình bày ứng dụng mô hình SVR dự báo giá cổ phiếu chứng khoán tại một thời điểm nhất định. Dự đoán giá cổ phiếu là bài toán có rất nhiều ứng dụng trong thực tế, và nhận đƣợc sự quan tâm lớn từ các nhà nghiên cứu cũng nhƣ các doanh nghiệp.
Đầu vào: Giá cổ phiếu trong quá khứ dạng chuỗi thời gian.
Đầu ra: Giá cổ phiếu đƣợc dự đoán trong một thời điểm xác định ở tƣơng lai và so sánh độ chính xác tính toán giữa các mô hình và so với giá thực tế.
Bài toán dự đoán giá cổ phiếu này, chúng tôi sử dụng bộ dữ liệu là giá cổ phiếu của tập đoàn Apple (mã cổ phiếu AAPL) từ 01/09/2021 đến 22/09/2021, bao gồm giá đóng cửa, giá mở cửa, giá cao nhất, giá thấp nhất, khối lƣợng giao dịch.
Ứng dụng mô hình SVR và sử dụng các hàm kernel khác nhau nhƣ Linear, Polynomial hay RBF để huấn luyện và thực hiện dự đoán. Mục tiêu cuối cùng là dự đoán giá đóng cửa của cổ phiếu vào một ngày xác định thuộc