Lợc đồ dự báo chuỗi thời gian với Mạng Neural

Một phần của tài liệu Ứng dụng mạng neural dự báo chuỗi thời gian giá cổ phiếu trong thị trường chứng khoán việt nam (Trang 35 - 40)

ứng dụng mạng neural trong dự báo chuỗi thời gian dựa trên khả năng của mạng neural để xấp xỉ các hàm phi tuyến. Các xử lý phổ biến nhất đối với dữ liệu đầu vào cung cấp cho mạng neural là dữ liệu từ một số quan sát liền trớc. Nếu ký hiệu giá trị dữ liệu tại thời điểm k là Yk- trong đó Y có thể là một véc tơ, thì việc xử lý trên đợc mô tả nh là hàm

Yk+1 =NN(Yk) hoặc Yk+1=NN(Yk, Yk-1, , Y… k-p)

Trong đó NN() biểu diễn cho hàm dự báo mạng neural và p là số quan sát liền trớc đó. Các xử lý này xem chuỗi thời gian đã cho nh là một chuỗi thời gian phi tuyến và cố gắng tạo ra một mô hình phù hợp với chuỗi đó. Cho đến nay, đã có một số kết quả mô tả cách chọn dữ liệu đầu vào cho mạng neural để tiến hành dự báo tốt hơn. Cần chú ý rằng việc thực hiện dự báo bằng mạng neural bị ảnh hởng bởi dữ liệu đầu vào.

Phân tích tự tơng quan đã đợc sử dụng phổ biến trong dự báo chuỗi thời gian theo hớng tiếp cận thống kê, chẳng hạn nh mô hình ARIMA[1]. Việc phân tích này chủ yếu đợc dùng trong việc xác định sự tơng quan giữa các quan sát sát liên tiếp nhau trong chuỗi thời gian, và đợc sử dụng trong mô hình ARIMA nổi tiếng với phơng pháp của Box-Jenkins đã rất hiệu quả trong dự báo chuỗi thời gian tuyến tính. Phân tích tự tơng quan cũng có thể đợc sử dụng để xác định mẫu đầu vào đúng cho dự báo chuỗi thời gian phi tuyến với mạng neural nhân tạo.

Chúng tôi trình bày một lợc đồ cho việc dự báo chuỗi thời gian với mạng neural. Lợc đồ bao gồm 3 công đoạn: xác định mẫu đầu vào, xác định số neural trong tầng ẩn và xây dựng dự báo mạng neural. Trong công đoạn xác định mẫu đầu vào, phân tích tự tơng quan mẫu và tự tơng quan riêng mẫu đợc sử dụng để xác định mẫu đầu vào của chuỗi thời gian dùng cho việc huấn luyện mạng. Việc xác định số neural trong tầng ẩn đợc thực hiện với quy tắc Baum-Haussler (tham khảo [3]). Chúng ta chỉ quan tâm đến số neuron trong tầng ẩn là bởi vì đối với bài toán dự báo giá cổ phiếu, tầng đầu ra chỉ có 1 neuron, tầng đầu vào có số neuron đúng bằng số đầu vào. Sau đó, dự báo mạng neural đợc xây dựng từ mẫu đầu vào đã đợc xác định và số neural trong tầng ẩn. Giá cổ phiếu trong Thị trờng chứng khoán Việt Nam đợc sử dụng để minh họa cho lợc đồ này.

Các kết quả đó đợc so sánh với các dự báo khác. Dự báo mạng neural đợc kiểm tra trong 2 tình huống: dự báo ngắn hạn và dự báo dài hạn.

Dự báo mạng neural có thể đợc mô tả nh sau:

Yk+1=NN(Yk, Yk-1, , Y… k-l, ek, ek-1, , e… k-d) (1)

Trong đó Y hoặc là các quan sát gốc hoặc là dữ liệu đợc xử lí còn ek, ek-1, ,…

ek-d là các phần d. Việc xử lý dữ liệu đầu vào cũng nh các số l và d cần đợc xác định khi thực hiện dự báo.

3.2.1. Xác định mẫu đầu vào

Mẫu đầu vào đợc xác định bằng cách sử dụng phân tích tự tơng quan mẫu và tự tơng quan riêng mẫu [1] gồm 2 bớc:

Bớc 1: Với chuỗi thời gian đợc cho, tính hệ số tơng quan mẫu. Nếu khuynh đợc xác định thì tính sai phân để loại bỏ khuynh. Bớc này cần đợc lặp lại cho đến khi khuynh đợc loại bỏ đến mức có thể chấp nhận [1].

Bớc 2: Tính hệ số tự tơng quan riêng mẫu. Thông tin này sẽ cho biết yi tự t- ơng quan với yi+k nh thế nào. Lựa chọn các hệ số tự tơng quan riêng khác biệt rõ rệt với các hệ số tơng quan khác. Sự chênh lệch lớn nhất giữa 2 hệ số bất kỳ trong các hệ số đó chính là số đầu vào cần thiết dự báo mạng neural.

Thuật toán xác định tơng quan mẫu và tự tơng quan riêng mẫu chúng tôi đã trình bày ở chơng I (tham khảo từ [1]), các thủ tục đó cũng đợc cài đặt trong phần

mềm dự báo để máy tính có thể tự động xác định mẫu đầu vào đối với từng chuỗi thời gian giá cổ phiếu cụ thể.

3.2.2. Xác định số neuron trong tầng ẩn

Số neuron trong tầng ẩn rất quan trọng trong việc ứng dựng mạng neural để dự báo chuỗi thời gian. Quy tắc Baum-Haussler [3] đợc sử dụng để xác định số neron trong các tầng ẩn. Quy tắc nh sau:

Nẩn ≤ out pts t t N N E N +

Trong đó Nẩn là số neuron trong tầng ẩn, Nt là số mẫu huấn luyện, Et là sai số cho phép, Npts là số điểm dữ liệu cho mỗi mẫu huấn luyện (số đầu vào), Nout là số đầu ra.

Chẳng hạn nh: ta có một chuỗi thời gian giá cổ phiếu của SGH-Công ty cổ phần khách sạn Sài Gòn từ năm 2002 đến 2004 từ thị trờng chứng khoán Việt Nam, nguồn từ Website: vietnamnews. agency.vn. Ta sử dụng số liệu này với 500 ngày đầu tiên để huấn luyện mạng neural và dự báo cho 20 đến 60 ngày tiếp theo để so sánh. Ta chọn Mạng neural feedfoward 3 tầng (tầng đầu vào, tầng đầu ra và 1 tầng ẩn) cùng Thuật toán lan truyền ngợc đã trình bày ở chơng II.

Qua tính toán ta thấy: các quan sát trong chuỗi trên là tơng quan và hệ số tự tơng quan giữa yk và yk+1, yk và yk+2, yk và yk+3 là khác biệt rõ ràng so với các cặp giá trị khác. Cho nên, mạng neural để dự báo nên sử dụng nhiều nhất 4 đầu vào, đó là: yk, yk+1, yk+2, yk+3. Việc tính sai phân đợc dùng để tách khuynh trong chuỗi thời gian.

Với sai số cho phép Et = 0.01. Số neuron trong tầng ẩn đợc xác định nh sau: Nt = 500 x Npts, Npts là số đầu vào và Nout = 1. Từ công thức (2) suy ra

Nẩn ≤ 500. .01,01= 5. +1 + pts pts pts pts N N N N (4)

Theo công thức trên, số neuron trong tầng ẩn là 2,3,3,4 tơng ứng với số neuron đầu vào là 1,2,3,4.

Để đơn giản trong mô tả, ký hiệu NN[i,j,k,l] là mạng Neural với i neuron đầu vào, sai phân bậc j, k neuron đầu ra và l giới hạn phần d. Số neuron trong tầng ẩn

cho các mạng neural NN[1,0,1,0], NN[3,0,1,0], NN[4,0,1,0], NN[3,1,1,0], NN[3,1,1,2], có thể đợc chọn tơng ứng là 2,2,4,3,3.

3.2.3. Xây dựng mạng neural dự báo

Dựa trên mẫu đầu vào đợc xác định trong phần 3.2.1 và số neuron trong tầng ẩn đợc xác định trong phần 3.2.2, ta có thể xây dựng dự báo mạng neural.

Việc thực hiện dự báo mạng neural đợc đánh giá thông qua sai số phần

trăm trung bình (Mean Percentage Error-MPE)[3], tức là: (adsbygoogle = window.adsbygoogle || []).push({});

MPE = ∑ ( ) = − − n i ii i n zzz 2 1 |/* |

Trong đó zi là chuỗi thời gian đã cho, z*i là giá trị do mạng neural dự báo tại thời điểm i và n là số quan sát trong chuỗi.

Có 2 trờng hợp cần đợc xem xét trong dự báo chuỗi thời gian đó là: dự báo ngắn hạn và dự báo dài hạn [5]. Dự báo ngắn hạn có nghĩa là dự báo từng bớc một.

Dự báo ngắn hạn

Chúng tôi đã huấn luyện một số dự báo mạng neural để dự báo ngắn hạn.

Bảng 3.1. Các giá trị MPE của các dự báo Mạng neural

Bảng 3.1 cho thấy các giá trị MPE cho mỗi dự báo mạng neural khác nhau, khi dự báo cho 60 ngày sau đó.

Nh vậy, việc thực hiện dự báo sẽ tốt hơn khi số đầu vào tăng lên. Có một sự cải tiến đáng kể khi sử dụng mạng NN[3,1,1,2], so sánh với mạng NN[1,0,1,0] đã cải thiện đợc 0,22%. Hình 3.2. cho thấy kết quả các dự báo mạng neural đó.

Hình 3.2. Kết quả dự báo mạng neural cho trờng hợp dự báo ngắn hạn

Dự báo dài hạn

Vì phần d không đợc tính đến trong dự báo dài hạn nên ta lợc bỏ bớc lặp “feedback”. Chúng tôi đã huấn luyện các mạng NN[1,0,1,0], NN[3,0,1,0], NN[4,0,1,0], NN[3,1,1,0] và dự báo cho 20 ngày tiếp theo. Kết quả đợc minh họa trong Hình 3.3.

Hình 3.3.Kết quả dự báo mạng neural cho trờng hợp dự báo dài hạn

Nhìn bề ngoài NN[3,1,1,0] tốt hơn so với các dự báo khác vì nó đã nhận thấy đợc sử biến đổi trong 4 ngày đầu và nỗ lực đánh dấu điều đó. Ba mạng còn lại chỉ tăng giá trị một cách đơn điệu không kể đến sự lên hay xuống của chuỗi thời gian.

Các kết quả tính toán chỉ ra rằng mẫu đầu vào thích hợp sẽ cải thiện đợc kết quả dự báo.

3.3. Kết luận chơng III

Lợc đồ dự báo chuỗi thời gian với mạng neural đã đợc đa ra trong chơng này gồm 3 công đoạn: xác định mẫu đầu vào, xác định số neuron trong tầng ẩn và xây dựng các dự báo. Dự báo ngắn hạn đã đợc xây dựng với mẫu đầu vào đợc tính toán và thu đợc các kết quả chính xác hơn. Sự cải tiến đối với dự báo ngắn hạn đợc dùng cho dự báo dài hạn và cho thấy những tiến bộ rõ rệt chỉ ra rằng mẫu đầu vào thích hợp có thể cải thiện kết quả dự báo. Tuy nhiên vẫn cha tốt đối với dự báo dài hạn. Điều này là do cha tính đến các ảnh hởng bên ngoài đối với thị trờng chứng khoán. Do đó cần phải mở rộng kết quả hiện tại cho chuỗi thời gian nhiều biến.

Trong chơng IV, chúng tôi sẽ giới thiệu cụ thể hơn về thị trờng chứng khoán, cổ phiếu, giá cổ phiếu. Đồng thời chúng tôi cũng giới thiệu về giao diện và các chức năng của phần mềm dự báo mà chúng tôi đã xây dựng.

Chơng IV. ứng dụng dự báo giá cổ phiếu

trong thị trờng chứng khoán việt nam

Một phần của tài liệu Ứng dụng mạng neural dự báo chuỗi thời gian giá cổ phiếu trong thị trường chứng khoán việt nam (Trang 35 - 40)