1. Trang chủ
  2. » Luận Văn - Báo Cáo

Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo

40 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Dự Báo Tỷ Giá Bitcoin (Btc) Sử Dụng Mạng Neural Nhân Tạo
Tác giả Phan Thanh Toàn
Người hướng dẫn TS. Trương Hải Bằng
Trường học Trường Đại Học
Thể loại luận văn
Năm xuất bản 2021
Thành phố Tp HCM
Định dạng
Số trang 40
Dung lượng 1,3 MB

Cấu trúc

  • Chương 1. TỔNG QUAN VỀ MẠNG NEURAL (8)
    • 1.1. Giới thiệu mạng Neural sinh học (8)
    • 1.2. Mạng Neural nhân tạo (9)
      • 1.2.1. Lịch sử phát triển (9)
      • 1.2.2. Định nghĩa mạng Neural nhân tạo (10)
      • 1.2.3. Phân loại mạng Neural nhân tạo (12)
    • 1.3. Luật học (13)
      • 1.3.1. Học có tham số (13)
      • 1.3.2. Học cấu trúc (14)
    • 1.4. Mạng truyền thẳng nhiều lớp và thuật toán lan truyền ngược (15)
      • 1.4.1. Tổng quan về mạng neural đa lớp truyền thẳng (15)
      • 1.4.2. Kiến trúc mạng (15)
      • 1.4.3. Xác định cấu trúc mạng tối ưu (17)
      • 1.4.4. Cấu trúc của luật học lan truyền ngược (18)
      • 1.4.5. Luật học lan truyền ngược (19)
    • 1.5. Một số vấn đề của mạng Neural nhiều lớp (20)
    • 1.6. Ưu và nhược điểm của mạng lan truyền thẳng (20)
  • Chương 2. TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO (22)
    • 2.1. Lịch sử quá trình dự báo (22)
    • 2.2. Khái niệm về dự báo (22)
    • 2.3. Mục đích của dự báo (22)
    • 2.4. Những thách thức trong dự báo (23)
    • 2.5. Các phương pháp dự báo (24)
    • 2.6. Quy trình thực hiện dự báo (24)
    • 2.7. Phương pháp dự báo sử dụng mạng Neural (27)
    • 2.8. Đánh giá mô hình dự báo (27)
  • Chương 3. MÔ TẢ BÀI TOÁN DỰ BÁO GIÁ TĂNG BITCOIN (28)
    • 3.1. Phát biểu bài toán (28)
    • 3.2. Dự liệu giá Bitcoin (28)
    • 3.3. Chọn phương án chọn cấu trúc dữ liệu (29)
    • 3.4. Chọn phương án chọn cấu trúc dữ liệu (29)
    • 3.5. Thiết kế mạng Neural (31)
      • 3.5.1. Số lớp neural (31)
      • 3.5.2 Cấu trúc mạng (31)
      • 3.5.3. Hàm tương tác đầu ra (32)
  • Chương 4. CHẠY THỬ NGHIỆM DỰ BÁO GIÁ BITCOIN CAO NHẤT TRONG NGÀY (33)
    • 4.1. Dự báo chạy thử nghiệm với Matlab (33)
    • 4.2. Dự báo bằng Visual Gene Developer (35)
    • 4.3. Dự báo trung bình cộng (36)
    • 4.4. Kết quả dự báo của ba phương pháp (38)
  • Chương 5. KẾT LUẬN (39)
    • 5.1. Các đóng góp (0)
    • 5.2. Lợi ích (39)
    • 5.3. Xu hướng phát triển (39)
  • TÀI LIỆU THAM KHẢO (40)

Nội dung

MẪU ĐỒ ÁN (HOẶC LUẬN VĂN ) TỐT NGHIỆP I LỜI CẢM ƠN Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòng biết ơn đến thầy TS Trương Hải Bằng đã hướng dẫn em trong suốt quá t.

TỔNG QUAN VỀ MẠNG NEURAL

Giới thiệu mạng Neural sinh học

Bộ não người có khoảng 100 tỷ tế bào thần kinh, với mỗi tế bào kết nối với khoảng 10.000 tế bào khác, cho phép con người đưa ra những quyết định phức tạp và nhanh chóng Mỗi tế bào thần kinh bao gồm ba thành phần chính: soma, dendrites và axon.

Nguồn [Ben Krose and Patrick van der Smagt, 1996]

Hình 1 Mô hình neural sinh học

Mô hình neural nhân tạo có nguồn gốc từ mô hình tế bào thần kinh (hay còn gọi là neural) sinh vật

Một tế bào neural gồm bốn phần cơ bản là:

Các nhánh và rễ của neuron là những bộ phận tiếp nhận thông tin, nơi các đầu nhạy hoặc đầu ra của các neuron khác kết nối Khi có sự chênh lệch nồng độ K+, Na+ hoặc Cl- giữa bên ngoài và bên trong neuron, hiện tượng thẩm thấu xảy ra thông qua cơ chế màng thấm đặc biệt, cho phép truyền đạt thông tin Mức độ thẩm thấu được đặc trưng bởi một tỷ lệ gọi là trọng (weight) Thân neuron (soma) chứa nhân và các cơ quan tổng hợp protein, nơi các ion được tổng hợp và biến đổi Khi nồng độ ion đạt đến ngưỡng nhất định, quá trình phát xung diễn ra, và xung này được truyền qua dây thần kinh (axon).

Dây thần kinh (Axon) là nhánh dài chịu trách nhiệm truyền tín hiệu đầu ra, với cấu trúc gồm các đốt và chiều dài thay đổi từ micro mét đến vài mét Đầu ra này có khả năng truyền tín hiệu đến các nơron khác Trong khi đó, khớp thần kinh (Synapse) là điểm tiếp xúc giữa đầu ra của nơron và các nhánh của nơron khác, có cấu trúc màng đặc biệt giúp tiếp nhận tín hiệu khi có sự chênh lệch nồng độ ion giữa bên trong và bên ngoài, với việc truyền ion tỷ lệ thuận với nồng độ.

Mạng Neural nhân tạo

Vào năm 1890, William đã tiến hành nghiên cứu về tâm lý học liên quan đến các tế bào thần kinh Đến năm 1940, McCulloch và Pitts đã chứng minh rằng các tế bào thần kinh có thể được mô hình hóa như những thiết bị ngưỡng để thực hiện các phép toán logic Cùng thời điểm đó, Wiener cũng nghiên cứu mối liên hệ giữa nguyên lý phản hồi và chức năng của bộ não.

Vào những năm 1960, các mô hình neural như Perception của Rosenblatt, Adaline của Widrow và ma trận học của Stinbuck đã được giới thiệu, trong đó Perception nổi bật nhờ tính đơn giản Tuy nhiên, Minsky và Papert đã chỉ ra rằng mô hình này không thể xử lý các hàm logic phức tạp Đến đầu những năm 80, Grossberg, Kohonen và Hoppfield đã có những đóng góp quan trọng, đặc biệt là Hoppfield với việc phát triển mạng rời rạc (1982) và mạng liên tục (1984) Những nghiên cứu này đã tạo nền tảng cho Rumelhart và Hinton đề xuất thuật toán sai số truyền ngược, cho phép huấn luyện mạng neural nhiều lớp để giải quyết những bài toán mà các mạng khác không thể thực hiện.

Kể từ năm 1987, hội nghị toàn cầu IJCNN (International Joint Conference on Neural Networks) được tổ chức hàng năm, thu hút sự quan tâm từ cộng đồng nghiên cứu neural Tại Việt Nam, nghiên cứu về mạng neural đã bắt đầu từ những năm 1980, với nhiều ứng dụng trong các lĩnh vực như tin học viễn thông và đo lường điều khiển Một số chip neural cũng đã được phát triển và ứng dụng trong kỹ thuật lọc và nhiều lĩnh vực khác.

1.2.2 Định nghĩa mạng Neural nhân tạo

Mạng neural nhân tạo là hệ thống gồm các nút (neural) được kết nối với nhau, với mỗi liên kết mang trọng số thể hiện tính kích thích hoặc ức chế Các nút này được sắp xếp theo thứ tự trong ba lớp: lớp đầu vào (input layer), lớp ẩn (hidden layer) và lớp đầu ra (output layer).

Chức năng của mạng được xác định bởi: cấu trúc mạng, quá trình xử lý bên trong của từng neural, và mức độ liên kết giữa các neural

Mức độ liên kết giữa các nơ-ron trong mạng nơ-ron được xác định qua quá trình huấn luyện Các trọng số trong mạng đóng vai trò như phương tiện lưu trữ thông tin dài hạn Nhiệm vụ chính của quá trình huấn luyện là cập nhật các trọng số dựa trên thông tin từ các mẫu học.

Mạng neural là một hệ thống bao gồm nhiều phần tử xử lý hoạt động đồng thời Chức năng của mạng được xác định bởi cấu trúc liên kết giữa các phần tử và quá trình xử lý diễn ra tại từng phần tử.

Mạng neural là một hệ thống xử lý song song mạnh mẽ, có khả năng lưu trữ thông tin và tri thức, đồng thời tạo ra những hiểu biết mới dựa trên kinh nghiệm đã tích lũy Nó tương tự như bộ não con người ở hai khía cạnh chính: khả năng học hỏi và xử lý thông tin.

- Tri thức có được thông qua quá trình học

- Các giá trị liên kết giữa các neural được dùng như một phương tiện lưu trữ thông tin

Một mạng neural là một tập hợp các tế bào vật lý được kết nối nhằm thu thập, lưu trữ và sử dụng tri thức, kinh nghiệm một cách hiệu quả, từ đó tạo ra tri thức mới chất lượng hơn.

Hình 2 Mô hình mạng nhiều lớp neural

Một neural nhân tạo được xây dựng từ ba thành phần chính: Bộ tổng các liên kết đầu vào, động học tuyến tính và phi tuyến không động học

Bộ tổng liên kết: Bộ tổng hợp các liên kết đầu vào của một phần tử neural có thể mô tả như sau: v(t) = 𝑊 𝑦(𝑡) + ∑ W 𝑘 x 𝑘 (t) + I

- v(t): Tổng tất cả đầu vào mô tả toàn bộ thế năng tác động ở thân neural;

- xk(t): Các đầu vào ngoài, mô tả tín hiệu vào từ các đầu nhạy thần kinh hoặc từ các neural khác đưa vào;

- Wk: Trọng liên kết vào ngoài, là hệ số mô tả mức độ liên kết giữa các đầu vào ngoài tới neural hiện tại, m là số đầu vào; k = 1,…,m;

- y(t): Đầu ra neural mô tả tín hiệu đưa ra;

- I: Hằng số, còn gọi là ngưỡng, xác định mức kích thích hay ức chế

Phần động học tuyến tính nhận đầu vào là v(t) và cho ra đầu ra tương tự u(t) Hàm truyền của phần động học này có thể được mô tả thông qua biến đổi Laplace.

Phần phi tuyến trong mô hình neural sinh vật cho thấy rằng các đầu ra là các xung có giới hạn chặn Để đảm bảo hệ thống ổn định, thường gán hàm chặn cho các tín hiệu đầu ra Điều này có nghĩa là mỗi đầu ra của neural phải được áp dụng một hàm chặn, thường ở dạng phi tuyến với hàm g(.) Do đó, đầu ra y có thể được mô tả bằng hàm: y = g(u(t)).

Tên hàm Công thức Đặt tính

Hàm tuyến tính bão hòa đối xứng 𝑓(𝑥) = {

Bảng 1 Một số hàm phi tuyến thường được sử dụng trong các mô hình neural

1.2.3 Phân loại mạng Neural nhân tạo

Phân loại mạng theo số lớp trong mạng

Mạng một lớp là tập hợp các phần tử neural có đầu vào và đầu ra trên cùng một phần tử Khi kết nối đầu ra của các phần tử này với đầu vào của phần tử khác, nó được gọi là mạng tự liên kết (Autoassociative).

Mạng nhiều lớp bao gồm một lớp đầu vào và một lớp đầu ra riêng biệt, trong khi các lớp nằm giữa chúng được gọi là lớp ẩn (Hidden Layer).

Phân loại theo đường truyền tín hiệu

Mạng truyền thẳng: Là mạng hai hay nhiều lớp mà quá trình truyền tín hiệu từ đầu ra lớp này đến đầu vào lớp kia theo một hướng

Mạng phản hồi: Là mạng mà trong đó một hoặc nhiều đầu ra của các phần tử lớp sau truyền ngược tới đầu vào của lớp trước

Mạng tự tổ chức là loại mạng có khả năng sử dụng kinh nghiệm quá khứ để thích ứng với những thay đổi môi trường không thể dự đoán trước Đây là một hệ thống thuộc nhóm hệ học, có khả năng thích nghi mà không cần tín hiệu chỉ đạo từ bên ngoài.

Luật học

Học tham số đề cập đến việc thay đổi và cập nhật các trọng số liên kết trong mô hình học máy Phần lớn các phương pháp học máy hiện nay thuộc loại học tham số, và chúng thường được phân loại thành ba dạng chính: học giám sát, học không giám sát và học củng cố.

(A): Học giám sát; (B): Học củng cố; (C): Học không giám sát

Học có giám sát (Supervised Learning)

Một yếu tố quan trọng trong phương pháp này là sự hiện diện của một người hướng dẫn bên ngoài mạng Người hướng dẫn có trách nhiệm thu thập tri thức từ môi trường bên ngoài, bao gồm các cặp thông tin đầu vào và đầu ra tương ứng Hệ thống học, cụ thể là mạng neural, sẽ học từ các cặp dữ liệu này bằng cách điều chỉnh trọng số và ngưỡng để tạo ra ánh xạ giữa đầu vào và đầu ra mong muốn Quá trình điều chỉnh này diễn ra thông qua việc so sánh đầu ra thực tế của mạng với đầu ra mong muốn.

Mạng được cung cấp một tập hợp các cặp đầu vào - đầu ra mong muốn {(x(1), d(1)); (x(2), d(2));…; (x(k), d(k))} Khi đầu vào x(k) được đưa vào mạng, đầu ra mong muốn d(k) cũng được cung cấp Như hình 3 (A) minh họa, nếu có sự khác biệt giữa giá trị đầu ra thực tế y(k) và đầu ra mong muốn d(k), trọng số sẽ được điều chỉnh để giảm thiểu sai khác này.

Học không có giám sát (Unsupervised Learning)

Trong học không giám sát, chúng ta nhận được một tập dữ liệu p cùng với một hàm chi phí cần được tối ưu hóa, hàm này có thể là bất kỳ hàm nào liên quan đến dữ liệu p và đầu ra của mạng Hàm chi phí f được xác định bởi cách phát biểu của bài toán Nhiều ứng dụng trong lĩnh vực này thường thuộc về các bài toán ước lượng như mô hình hóa thống kê, nén dữ liệu, lọc thông tin và phân cụm.

Học củng cố (Reinforcement Learning)

Mạng chỉ có thể xác định giá trị đầu ra là "quá cao" hoặc "chính xác 50%", và chỉ nhận được phản hồi đúng hoặc sai Như hình 3 (B) cho thấy, luật học củng cố là một dạng của luật học giám sát, vì mạng vẫn nhận được một số thông tin phản hồi từ môi trường Tuy nhiên, phản hồi này chỉ mang tính đánh giá chứ không có tính chất dạy bảo.

Learning structure involves modifying the network's architecture by altering the number of neurons and the types of connections This structural learning can utilize techniques related to Genetic Algorithms (GAs) and Evolutionary Programming (EP).

Mạng truyền thẳng nhiều lớp và thuật toán lan truyền ngược

1.4.1 Tổng quan về mạng neural đa lớp truyền thẳng

Mạng neural đa lớp truyền thẳng sử dụng thuật toán lan truyền ngược là một trong những mô hình phổ biến và đơn giản nhất trong nghiên cứu mạng neural Luận văn này tập trung vào việc tìm hiểu và áp dụng mô hình này để đạt được hiệu quả tối ưu trong các bài toán liên quan.

Mô hình ANN (Artificial Neural Network) học từ dữ liệu có sẵn dựa trên cách tổ chức và xử lý thông tin giống như bộ não con người Qua quá trình học từ các mẫu dữ liệu trong tập dữ liệu đã thu thập, ANN tự điều chỉnh và tích lũy kinh nghiệm, giúp giải quyết hiệu quả nhiều vấn đề khác nhau.

Mạng nơ-ron nhân tạo (ANN) có thể được xem như một đồ thị định hướng có trọng số, trong đó các nút được phân chia thành các lớp Lớp đầu vào nhận thông tin, lớp ẩn thực hiện các biến đổi và lớp đầu ra cung cấp kết quả Qua việc điều chỉnh trọng số tại các nút, ANN có khả năng học hỏi và rút ra quy luật từ các tập dữ liệu đã được thu thập, giúp giảm sai số giữa kết quả thực tế và kết quả mong muốn.

Một mạng truyền thẳng nhiều lớp bao gồm lớp vào, lớp ra và một hoặc nhiều lớp ẩn giữa chúng Lớp đầu vào nhận tín hiệu và chuyển tiếp đến các neural trong lớp ẩn, nhưng không thực hiện tính toán Các neural trong lớp ẩn phát hiện các tính năng và trọng số của các neural đại diện cho các đặc điểm ẩn của lớp đầu vào Những tính năng này sau đó được sử dụng bởi lớp ra để xác định mô hình đầu ra.

Trong mạng neural truyền thẳng, thông tin di chuyển từ trái sang phải Các giá trị đầu vào x được truyền đến các lớp ẩn thông qua các trọng số kết nối Trọng số kết nối từ phần tử đầu vào thứ i đến neural ẩn thứ j được ký hiệu là wij, trong khi trọng số từ neural ẩn thứ j đến các neural ra thứ k được ký hiệu là vjk.

Hình 4 Mạng truyền thẳng nhiều lớp

Với lớp neural ẩn thứ j:

Hàm f là một hàm đơn điệu tăng, khả vi và có giá trị nằm trong khoảng [0; 1] Khi nhận một mẫu đầu vào cụ thể, mạng sẽ tạo ra giá trị đầu ra thực tế zk, và giá trị này sẽ được so sánh với giá trị mẫu đã cho.

Mạng nơ-ron điều chỉnh trọng số để giảm thiểu lỗi trong quá trình học, từ đó tạo ra các mẫu đầu ra mong muốn Quá trình này tiếp tục cho đến khi tổng lỗi trên tất cả các mẫu học đạt mức cho phép Thuật toán học này được gọi là thuật toán lan truyền ngược.

1.4.3 Xác định cấu trúc mạng tối ưu

Dưới đây luận văn trình bày một số vấn đề cần quan tâm khi thiết kế một mạng

Mạng nơ-ron với một lớp ẩn có khả năng biểu diễn bất kỳ tín hiệu đầu vào nào, trong khi mạng có hai lớp ẩn có thể thể hiện các hàm với nhiều dáng điệu khác nhau.

Hầu hết các thuật toán huấn luyện mạng neural truyền thẳng dựa vào phương pháp Gradient Tuy nhiên, việc thêm nhiều lớp vào mạng có thể làm tăng sự lan truyền lỗi, dẫn đến sự không ổn định của vector Gradient.

Thuật toán tối ưu dựa trên Gradient thường chỉ tìm ra tối thiểu cục bộ, điều này làm cho việc xác định tối thiểu toàn cục trở nên khó khăn do khả năng bị mắc kẹt tại các điểm tối thiểu cục bộ là rất cao.

Số neural trong lớp ẩn

Số lượng nơ-ron trong lớp ẩn là yếu tố quan trọng ảnh hưởng đến khả năng nhận dạng tín hiệu trong dữ liệu Nếu số nơ-ron quá ít, mạng có thể gặp phải tình trạng thiếu ăn khớp (Underfitting), không đủ khả năng nhận diện các mẫu phức tạp Ngược lại, nếu số nơ-ron quá nhiều, thời gian huấn luyện sẽ tăng lên và có thể dẫn đến thừa ăn khớp (Overfitting), khi mạng chứa quá nhiều thông tin mà không có đủ dữ liệu đặc trưng để huấn luyện hiệu quả Số lượng nơ-ron trong lớp ẩn phụ thuộc vào nhiều yếu tố, bao gồm số đầu vào và đầu ra, số lượng mẫu trong tập dữ liệu, độ nhiễu của dữ liệu, độ phức tạp của hàm lỗi, kiến trúc mạng và thuật toán huấn luyện.

Để xác định số lượng đơn vị tối ưu trong lớp ẩn của mạng nơ-ron, cần huấn luyện mạng với nhiều cấu hình khác nhau và đánh giá lỗi tổng quát hóa của từng cấu hình Phương pháp hiệu quả nhất để tìm ra số đơn vị tối ưu là sử dụng phương pháp thử sai (Trial – and – Error).

1.4.4 Cấu trúc của luật học lan truyền ngược

Thuật toán lan truyền ngược được xác định bởi mối liên hệ giữa các nơ-ron trong kiến trúc mạng, hàm kích hoạt và các thuật toán học nhằm điều chỉnh trọng số.

Thuật toán lan truyền ngược là một phương pháp phổ biến trong mạng nơ-ron đa lớp, trong đó các lớp được kết nối đầy đủ Điều này có nghĩa là mỗi nơ-ron trong một lớp sẽ kết nối với tất cả các nơ-ron trong lớp trước đó, tạo ra một mạng lưới thông tin mạnh mẽ và hiệu quả.

Luật học lan truyền ngược thực hiện 2 pha như sau:

- Pha 1: Mẫu đầu vào x (k) được truyền tiến (từ lớp vào tới lớp ra), kết quả của luồng dữ liệu thẳng (forward) là đầu ra thực y (k)

Trong giai đoạn 2, tín hiệu lỗi được xác định dựa trên sự khác biệt giữa d(k) và y(k), sau đó được truyền ngược từ lớp ra trở lại các lớp trước để điều chỉnh trọng số.

Xét một mạng ba lớp: Lớp vào có m neural, lớp ẩn có h neural và lớp ra có n neural

Hình 5 Cấu trúc mạng lan truyền ngược

Lớp ẩn: Với mẫu đầu vào x, tại neural thứ q của lớp ẩn:

Trong đó , f(.) là hàm kích hoạt đầu ra

Lớp ra: Giả thiết dùng 1 hàm kích hoạt đầu ra f(.) Tín hiệu tổng đầu vào trên neural thứ i:

1.4.5 Luật học lan truyền ngược

Giải thuật lan truyền ngược tìm kiếm một vector các trọng số (weights vectori) giúp cực tiểu hóa lỗi tổng thể của hệ thống đối lập với tập học

Giải thuật lan truyền ngược bao gồm hai giai đoạn:

Một số vấn đề của mạng Neural nhiều lớp

Mạng neural nhiều lớp có một số vấn đề cần được quan tâm như sau:

- Thời gian huấn luyện lâu và không phải luôn hội tụ

- Không biết trước được sự ràng buộc giữa lỗi huấn luyện và cấu trúc mạng

- Không biết trước hiệu suất huấn luyện (thời gian huấn luyện, độ lỗi)

- Khó xác định độ lỗi của mạng từ tập huấn luyện

- Khó xác định độ lớn của tập huấn luyện.

Ưu và nhược điểm của mạng lan truyền thẳng

- Hỗ trợ tính toán song song ở mức rất cao

- Có khả năng chịu nhiều lỗi, nhờ các tính toán song song

- Có thể được thiết kế để tự thích nghi (Các trọng số, cấu trúc mạng)

- Không có quy tắc tổng quát để xác định cấu trúc mạng và các tham số học tối ưu cho một lớp, một bài toán xác định

- Không có phương pháp tổng quát để đánh giá hoạt động bên trong của ANN (vì vậy hệ thống ANN được xem như là một “hộp đen”)

- Rất khó (không thể) để giải thích cho người dùng

- Rất khó để dự đoán hiệu năng của hệ thống trong tương lai (khả năng khái quát hóa của hệ thống học)

TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO

Lịch sử quá trình dự báo

Nhu cầu dự báo về diễn biến tương lai đã tồn tại từ nhiều thế kỷ trước, bắt đầu từ những dự đoán về hiện tượng tự nhiên, xã hội và đời sống con người.

Ban đầu, dự báo chỉ dựa vào kinh nghiệm cá nhân, nhưng với sự phát triển của công nghệ, độ chính xác của dự báo đã được cải thiện đáng kể Nhiều phương pháp dự báo đã được nghiên cứu và áp dụng, bao gồm phương pháp hồi quy bội, phương pháp Delphi, phương pháp Cross Impact Matrices và phương pháp ARIMA, kết hợp giữa tự hồi quy và trung bình động.

Có rất nhiều cách phân loại dự báo như:

Dự báo thời tiết được chia thành ba loại chính dựa trên thời gian: dự báo dài hạn, dự báo trung hạn và dự báo ngắn hạn Ngoài ra, phương pháp dự báo cũng có thể phân loại theo các tiêu chí khác nhau.

- Dự báo bằng phương pháp chuyên gia, dự báo theo phương trình hồi quy, dự báo dựa vào dãy số thời gian…

Khái niệm về dự báo

Dự báo là một khoa học và nghệ thuật tiên đoán những sự việc sẽ xảy ra trong tương lai

Dự báo khoa học được xây dựng dựa trên dữ liệu thu thập từ quá khứ và phân tích các yếu tố ảnh hưởng đến kết quả dự báo.

Dự báo mang tính nghệ thuật dựa vào kinh nghiệm thực tế và khả năng phán đoán của các chuyên gia, nhằm đưa ra những dự đoán có độ chính xác cao nhất.

Mục đích của dự báo

Đưa ra quyết định chính xác và nhất quán là điều quan trọng trong phân tích dự báo Phân tích này cung cấp thông tin chi tiết về đối tượng dự báo, từ đó giúp xác định các hành động chiến lược phù hợp Nhờ vào sự hỗ trợ của kỹ thuật, quá trình phân tích dự báo diễn ra liên tục và mang lại kết quả đáng tin cậy Điều này đảm bảo rằng các quyết định được đưa ra một cách công bằng, không phụ thuộc vào sự chủ quan của con người.

Giải quyết công việc nhanh chóng hơn với khả năng dự báo và trả lời các câu hỏi phức tạp một cách chính xác trong thời gian ngắn Những quyết định trước đây mất hàng giờ hoặc vài ngày giờ đây chỉ cần vài phút hoặc thậm chí vài giây nhờ sự hỗ trợ của khoa học.

Giảm chi phí thông qua việc giảm thiểu rủi ro là điều quan trọng, vì sự hiểu biết về đối tượng cho phép các nhà lãnh đạo đánh giá chính xác các rủi ro và từ đó giảm thiểu tổn thất.

Những thách thức trong dự báo

Dự báo nhằm nâng cao hiệu quả và hỗ trợ quyết định cho các nhà lãnh đạo, nhưng không phải lúc nào cũng chính xác Một số yếu tố ảnh hưởng đến độ chính xác của dự báo bao gồm trở ngại trong quản lý, chất lượng dữ liệu, quá trình xây dựng mô hình và triển khai.

Trong quản lý, việc triển khai mô hình dự báo thường gặp nhiều trở ngại do yêu cầu chuyển đổi nguồn lực trong tổ chức Để thành công, cần có sự hỗ trợ từ các nhà lãnh đạo nhằm chuyển các mô hình từ giai đoạn nghiên cứu sang giai đoạn vận hành hiệu quả.

Các mô hình dữ liệu thường yêu cầu thông tin được tổ chức dưới dạng bảng hai chiều với hàng và cột Để tạo ra bảng này, nếu dữ liệu được lưu trữ trong các cơ sở dữ liệu, cần thiết phải kết nối chúng lại với nhau.

Trong quá trình xây dựng mô hình, một trong những trở ngại lớn nhất là sự quá tải, khi mô hình trở nên quá phức tạp và cần ghi nhớ nhiều dữ liệu huấn luyện Điều này dẫn đến hai vấn đề chính: thứ nhất, mô hình thường hoạt động kém với dữ liệu mới và việc giải thích kết quả không đáng tin cậy; thứ hai, các nhà xây dựng mô hình thường quá tham vọng khi dựa vào dữ liệu có sẵn trong một khoảng thời gian nhất định Để khắc phục những vấn đề này, cách tốt nhất là bắt đầu với một mô hình đơn giản và sau đó cải tiến nó sau khi đã thực hiện các thử nghiệm.

Trong quá trình triển khai mô hình, một trong những trở ngại chính là việc kiểm tra tính chính xác của mô hình với hệ thống hoạt động thực tế Mặc dù các mô hình thường không phức tạp về mặt tính toán, nhưng chúng cần phải đưa ra dự đoán phù hợp để đảm bảo hiệu quả hoạt động của hệ thống.

Các phương pháp dự báo

Các phương pháp dự báo được chia thành hai phương pháp là phương pháp định tính và phương pháp định lượng

Phương pháp định tính, hay còn gọi là phương pháp dự báo chuyên gia, được áp dụng khi dữ liệu không có sẵn hoặc không đủ để phân tích Phương pháp này đặc biệt hữu ích khi đối tượng dự báo chịu ảnh hưởng từ các yếu tố không thể lượng hóa Nguyên tắc chính là thu thập ý kiến từ một hoặc nhiều chuyên gia trong lĩnh vực liên quan, nhằm đảm bảo tính chính xác của dự báo bằng cách loại trừ ý kiến chủ quan.

Phương pháp định lượng là cách dự báo dựa trên dữ liệu lịch sử hoặc số liệu hiện tại của các đối tượng, giúp đưa ra kết quả nhanh chóng và đo lường độ chính xác Tuy nhiên, phương pháp này chỉ phù hợp cho dự báo ngắn hạn và trung hạn Để nâng cao hiệu quả dự báo, người ta thường kết hợp phương pháp định tính và định lượng.

Quy trình thực hiện dự báo

Dự báo là một quá trình phức tạp nhưng về cơ bản quy trình có thể thực hiện theo các bước sau:

Hình 6 Quy tình thực hiện dự báo

Bước đầu tiên trong quá trình dự báo là xác định mục tiêu, điều này giúp làm rõ mục đích sử dụng kết quả dự báo Mục tiêu chính của việc dự báo là hỗ trợ lập kế hoạch và đưa ra quyết định hành động hợp lý Đặc biệt, việc xác định mục tiêu sẽ giúp xây dựng chiến lược đầu tư tiền điện tử hiệu quả.

Bước 2 trong quy trình dự báo là xác định rõ nội dung cần dự báo Chẳng hạn, mục tiêu chính là dự đoán sự tăng giá của Bitcoin (BTC) Phân tích sẽ dựa trên dữ liệu lịch sử từ ngày 06/01/2020 đến 02/05/2021.

Bước 3: Xác định khía cạnh thời gian bằng cách xác định độ dài của dự báo, bao gồm dự báo dài hạn và ngắn hạn, cũng như mức độ cấp thiết của dự báo đó.

Xá đinh nội dung dự báo

Xác đinh khía cạnh thơi gian

Lựa chọn mô hình Đánh giá mô hình

Trình bày kết quả dự báo

Theo dõi kết quả dự báo

Bước 4: Việc xem xét dữ liệu bao gồm việc đánh giá các yếu tố như nguồn cung cấp, các bước phân loại, đánh giá và xử lý dữ liệu trước khi sử dụng Báo cáo này dựa trên nguồn dữ liệu thu thập từ https://coinmarketcap.com, đảm bảo rằng dữ liệu được sử dụng là chính xác và đáng tin cậy.

Bước 5: Lựa chọn mô hình dự báo phù hợp cần xem xét nhiều yếu tố như dữ liệu đầu vào, yêu cầu về thời gian, kết quả đầu ra và tài nguyên sẵn có Quy trình này có thể áp dụng một số chiến lược dự báo để đảm bảo tính hiệu quả và chính xác trong lựa chọn mô hình.

1 Tiền định: Dựa trên mối quan hệ mật thiết giữa hiện tại và tương lai

2 Triệu chứng: Dựa trên những dấu hiệu hiện tại để dự báo cho tương lai

3 Hệ thống: Tức là cho rằng xu hướng phát triển trong tương lai sẽ tuân thủ theo một quy tắc nào đó, chẳng hạn quá trình tăng giảm Bitcoin (BTC)

Hình 7 Quy trình lựa chọn mô hình dự báo

Nhận định và đánh giá chung

Xác định vấn đề dự báo cụ thể

Xác định yêu cầu về đầu ra

Xác định chiến dược dự báo

Xác định lập các mô hình sơ bộ

Bước 6: Đánh giá mô hình là rất quan trọng trong dự báo Đối với phương pháp dự báo định tính, cần chú trọng vào việc đánh giá mô hình, trong khi với phương pháp định lượng, cần xem xét mức độ phù hợp của mô hình và độ chính xác của dự báo Nếu phát hiện mô hình không phù hợp, cần quay lại các bước trước đó để điều chỉnh.

5 Để đánh giá độ phù hợp của mô hình trong báo cáo sử dụng hai tiêu chí sai số tuyệt đối phần trăm (APE) và sai số tuyệt đối trung bình phần trăm (MAPE)

Bước 7: Chuẩn bị dự báo, chuẩn bị các số liệu để phục vụ cho việc dự báo

Bước 8: Trình bày kết quả dự báo cần đảm bảo tính ngắn gọn và rõ ràng, đồng thời chỉ ra độ tin cậy của dự báo Có nhiều phương pháp để trình bày kết quả, bao gồm bảng biểu, đồ thị, hình ảnh minh họa, và có thể được thể hiện dưới dạng viết hoặc nói.

Bước 9: Theo dõi kết quả dự báo là quá trình quan trọng để đánh giá độ chính xác của dự báo bằng cách so sánh giá trị dự báo với giá trị thực tế Mục tiêu của việc này là xác định nguyên nhân gây ra sai số và đo lường mức độ sai số, từ đó giúp bảo trì và nâng cấp hệ thống dự báo hiệu quả hơn.

Phương pháp dự báo sử dụng mạng Neural

Mô hình mạng neural có khả năng học hỏi từ dữ liệu quá khứ và cập nhật các tham số, giúp tối ưu hóa dự báo Khi lựa chọn được các tham số phù hợp, mô hình này có thể xấp xỉ chính xác đường cong dịch chuyển của đối tượng cần dự báo, mang lại kết quả với độ chính xác cao Trong luận văn này, mô hình mạng neural sẽ được áp dụng để dự báo tuyển sinh, và các vấn đề liên quan sẽ được trình bày chi tiết trong các chương tiếp theo.

Đánh giá mô hình dự báo

Để xác định sai số, chúng ta sử dụng sai số tuyệt đối phần trăm (APE) và sai số tuyệt đối trung bình phần trăm (MAPE), được định nghĩa rõ ràng như sau:

MÔ TẢ BÀI TOÁN DỰ BÁO GIÁ TĂNG BITCOIN

Phát biểu bài toán

Trong bối cảnh xã hội ngày càng phát triển, tiền điện tử, đặc biệt là Bitcoin, đã ra đời và trở thành một phương tiện thanh toán được nhiều doanh nghiệp trên toàn cầu chấp nhận Ngoài ra, tiền điện tử còn được các nhà đầu tư coi như một tài sản giá trị, tương tự như vàng, và được lựa chọn để đầu tư nhằm kiếm lợi nhuận.

Hiện nay, sự tiến bộ vượt bậc của khoa học công nghệ, đặc biệt là nhờ vào máy tính và các công nghệ tính toán tiên tiến như ANN và BP, đã mở ra khả năng phát triển các công cụ dự đoán biến động giá của Bitcoin.

Dự liệu giá Bitcoin

Bảng dữ liệu giá Bitcoin được sử dụng trong quá trình dự báo trên website https://coinmarketcap.com/ từ ngày 06/01/2020 đến 02/05/2021

Bài viết này cung cấp thông tin về ngày, giá mở cửa, giá đóng cửa, giá cao nhất và giá thấp nhất trong ngày, đồng thời đưa ra dự báo về giá Bitcoin cao nhất trong ngày.

Các yếu tố ảnh hướng đến giá cả Bitcoin được áp dụng trong dự báo này là dựa theo giá cả lịch sử

Trong bài báo cáo này sẽ dự báo giá BTC cao nhất trong ngày là bao nhiêu

Stt Ngày Giá mở của* Giá cao nhất Giá thấp nhất Giá đóng của

Chọn phương án chọn cấu trúc dữ liệu

Phương án đặc trưng của bài viết là sử dụng 476 tuần dữ liệu giá Bitcoin cao nhất mỗi ngày, phản ánh sự biến động của giá trong thời gian này và ảnh hưởng đến các số liệu trong những tuần sau Dữ liệu này có thể hỗ trợ dự báo ngắn hạn về giá Bitcoin Phương pháp dự báo sẽ áp dụng hồi quy, sử dụng dữ liệu từ các tuần trước để dự đoán giá trong các tuần tiếp theo.

Stt Ngày Giá cao nhất

Bảng 3 Dữ liệu giá Bitcoin cao nhất trong ngày

Chọn phương án chọn cấu trúc dữ liệu

Từ bảng dữ liệu 3 đã xây dựng bài toán như sau:

- Lấy 7 ngày đầu từ 06/01/2020 đến 12/01/2020 để dự báo cho ngày 13/01/2020

- Sau đó lại lấy tiến lên 1 ngày từ 07/01/2020 đến 13/01/2020 để dự báo cho ngày 14/01/2020

- Cứ tiếp tục như vậy cho dự báo đến năm 02/05/2021

Bài toán sẽ gồm 2 pha như sau:

Dữ liệu học sẽ được thu thập từ ngày 06/01/2020 đến ngày 10/12/2020, tổng cộng có 340 mẫu, mỗi mẫu bao gồm 7 đầu vào là giá cao nhất của Bitcoin trong mỗi ngày Mẫu đầu tiên là

Trong khoảng thời gian từ 06/01/2020 đến 12/01/2020, giá Bitcoin cao nhất mỗi ngày được ghi nhận và sẽ được sử dụng để dự đoán giá Bitcoin cao nhất của ngày 13/01/2020 Tương tự, từ 07/01/2020 đến 13/01/2020, giá Bitcoin cao nhất mỗi ngày sẽ được tổng hợp để dự đoán giá cao nhất của ngày 14/01/2020.

Tính đến ngày 10/03/2021, giá Bitcoin cao nhất trong mẫu dữ liệu là 34 Dữ liệu từ 11/12/2020 đến 02/05/2021 sẽ được sử dụng để kiểm tra độ chính xác của dự báo Bảng dữ liệu học thể hiện các đầu vào x1 đến x7 và đầu ra k từ 1 đến 40, với các giá trị giá Bitcoin tương ứng Ví dụ, với k=1, các giá trị lần lượt là 7781.87, 8178.22, 8396.74, 8082.30, 8166.55, 8218.36, 8200.06, 8197.79 Đến k=40, giá trị cuối cùng là 23642.66.

Bảng 4 Bảng dữ liệu học giá theo USD

Ta có thể mô tả của bài toán như sau: y1 = w11x1 + w12x2 + … + w17x7 = x8 (13-01-2020) = d1 y2 = w21x1 + w22x2 + … + w27x7 = x8 (14-01-2020) = d2

- Từ kết quả của tập huấn luyển ta tìm được W = [wij]

- Cho tập dữ liệu năm [06/01/2020 02/05/2021]

- Cho tập dữ liệu giá BTC cao nhất trong ngày [7,781 … 57,903]

- Bài toán xác định y là số giá BTC ngày 03/05/2021

Nếu muốn dự báo số giá vào 04/05/2021 ta sẽ có 2 bước như sau:

Bước 1: Lấy dữ liệu năm 03/05/2021 cho học lại

Bước 2: Lấy dữ liệu 7 ngày 27/04/2021 – 03/05/2021 để tìm y của 04/05/2021

Cứ như vậy có thể sử dụng dữ liệu của 7 ngày trước để dự báo cho ngày sau.

Thiết kế mạng Neural

Trong bài toán, ta xác định cặp đầu vào (x (k) , d (k) ) trong đó k=1…340 là giá trị dữ liệu giá cao nhất của Bitcoin cao nhất trong ngày 06/01/2020 đến ngày 10/12/2020

Trong báo cáo lựa chọn mô hình mạng neural với 3 lớp (1 lớp vào, 1 lớp ẩn, 1 lớp ra) như trong cấu trúc bài toán ở trên

Trong luận văn, chúng tôi đã chọn 7 lớp neural cho từng tập mẫu, với giá trị đầu vào của mạng là giá cao nhất của Bitcoin trong mỗi ngày của tuần Đầu ra của tập mẫu trước sẽ trở thành đầu vào cho tập mẫu tiếp theo.

Việc xác định số lượng nơ-ron cho lớp ẩn trong mạng nơ-ron là một thách thức lớn, thường phải dựa vào thực nghiệm cụ thể của bài toán Sau khi thực hiện các thử nghiệm, số nơ-ron tối ưu cho lớp ẩn đã được xác định là 7.

Bài toán đặt ra là dự đoán giá cao nhất của Bitcoin trong những ngày tiếp theo Mục tiêu là xác định giá Bitcoin cao nhất trong các ngày sắp tới để có cái nhìn rõ hơn về xu hướng thị trường.

Hằng số học  được lựa chọn bằng phương pháp thực nghiệm

3.5.3 Hàm tương tác đầu ra

Hàm Log-sigmoid được sử dụng trong lớp vào và lớp ẩn của mạng nơ-ron, mang lại lợi ích lớn cho việc huấn luyện bằng thuật toán lan truyền ngược BP nhờ vào tính dễ dàng trong việc tính đạo hàm.

Hàm log-sigmoid này phù hợp với các bài toán có đầu ra mong muốn rơi vào khoảng [0,1]

Hàm kích hoạt trong lớp ra được sử dụng là hàm tổng SUM, vì giá trị đầu ra là giá trị thực tế đã được chuẩn hóa theo đơn vị đầu ra.

CHẠY THỬ NGHIỆM DỰ BÁO GIÁ BITCOIN CAO NHẤT TRONG NGÀY

Dự báo chạy thử nghiệm với Matlab

Mẫu Ngày Giá trị thực

Giá trị dự báo BTC/USD

Bảng 5 Kết quả huấn luyện dự báo giá BTC bằng Matlab

Kết quả dự báo sử dụng mạng neural truyền thẳng kết hợp với thuật toán lan truyền ngược sai số cho thấy độ chính xác tương đối cao, với sai số nằm trong mức chấp nhận được.

Bảng 5 trình bày kết quả huấn luyện mạng neural sau 1000 vòng, cho thấy số lỗi MAE trong quá trình huấn luyện và lỗi MSE được thể hiện ở Hình 8 Mạng đã đạt hiệu suất tốt nhất khi hội tụ tại vòng huấn luyện thứ 961.

Hình 9 Kết quả kiểm tra mạng trong Matlab

Hình 9 trình bày kết quả kiểm tra mạng từ bộ dữ liệu thu thập trong khoảng thời gian từ ngày 06/01/2020 đến 02/05/2021, trong đó đường màu xanh thể hiện giá trị thực tế đã được ghi nhận, còn đường màu cam phản ánh các thông số liên quan.

Số 28 thể hiện giá trị dự báo, và từ biểu đồ kiểm tra kết quả của mạng, chúng ta thấy rằng dự báo của mạng khá chính xác với sai số nhỏ Để xác định sai số, chúng ta sử dụng hai chỉ số là sai số tuyệt đối phần trăm (APE) và sai số tuyệt đối trung bình phần trăm (MAPE), được định nghĩa rõ ràng.

Dự báo bằng Visual Gene Developer

Mẫu Ngày Giá trị thực

Giá trị dự báo BTC/USD

Bảng 6 Kết quả huấn luyện dự báo giá BTC bằng Visual Gene Developer

Hình 10 Kết quả kiểm tra mạng trong Visual Gene Developer

Để xác định sai số, chúng ta sử dụng sai số tuyệt đối phần trăm (APE) và sai số tuyệt đối trung bình phần trăm (MAPE), được định nghĩa như sau:

Kết quả dự báo sử dụng mạng neural truyền thẳng với thuật toán lan truyền ngược sai số cho thấy rằng Visual Gene Developer mang lại hiệu quả dự báo cao hơn đáng kể so với Matlab.

Dự báo trung bình cộng

Mẫu Ngày Giá trị thực

Giá trị dự báo BTC/USD

Bảng 7 Kết quả huấn luyện dự báo giá BTC bằng phương pháp trung bình cộng

Để xác định sai số trong phương pháp trung bình cộng, chúng ta sử dụng hai chỉ số: sai số tuyệt đối phần trăm (APE) và sai số tuyệt đối trung bình phần trăm (MAPE).

Kết quả dự báo của ba phương pháp

Mẫu Giá trị thực BTC/USD

Giá trị dự báo BTC/USD

Giá trị dự báo BTC/USD

Giá trị dự báo BTC/USD

Bảng 8 Kết quả dự báo của năm phương pháp khác nhau

Qua các kết quả thực nghiệm thu được trong quá trình thử nghiệm trên công cụ dự báo trên đã chỉ ra được những điều sau:

- Mạng neural nhân tạo có tính ứng dụng rất đa dạng, khá hiệu quả trong các bài toán dự báo

Mức độ chính xác của mô hình phụ thuộc vào nhiều thông số, nhưng hiện tại chưa có phương pháp nào xác định chính xác tính chất và giá trị của các thông số này Do đó, cần áp dụng phương pháp thực nghiệm để tìm ra giá trị tối ưu cho các thông số.

Ngày đăng: 24/09/2022, 23:30

HÌNH ẢNH LIÊN QUAN

Hình 1. Mơ hình neural sinh học - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 1. Mơ hình neural sinh học (Trang 8)
Hình 2. Mơ hình mạng nhiều lớp neural - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 2. Mơ hình mạng nhiều lớp neural (Trang 11)
Bảng 1. Một số hàm phi tuyến thường được sử dụng trong các mơ hình neural - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Bảng 1. Một số hàm phi tuyến thường được sử dụng trong các mơ hình neural (Trang 12)
Hình 3. Các dạng học - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 3. Các dạng học (Trang 13)
Hình 4. Mạng truyền thẳng nhiều lớp - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 4. Mạng truyền thẳng nhiều lớp (Trang 16)
Hình 5. Cấu trúc mạng lan truyền ngược - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 5. Cấu trúc mạng lan truyền ngược (Trang 18)
Hình 6. Quy tình thực hiện dự báo - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 6. Quy tình thực hiện dự báo (Trang 25)
Bước 5: Lựa chọn mơ hình Để lựa chọn mơ hình thích hợp cho dự báo cần xem xét các - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
c 5: Lựa chọn mơ hình Để lựa chọn mơ hình thích hợp cho dự báo cần xem xét các (Trang 26)
Bảng dữ liệu giá Bitcoin được sử dụng trong quá trình dự báo trên website - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Bảng d ữ liệu giá Bitcoin được sử dụng trong quá trình dự báo trên website (Trang 28)
Bảng 3. Dữ liệu giá Bitcoin cao nhất trong ngày - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Bảng 3. Dữ liệu giá Bitcoin cao nhất trong ngày (Trang 29)
Bảng 4. Bảng dữ liệu học giá theo USD - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Bảng 4. Bảng dữ liệu học giá theo USD (Trang 30)
Bảng 5. Kết quả huấn luyện dự báo giá BTC bằng Matlab - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Bảng 5. Kết quả huấn luyện dự báo giá BTC bằng Matlab (Trang 33)
Hình 9. Kết quả kiểm tra mạng trong Matlab - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 9. Kết quả kiểm tra mạng trong Matlab (Trang 34)
Hình 8. Lỗi MSE - Dự báo tỷ giá bitcoin (btc) sử dụng mạng neural nhân tạo
Hình 8. Lỗi MSE (Trang 34)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w