(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá(Đề tài NCKH) Nghiên cứu ứng dụng công cụ khai phá dữ liệu trong bài toán về giao dịch tỷ giá
TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU
Tính cấp thiết của đề tài
Trong giao dịch ngoại hối, dự báo xu hướng tỷ giá của các cặp tiền tệ là yếu tố quan trọng giúp nhà đầu tư xây dựng chiến lược giao dịch hiệu quả, tăng lợi nhuận và giảm thiểu rủi ro Tỷ giá biến động theo thời gian và có thể được phân tích dựa trên dữ liệu lịch sử Việc dự báo có thể thực hiện thủ công qua kinh nghiệm hoặc tự động bằng các công cụ phân tích kỹ thuật Tuy nhiên, giao dịch thủ công thường gặp hạn chế về độ chính xác và tâm lý, trong khi giao dịch tự động mang lại ưu thế về khả năng xử lý nhanh chóng và giám sát liên tục Do đó, việc phát triển và ứng dụng các mô hình học có giám sát cho robot giao dịch đang trở thành một xu hướng tiềm năng và hiệu quả.
Học phần “Khai phá dữ liệu trong kinh doanh” được thiết kế nhằm đáp ứng nhu cầu thực tế về nhân lực trong lĩnh vực phân tích dữ liệu và hệ thống thông tin kinh tế Chương trình này phục vụ cho việc đào tạo sinh viên chuyên ngành quản trị hệ thống thông tin và quản lý hệ thống thông tin, giúp các em nắm vững kiến thức cần thiết để phát triển nghề nghiệp trong ngành.
Chương trình học gồm 3 tín chỉ, tập trung vào khai phá dữ liệu, đặc biệt là dữ liệu liên quan đến các bài toán kinh tế Một trong những bài toán quan trọng là giao dịch tỷ giá trên thị trường ngoại tệ, cung cấp tài liệu tham khảo hữu ích cho sinh viên trong quá trình học tập.
Dựa trên nhu cầu thực tế, tôi đã chọn đề tài "Nghiên cứu ứng dụng công cụ khai thác dữ liệu trong bài toán giao dịch tỷ giá" để tiến hành nghiên cứu.
Tổng quan vấn đề nghiên cứu
Thị trường ngoại hối là nền tảng cho các giao dịch trao đổi ngoại tệ, hoạt động dựa trên mối quan hệ cung cầu Trong quá trình này, người tham gia thường thực hiện việc mua một loại tiền tệ và bán một loại tiền tệ khác.
Thị trường ngoại hối cho phép trao đổi các đồng tiền theo từng cặp, với các giao dịch diễn ra liên tục trên toàn cầu Các ngân hàng, nhà môi giới, chuyên viên ngoại hối, tổ chức tài chính và cá nhân tham gia vào việc mua bán ngoại tệ Thời gian giao dịch bắt đầu từ 21 giờ (GMT) chủ nhật và kéo dài suốt tuần.
21 giờ (GMT) thứ 6 hàng tuần
Bài toán giao dịch trên thị trường ngoại hối tập trung vào việc dự báo xu hướng tỷ giá của các cặp tiền tệ theo ngày, dựa trên dữ liệu lịch sử tỷ giá và sự kiện kinh tế Đầu ra của bài toán là xu hướng tăng hay giảm của các cặp tiền tệ, từ đó hỗ trợ quyết định giao dịch mua, bán, chốt lời hoặc dừng lỗ Qua việc phân tích dữ liệu chuỗi thời gian, các thuộc tính quan trọng được tạo ra để phục vụ cho bài toán phân lớp nhị phân, giúp dự đoán xu hướng tỷ giá Các mô hình học máy có thể được áp dụng để nâng cao độ chính xác trong việc dự đoán xu hướng tỷ giá của các cặp tiền tệ.
Piche (1995) utilized plot charts to illustrate the trend of exchange rate fluctuations using trend matrices Forecasting exchange rates often employs time series models, notably the Autoregressive Integrated Moving Average (ARIMA) model (Box and Jenkins, 1970; Yu, 2002) Recently, the GARCH model has gained popularity for forecasting stocks and foreign exchange (Wei, 2009) Additionally, various neural network models (Haykin, 1999; Chan & Teong, 1995; Woon-Seng & Kah-Hwa, 1995; Refenes & Azema-Barac, 1992; Joarder & Ruhul, 2003; Zhang & Kline, 2007; Kotsiantis, 2007) and Support Vector Machines (SVM) (Cao and Francis, 2001; Baasher & Mohamed) have also been widely used in this field.
Mô hình học có giám sát đã trở thành công cụ phổ biến trong việc dự báo tỷ giá ngoại hối, đặc biệt từ năm 2010 Các phân tích cho thấy rằng những mô hình này được ứng dụng rộng rãi trong giao dịch ngoại hối, giúp cải thiện độ chính xác trong các quyết định đầu tư.
Mục tiêu cụ thể đặt ra cần giải quyết trong đề tài
Mục tiêu nghiên cứu của đề tài là phát triển mô hình khai phá dữ liệu nhằm dự đoán xu hướng giao dịch các cặp tiền tệ dựa trên dữ liệu giao dịch trong quá khứ Nghiên cứu này không chỉ cung cấp tài liệu tham khảo cho môn học “khai phá dữ liệu trong kinh doanh” mà còn hỗ trợ sinh viên chuyên ngành quản trị hệ thống thông tin trong quá trình học tập.
Nghiên cứu cụ thể một số mô hình khai phá dữ liệu trong các mô hình khai phá nói chung
Tập trung nghiên cứu bài toán về giao dịch ngoại hối, và cụ thể là các hoạt động mua/bán giữa USD/EUR hoặc VND/USD
Xây dựng mô hình giao dịch tỷ giá VND/USD, USD/EUR,…
Tài liệu tham khảo này được xây dựng nhằm hỗ trợ việc biên soạn giáo trình cho học phần “Khai phá dữ liệu trong kinh doanh” – 2 tín chỉ, thuộc chuyên ngành quản trị hệ thống thông tin tại trường Đại học Thương Mại.
Báo cáo này là tài liệu tham khảo hữu ích cho sinh viên ngành Hệ thống thông tin Kinh tế và Thương mại điện tử, cũng như những ai quan tâm đến khai thác dữ liệu trong kinh doanh Ngoài ra, báo cáo còn hỗ trợ giảng dạy trong các môn học như Cơ sở dữ liệu, Quản trị Cơ sở dữ liệu, và đặc biệt là môn Khai phá dữ liệu trong kinh doanh cho chuyên ngành Quản trị Hệ thống thông tin.
1.4 Đ ố i t ượ ng và ph ạ m vi nghiên c ứ u đ ề tài
Cách tiếp cận các mẫu khảo sát:
Dữ liệu giao dịch tỷ giá đã được thu thập trực tuyến thông qua chương trình META TRADER 4 từ các nghiên cứu trước Mẫu dữ liệu được thu thập trong khoảng thời gian một năm, từ tháng 3 năm 2017 đến tháng 3 năm 2018, với các giao dịch diễn ra hàng ngày.
- Loại dữ liệu (định tính, định lƣợng): Định lƣợng
Bài toán giao dịch tỉ giá với các dòng dữ liệu giao dịch có thể áp dụng cho nhiều cặp tỉ giá khác nhau, nhưng trong nghiên cứu này, cặp USD/VND được chọn vì tính phổ biến và sự liên quan đến đối tượng độc giả là sinh viên trong quá trình giảng dạy Việc sử dụng cặp tỉ giá này sẽ giúp các sinh viên dễ dàng tiếp cận và áp dụng các phương pháp xử lý và thực nghiệm tương tự trong mô hình.
Một số công cụ đƣa vào mô hình dự báo tỷ giá: Học có giám sát: SVM và cây quyết định
• Không gian, phạm vi: Các dữ liệu tỉ giá
1.5 Ph ươ ng pháp th ự c hi ệ n đ ề tài
Bài viết sử dụng phương pháp nghiên cứu tài liệu lý thuyết về khai phá dữ liệu và một số mô hình cụ thể liên quan đến giao dịch ngoại hối Dựa trên cơ sở đó, dữ liệu sơ cấp được thu thập từ website giao dịch Mô hình hóa bài toán giao dịch USD/VND được thực hiện với các dữ liệu đã thu thập và tiến hành thử nghiệm mô hình.
Phương pháp thu thập dữ liệu sử dụng dữ liệu thứ cấp từ trang web giao dịch ngoại hối USD/VND, thông qua phần mềm META TRADER 4 và Invest.com, với sự hỗ trợ của một đoạn chương trình nhỏ (Script) được cài đặt thêm vào phần mềm.
Phương pháp xử lý dữ liệu bao gồm các bước quan trọng như tiền xử lý dữ liệu sử dụng phần mềm META TRADER 4, xây dựng mô hình khai phá dựa trên tập dữ liệu, và thực hiện thử nghiệm mô hình để đảm bảo tính hiệu quả và độ chính xác của kết quả.
1.6 Bố cục của đề tài Đề tài được chia thành 3 chương trong đó:
Chương 1: Tổng quan nghiên cứu Chương này nêu rõ tính cấp thiết của đề tài và đồng thời chương này còn chỉ ra phương pháp nghiên cứu và các nghiên cứu liên quan đến đề tài
Chương 2: Tổng quan về khai phá dữ liệu và bài toán giao dịch ngoại hối
Chương này trình bày các khái niệm cơ bản về khai phá dữ liệu, trí tuệ nhân tạo và học máy, đồng thời khám phá các khái niệm liên quan đến giao dịch tỷ giá Nội dung sẽ giúp người đọc hiểu rõ hơn về sự tương tác giữa các lĩnh vực này trong bối cảnh tài chính.
9 phân loại các công cụ của khai phá dữ liệu (học có giám sát, không giám sát), và đặt bài toán giao dịch tỷ giá
Chương 3: Đề xuất mô hình khai phá dữ liệu trong bài toán giao dịch tỷ giá
Chương này trình bày mô hình khai phá dữ liệu, quy trình thu thập và xử lý dữ liệu, cùng với việc phân chia tập dữ liệu thực nghiệm Hai phương pháp phổ biến được áp dụng trong các thí nghiệm là SVM và cây quyết định Cuối chương, các thảo luận về kết quả thực nghiệm sẽ được đưa ra.
Phần kết luận sẽ tóm tắt lại các kết quả đã nghiên cứu đồng thời đề xuất các kiến nghị liên quan.
Phương pháp thực hiện đề tài
Trong nghiên cứu này, chúng tôi áp dụng phương pháp nghiên cứu tài liệu lý thuyết về khai phá dữ liệu và các mô hình cụ thể liên quan đến giao dịch ngoại hối Dựa trên nền tảng lý thuyết, chúng tôi thu thập dữ liệu sơ cấp từ các trang web giao dịch Mô hình hóa bài toán giao dịch USD/VND được thực hiện dựa trên dữ liệu đã thu thập, sau đó tiến hành thử nghiệm mô hình để đánh giá hiệu quả.
Phương pháp thu thập dữ liệu sử dụng dữ liệu thứ cấp từ trang web giao dịch ngoại hối USD/VND thông qua phần mềm META TRADER 4 và Invest.com, kết hợp với một đoạn chương trình nhỏ (Script) để cài đặt thêm (Add-in) vào phần mềm.
Phương pháp xử lý dữ liệu bao gồm các bước quan trọng như tiền xử lý dữ liệu sử dụng phần mềm META TRADER 4, xây dựng mô hình khai phá dựa trên tập dữ liệu đã chuẩn bị, và tiến hành thử nghiệm mô hình để đánh giá hiệu quả.
Bố cục của đề tài
Đề tài được chia thành 3 chương trong đó:
Chương 1: Tổng quan nghiên cứu Chương này nêu rõ tính cấp thiết của đề tài và đồng thời chương này còn chỉ ra phương pháp nghiên cứu và các nghiên cứu liên quan đến đề tài
Chương 2: Tổng quan về khai phá dữ liệu và bài toán giao dịch ngoại hối
Chương này cung cấp cái nhìn tổng quan về khai phá dữ liệu, trí tuệ nhân tạo và học máy, đồng thời trình bày các khái niệm liên quan đến giao dịch tỷ giá Nội dung chương sẽ giúp người đọc hiểu rõ hơn về mối liên hệ giữa các lĩnh vực này.
9 phân loại các công cụ của khai phá dữ liệu (học có giám sát, không giám sát), và đặt bài toán giao dịch tỷ giá
Chương 3: Đề xuất mô hình khai phá dữ liệu trong bài toán giao dịch tỷ giá
Chương này trình bày mô hình khai phá dữ liệu, quy trình thu thập và xử lý dữ liệu, cùng với việc phân chia tập dữ liệu thực nghiệm Hai phương pháp phổ biến được áp dụng trong thực nghiệm là SVM và cây quyết định Phần cuối chương tập trung vào thảo luận về các kết quả thực nghiệm đã thực hiện.
Phần kết luận sẽ tóm tắt lại các kết quả đã nghiên cứu đồng thời đề xuất các kiến nghị liên quan.
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN GIAO DỊCH NGOẠI HỐI
Một số khái niệm cơ bản
2.1.1 Các khái niệm về khai phá dữ liệu
Khái niệm về dữ liệu
Theo Wikipedia, và theo điều 4 Luật Giao dịch điện tửban hành ngày 29 tháng 11 năm
2005, dữ liệu là thông tin dưới dạng ký hiệu,chữ viết, chữ số, hình ảnh, âm thanh hoặc dạng tương tự
Dữ liệu thô bao gồm các số, ký tự, hình ảnh và kết quả từ các thiết bị chuyển đổi các lượng vật lý thành ký hiệu Dữ liệu này thường được xử lý bởi con người hoặc máy tính, nơi nó được lưu trữ và xử lý, hoặc chuyển giao cho người hoặc máy tính khác Thuật ngữ "dữ liệu thô" là tương đối, vì việc xử lý dữ liệu thường diễn ra qua nhiều bước, và dữ liệu đã được xử lý ở một bước có thể được coi là dữ liệu thô cho bước tiếp theo.
Tập tin truyền thống (flat files)
Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu giao tác hoặc kho dữ liệu
Cơ sở dữ liệu tạm thời (data streem)
Khái niệm về khai phá dữ liệu
KPDL, theo Tom Mitchell (1999), là việc sử dụng dữ liệu lịch sử để khám phá các quy tắc và cải thiện quyết định trong tương lai Fayyad (1996) định nghĩa KPDL là quá trình khám phá tri thức trong cơ sở dữ liệu, nhằm trích xuất thông tin ẩn, chưa biết và có giá trị dưới dạng các quy luật, ràng buộc Do đó, KPDL có thể được xem là quá trình học tri thức mới từ dữ liệu đã thu thập, và nó là sự kết hợp của nhiều lĩnh vực khác nhau.
Hình 1: Các lĩnh vực liên quan của khai phá dữ liệu
Quá trình khai phá dữ liệu có thể mô tả nhƣ sau:
Hình 2: Quy trình khai phá dữ liệu (Nguồn: Chapman và cộng sự, 2000)
Data Technology (Công nghệ dữ liệu) Khác
Có thể mô tả nhƣ sau:
(1) Tìm hiểu nghiệp vụ và dữ liệu (Data Sources)
(2) Chuẩn bị dữ liệu (Data warehouse)
(3) Mô hình hóa dữ liệu (Data Mining)
(4) Hậu xử lý và đánh giá mô hình (Pattern Evaluation)
(5) Triển khai tri thức (Knowledge)
Quá trình KPDL có thể được lặp lại nhiều lần qua các giai đoạn khác nhau, tùy thuộc vào phản hồi từ kết quả của các giai đoạn tiếp theo Các nhà tư vấn và chuyên gia phát triển đóng vai trò chính trong quá trình này.
Trong giai đoạn đầu tiên, NTV tập trung vào việc nghiên cứu nghiệp vụ và dữ liệu, tìm hiểu kiến thức về lĩnh vực áp dụng, bao gồm tri thức cấu trúc và các nguồn dữ liệu hiện có Nghiên cứu này được thực hiện thông qua sự tiếp xúc giữa NTV và người dùng, khác với phương pháp truyền thống, NTV xem xét các yêu cầu sơ khởi của người dùng và đề xuất các bài toán tiềm năng có thể giải quyết với nguồn dữ liệu hiện hữu Tập hợp các bài toán tiềm năng sẽ được tinh chỉnh và thu hẹp trong các giai đoạn tiếp theo, đồng thời xác định các nguồn và đặc tả dữ liệu liên quan.
Giai đoạn tiếp theo là chuẩn bị dữ liệu, trong đó sử dụng các kỹ thuật tiền xử lý để cải thiện chất lượng dữ liệu, nhằm đáp ứng yêu cầu của các thuật toán học Hầu hết các thuật toán KPDL hiện nay chỉ hoạt động trên tập dữ liệu đơn giản và phẳng, vì vậy dữ liệu cần được trích xuất và chuyển đổi từ các dạng cơ sở dữ liệu phân bố, quan hệ hoặc hướng đối tượng sang dạng cơ sở dữ liệu quan hệ đơn giản với một bảng dữ liệu.
Các giải thuật tiền xử lý tiêu biểu bao gồm:
(a) Xử lý dữ liệu bị thiếu/mất: các dữ liệu bị thiếu sẽ đƣợc thay thế bởi các giá trị thích hợp
Khử sự trùng lặp là quá trình loại bỏ các đối tượng dữ liệu trùng lặp, giúp tối ưu hóa chất lượng dữ liệu Tuy nhiên, kỹ thuật này không phù hợp cho các tác vụ mà phân bố dữ liệu là yếu tố quan trọng.
(c) Giảm nhiễu: nhiễu và các đối tƣợng tách rời (outlier) khỏi phân bố chung sẽ bị loại đi khỏi dữ liệu
(d) Chuẩn hóa: miền giá trị của dữ liệu sẽ đƣợc chuẩn hóa (e) Rời rạc hóa: các dữ liệu số sẽ đƣợc biến đổi ra các giá trị rời rạc
(f) Rút trích và xây dựng đặc trƣng mới từ các thuộc tính đã có
(g) Giảm chiều: các thuộc tính chứa ít thông tin sẽ đƣợc loại bỏ bớt
Trong giai đoạn Mô hình hóa dữ liệu, các bài toán được giải quyết thông qua việc áp dụng các thuật toán học trên dữ liệu đã được tiền xử lý Mục tiêu chính là tìm kiếm các quy tắc ẩn và chưa biết Việc lựa chọn kỹ thuật phù hợp để giải quyết các vấn đề là công việc quan trọng nhất trong giai đoạn này Các bài toán sẽ được phân loại vào một trong những nhóm bài toán chính trong KPDL dựa trên đặc tả của chúng.
Trong giai đoạn 4, các mô hình kết quả từ giai đoạn ba sẽ được hậu xử lý và đánh giá dựa trên phản hồi của người dùng sau khi thử nghiệm Các mô hình cần được tinh chỉnh và kết hợp nếu cần thiết, với điều kiện chỉ những mô hình đạt yêu cầu cơ bản của người dùng mới được triển khai thực tế Kết quả sẽ được chuyển đổi từ dạng học thuật sang dạng dễ hiểu và phù hợp với nghiệp vụ để người dùng dễ dàng tiếp cận.
Trong giai đoạn cuối của quá trình triển khai tri thức, các mô hình được tích hợp vào hệ thống thông tin thực tế dưới dạng mô-đun hỗ trợ quyết định Mối quan hệ giữa các giai đoạn trong KPDL rất quan trọng cho nghiên cứu, vì một thuật toán không thể phát triển độc lập mà phải gắn liền với bối cảnh áp dụng và mục tiêu cụ thể Hiểu biết về bối cảnh vận dụng là điều cần thiết, đồng thời các kỹ thuật từ các giai đoạn trước có thể tác động đến hiệu quả của các thuật toán trong các giai đoạn tiếp theo.
Từ các bước của quy trình khai phá dữ liệu, các cấp độ hỗ trợ cho việc ra các quyết định kinh doanh có thể xem ở Hình 3 dưới đây
Hình 3: Cấp độ hỗ trợ việc ra quyết định kinh doanh và người thực hiện
Giải thích từ ngữ sử dụng trong Hình 3 nhƣ sau:
Tên tiếng Anh Giải thích từ ngữ
Data Source (Paper, Files, Information
Nguồn dữ liệu: bao gồm giấy tờ, files, nhà cung cấp thông tin, hệ thống CSDL, OLTP Data Warehouse/Data Marts: OLAP,
Kho dữ liệu: OLAP, MDA
Khám phá dữ liệu: Phân tích thống kê, truy vấn, báo cáo
Data Mining: Information Discovery Khai phá dữ liệu: Tìm kiếm thông tin hữu ích Data Presentation: Visualization
Thể hiện dữ liệu: Sử dụng các kỹ thuật mô hình hóa
Making Decision Ra quyết định
DBA Các nhà quản trị CSDL
Data Analyst Các nhà phân tích dữ liệu
Business Analyst Các nhà phân tích kinh doanh
End User Người dùng cuối
Mô tả các cấp độ hỗ trợ và người thực hiện công việc trong quy trình khai phá dữ liệu đƣợc thể hiện nhƣ sau:
Cấp độ Giai đoạn Người thực hiện
0 Tìm hiểu nghiệp vụ và dữ liệu (Data Sources): ở giai đoạn sơ khai này công việc chủ yếu là thu thập và tôt chức dữ liệu thứ cấp
Trong giai đoạn xây dựng Data Warehouse, vai trò chính thuộc về nhà quản trị cơ sở dữ liệu, người có nhiệm vụ tổ chức và sắp xếp dữ liệu trong các kho dữ liệu để đảm bảo người dùng có thể truy cập dễ dàng và hiệu quả, bao gồm cả truy cập trực tuyến và phân tán.
2 Giai đoạn tìm hiểu dữ liệu (Data Exploration):
Các nhà phân tích dữ liệu sử dụng các truy vấn và phân tích thống kê để khám phá và hiểu dữ liệu trong kho dữ liệu, dựa trên nhiều tiêu chí khác nhau.
Nhà phân tích dữ liệu
Khai phá dữ liệu (Data Mining) bao gồm ba giai đoạn chính, trong đó các nhà phân tích dữ liệu áp dụng các công cụ khai phá để xây dựng mô hình phục vụ cho các tiêu chí cụ thể trong hệ thống thông tin kinh doanh Ví dụ, các kỹ thuật như phân lớp và dự báo được sử dụng để tối ưu hóa quá trình ra quyết định và nâng cao hiệu quả kinh doanh.
Nhà phân tích dữ liệu
4 Giai đoạn mô hình hóa (Data Presentation):
Việc sử dụng các mô hình để thể hiện dữ liệu giúp các nhà phân tích kinh doanh có cái nhìn đa dạng về thông tin Điều này cho phép họ rút ra những tri thức quan trọng, hỗ trợ cho quá trình ra quyết định hiệu quả hơn.
Nhà phân tích kinh doanh
5 Giai đoạn ra quyết đinh (Makinh Decision): Nhà quản lý
Dựa vào các báo cáo và mô hình tri thức, nhà quản lý có thể đưa ra quyết định kinh doanh không chỉ dựa vào kinh nghiệm mà còn được hỗ trợ bởi công nghệ khai phá tri thức.
2.1.2 Các khái niệm liên quan đến giao dịch ngoại hối
Theo Wikipeadia, từ "Forex" đƣợc bắt nguồn từ cụm từ “FoReign Exchange”
Thị trường trao đổi ngoại tệ, hay còn gọi là thị trường tiền tệ quốc tế, diễn ra với khối lượng giao dịch tài chính hàng ngày rất lớn Chính điều này đã tạo ra một thị trường có tính thanh khoản cao, thu hút nhiều nhà đầu tư và giao dịch viên.
Khái niệm thị trường ngoại hối
Một số công cụ khai phá dữ liệu
2.2.1 Công cụ học có giám sát
Học có giám sát là một phương pháp trong học máy, cho phép máy tính học từ các tập dữ liệu đã được gán nhãn Tập dữ liệu này thường bao gồm nhiều bộ dữ liệu, trong đó mỗi bộ có cấu trúc theo cặp, với một phần là dữ liệu thô.
19 data) và là nhãn của dữ liệu đó Nhiệm vụ của học có giám sát là thông qua bộ dữ liệu đầu vào, dự đoán đầu ra mong muốn
Học có giám sát là quá trình máy học dựa vào sự hướng dẫn của con người, trong đó con người gán giá trị đầu ra mong muốn cho máy Tập dữ liệu huấn luyện hoàn toàn được gán nhãn bởi con người, vì vậy kích thước tập dữ liệu ảnh hưởng đến khả năng học của máy Ứng dụng chính của học có giám sát bao gồm hai loại bài toán: hồi quy và phân lớp Chẳng hạn, trong nhận dạng mã vạch tại bưu cục, máy đọc mã vạch hoạt động hiệu quả nhờ vào các bộ dữ liệu huấn luyện được giám sát trong mô hình phân lớp.
Một thành phần thiết yếu trong phương pháp học có giám sát là người dùng, người sẽ tìm kiếm và tập hợp thông tin đầu vào cùng với thông tin đầu ra tương ứng Hệ thống học có giám sát sẽ học từ các tập dữ liệu đã có sẵn này, điều chỉnh trọng số và ngưỡng để tạo ra một ánh xạ, giúp chuyển đổi đầu vào thành đầu ra mong muốn cho bài toán cụ thể 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 hệ thống với đầu ra kỳ vọng.
Tập huấn luyện trong hệ thống học máy thể hiện mối quan hệ giữa thông tin đầu vào và đầu ra, trong đó đầu vào là dữ liệu mô hình và đầu ra là kết quả thực thu thập Khi dữ liệu đầu vào được đưa vào hệ thống, đầu ra sẽ được so sánh với các kết quả đã có trước đó Sai số giữa đầu ra của mô hình và đầu ra thực tế được sử dụng để điều chỉnh trọng số và hệ số bias, giúp mô hình cải thiện độ chính xác qua các vòng lặp học Để kiểm tra tính đúng đắn của mô hình, dữ liệu kiểm thử đã được gán nhãn sẽ được sử dụng, và sau đó có thể áp dụng bộ phân lớp để phân loại dữ liệu.
Hình 5: Mô hình của học giám sát
Có hai phương pháp để sử dụng tập huấn luyện trong học máy: một là học từng mẫu một cho đến khi thành thạo, sau đó mới chuyển sang mẫu khác; hai là học tất cả các mẫu cùng một lúc cho đến khi thành thạo.
Some notable supervised learning models include Support Vector Machine (SVM), K Nearest Neighbours (KNN), Naive Bayes, Decision Tree, and Neural Network.
Học có giám sát (Supervised Learning) là một thành phần quan trọng trong hệ thống thông minh, nhằm xây dựng mô hình phân lớp dữ liệu huấn luyện Mô hình này sẽ gán nhãn lớp cho các mẫu dữ liệu mới chưa được xác định nhãn, từ đó nâng cao khả năng phân tích và dự đoán của hệ thống.
Trong học giám sát, quá trình lặp lại việc học từ các mẫu trong tập huấn luyện nhằm tạo ra một mô hình có khả năng phân loại các mẫu dữ liệu mới.
Trong học giám sát, các mô hình được xây dựng dựa trên mối quan hệ giữa biến đầu vào (input) và biến đầu ra (output) Mục tiêu của quá trình học là xác định ánh xạ giữa các biến này thông qua một tập mẫu thể hiện mối liên hệ của chúng, được gọi là tập huấn luyện Các biến input và output được xem là tập thuộc tính của dữ liệu, phản ánh mối quan hệ của các giá trị liên quan đến đối tượng cần phân lớp Ví dụ, dữ liệu trong bảng dưới đây mô tả tập mẫu với phân lớp thành Ốm dựa trên các thuộc tính nhất định.
Mô hình học có giám sát
Hiệu chỉnh Tính sai số
Dựa vào bộ dữ liệu mẫu, chúng ta có thể phân lớp cho mẫu dữ liệu mới Ví dụ, nếu mẫu dữ liệu mới có giá trị cụ thể, chúng ta sẽ sử dụng bảng phân lớp để xác định rằng mẫu này thuộc về lớp “Ốm”.
Mỗi đối tượng học thường sử dụng nhiều loại dữ liệu khác nhau như số thực, số rời rạc, chuỗi thời gian và hình ảnh Các biến đầu ra có thể thể hiện những thông tin phức tạp hơn so với ví dụ chỉ có hai giá trị đầu ra.
Kĩ thuật Logic trong mô hình học có giám sát bao gồm hai kĩ thuật chủ yếu là cây quyết định và phân lớp dựa trên luật (rule-based)
Cây quyết định là một công cụ phân lớp dữ liệu dựa trên các thuộc tính khóa để so sánh và phân loại mẫu Mỗi đỉnh của cây đại diện cho một thuộc tính quyết định hướng đi trên cây Quá trình phân loại bắt đầu từ đỉnh gốc và tiếp tục sắp xếp theo các giá trị thuộc tính Ví dụ, Hình 6 dưới đây minh họa cây quyết định cho tập dữ liệu trong Bảng 1.
Lớp a1 a2 a3 a4 Yes a1 a2 a3 b4 Yes a1 b2 a3 a4 Yes a1 b2 b3 b4 No a1 c2 a3 a4 Yes a1 c2 a3 b4 No
Bảng 1 Tập dữ liệu huấn luyện cho cây quyết định
Hình 6: Cây quyết định của tập dữ liệu huấn luyện ở Bảng 1
Cây quyết định là một công cụ hữu ích trong việc phân loại dữ liệu, cho phép xác định lớp của mẫu dựa trên các giá trị thuộc tính Khi một mẫu mới được kiểm tra, các giá trị của nó sẽ được theo dõi qua cây quyết định từ gốc đến nút lá, giúp đưa ra dự đoán chính xác Quá trình xây dựng mô hình sẽ tạo ra một cây quyết định, mà sau đó có thể chuyển đổi thành các luật phân loại Cây quyết định không chỉ hỗ trợ trong việc phân loại các đối tượng dữ liệu chưa biết mà còn giúp đánh giá độ chính xác của mô hình, với hai giai đoạn chính là xây dựng và sử dụng cây quyết định.
Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn chứa tất cả các mẫu dữ liệu và tiến hành phân chia đệ quy dựa trên các thuộc tính Khi các mẫu thuộc cùng một lớp, nút sẽ trở thành lá; nếu không, một độ đo thuộc tính sẽ được sử dụng để chọn thuộc tính tiếp theo cho việc phân chia Mỗi giá trị của thuộc tính được chọn sẽ tạo ra các nhánh tương ứng, phân chia các mẫu vào các nhánh đó Quá trình này lặp lại cho đến khi hoàn thành cây quyết định, với tất cả các nút trở thành lá và được gán nhãn.
Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau đƣợc thỏa mãn:
1 Tất cả các mẫu thuộc cùng một lớp
2 Không còn một thuộc tính nào để lựa chọn
3 Nhánh không chứa mẫu nào
Hầu hết các thuật toán sinh cây quyết định đều gặp phải vấn đề sử dụng bộ nhớ lớn, tỷ lệ thuận với kích thước mẫu dữ liệu huấn luyện Mặc dù có một số chương trình hỗ trợ bộ nhớ ngoài, nhưng tốc độ thực thi của chúng thường chậm Do đó, việc tỉa bớt cây quyết định trở nên rất quan trọng, đặc biệt là loại bỏ các nút lá không ổn định Kỹ thuật tỉa trước giúp dừng quá trình sinh cây quyết định khi việc chia dữ liệu không còn ý nghĩa.
Bài toán giao dịch ngoại hối
Tỷ giá ngoại hối chịu ảnh hưởng từ nhiều yếu tố như sự kiện kinh tế, chính trị và tâm lý nhà đầu tư, tạo ra một thị trường giao dịch không ổn định và phức tạp Nhà đầu tư luôn tìm cách giải thích sự biến động của tỷ giá với hy vọng dự báo chính xác, nhằm tối đa hóa lợi nhuận Tuy nhiên, việc giao dịch dựa trên những tính toán sai có thể dẫn đến rủi ro lớn và nguy cơ thua lỗ.
Bài toán giao dịch trên thị trường ngoại hối liên quan đến việc dự đoán xu hướng hàng ngày của tỷ giá các cặp tiền tệ trong bối cảnh biến động phức tạp Đầu vào bao gồm lịch sử tỷ giá và dữ liệu về các sự kiện kinh tế đã diễn ra, trong khi đầu ra là xu hướng tăng hoặc giảm của các cặp tiền tệ Từ dữ liệu chuỗi thời gian, một lượng lớn thuộc tính được tạo ra nhằm lựa chọn tập dữ liệu phù hợp cho bài toán phân lớp.
Bài toán giao dịch ngoại hối có thể được xem như một bài toán phân lớp nhị phân, nhằm dự đoán xu hướng tăng hoặc giảm để hỗ trợ quyết định giao dịch như mua, bán, chốt lời và dừng lỗ Việc áp dụng các mô hình học máy vào dự đoán xu hướng tỷ giá của các cặp tiền tệ mang lại hiệu quả cao trong quá trình giao dịch.
ĐỀ XUẤT MÔ HÌNH KHAI PHÁ DỮ LIỆU TRONG BÀI TOÁN GIAO DỊCH TỶ GIÁ
Mô hình khai phá dữ liệu trong bài toán giao dịch tỷ giá
Mô hình trí tuệ nhân tạo tự động tìm kiếm tri thức trong dữ liệu mà không cần can thiệp từ con người Hệ thống này tự huấn luyện để tạo ra các quy tắc và chiến lược quyết định dựa trên dữ liệu đầu vào và đầu ra Nó có khả năng hoạt động như một nhà đầu tư thực thụ trên thị trường giao dịch, sở hữu đầy đủ tri thức và kỹ năng phân tích thị trường.
Mô hình mạng trí tuệ nhân tạo mang lại nhiều lợi ích trong phân tích dữ liệu, bao gồm khả năng duy trì hiệu quả phân lớp ngay cả khi tập dữ liệu không đủ lớn Nó tự động xác định mức độ quan trọng của các thuộc tính mà không cần sự can thiệp của người dùng Hơn nữa, mô hình này còn có khả năng hoạt động hiệu quả trong điều kiện dữ liệu có chất lượng kém (Carney và cộng sự, 1996).
Mô hình học có giám sát trong khai phá dữ liệu có thể được áp dụng để dự báo xu hướng tỷ giá trong giao dịch Các bước thực hiện mô hình này được minh họa chi tiết trong Hình 8.
Hình 8: Mô hình học có giám sát khai phá dữ liệu của bài toán giao dịch tỷ giá
Các bước được tiến hành như sau:
Bước đầu tiên trong giao dịch ngoại hối là chọn tập thuộc tính phù hợp Việc hiểu rõ các cặp tiền tệ cần giao dịch là rất quan trọng, vì trong dữ liệu thô thường chứa nhiều thuộc tính không cần thiết Lựa chọn các thuộc tính liên quan giúp thu hẹp phạm vi và tập trung vào mục tiêu của bài toán dự báo mà người dùng đề ra.
Bước 2: Xác định tập dữ liệu là rất quan trọng, bao gồm cả chi phí và chất lượng dữ liệu Cần lưu ý bốn vấn đề chính: phương pháp tính toán, đảm bảo dữ liệu không bị thiếu sót, tính chính xác và độ tin cậy của dữ liệu.
Mô hình học có giám sát (NN, SVM )
Hiệu chỉnh Tính sai số
Chọn tập dữ liệu của các cặp tỉ giá
Xu hướng tỉ giá ngoại hối
27 sửa chữa trước đó, một độ trễ phù hợp với dữ liệu, và sự đảm bảo rằng nguồn này vẫn còn có thể sử dụng trong tương lai
Bước 3: Xử lý dữ liệu bao gồm việc chia dữ liệu thành các tập huấn luyện, kiểm thử và kiểm chứng để đưa vào mô hình học có giám sát Kích thước của tập kiểm thử thường chiếm từ 10 đến 30% kích thước của tập huấn luyện nhằm tối ưu hóa kết quả của mô hình Tập kiểm chứng được sử dụng để kiểm tra hiệu quả cuối cùng của quá trình học, thường là các mẫu được lấy từ những khoảng thời gian gần đây nhất.
Bước 4: Thiết lập cấu trúc của mô hình học có giám sát Ở bước này cần lựa chọn mô hình, các tham số cho mô hình…
Bước 5 trong quá trình phát triển mô hình giao dịch ngoại hối là đánh giá, được thực hiện thông qua độ lệch giữa output dự báo và output trong tập huấn luyện, với MSE (Mean Square Error) là phương pháp chủ yếu Đánh giá này cũng giúp kiểm tra tình trạng Over-Training để điều chỉnh số lần lặp hoặc các tham số cho phù hợp Đầu ra cuối cùng của mô hình là xác định xu hướng tỷ giá ngoại hối của cặp mong muốn, từ đó cung cấp thông tin cho quyết định giao dịch của robot giao dịch ngoại hối.
Thu thập và xử lý dữ liệu
3.2.1 Thu thập và tiền xử lý dữ liệu
Việc thu thập và tiền xử lý dữ liệu đƣợc tiến hành ngay trên phần mềm MetaTrader 4 bằng một Script
Khi thu thập và xử lý dữ liệu trên phần mềm MetaTrader 4, cần chú ý đến chênh lệch múi giờ giữa các server của các broker ở các khu vực khác nhau Để đảm bảo tính đồng bộ trong quá trình huấn luyện và sử dụng mô hình, việc chuyển đổi sang giờ GMT (múi giờ 0) là cần thiết, thông qua việc thêm các tham số phù hợp.
Server_Offset: Múi giờ của của khu vực đặt Server
DST (Daylight Saving Time): Khu vực đặt Server của Broker có điều chỉnh thời gian tiết kiệm ánh sáng không?
DSTStart: Ngày bắt đầu điều chỉnh trong năm (Chỉ dùng khi DST = true)
DSTEnd: Ngày thôi điều chỉnh DST (Chỉ dùng khi DST = true)
Với các tham số trên thì ta có thể quy đổi thời gian trên Server về thời gian GMT nhƣ sau:
Quá trình thu thập dữ liệu cần đảm bảo rằng số lượng mẫu dương và mẫu âm trong tập dữ liệu không chênh lệch quá nhiều Điều này có thể đạt được bằng cách lựa chọn hai giá trị gần nhau.
Việc co giãn các giá trị về đoạn :
Đối với các giá trị thì ta chỉ đơn giản thay bằng
Các giá trị như tỷ giá, đường trung bình và dải băng Bollinger phụ thuộc vào tỷ giá của từng cặp tiền tệ, do đó không thể xác định giới hạn trên cho chúng Một cách đơn giản để điều chỉnh giá trị là sử dụng hàm Giả sử giá trị có ước lượng trung bình (tương đối) là ̅, ta có thể thay thế bằng giá trị tương ứng.
Hình 9: Đồ thị hàm biến đổi giá trị thành
3.2.2 Phân chia tập huấn luyện
Tập huấn luyện sẽ sử dụng trong quá trình lựa chọn tham số cho mô hình bằng các phương pháp và Sau đó x x' x'
29 toàn bộ tập sẽ đƣợc dùng để huấn luyện mô hình và đánh giá, so sánh giữa các mô hình bằng tập để chọn mô hình tốt nhất
Việc chia mỗi tập mẫu thành nhiều tập thường phải đảm bảo:
Các tập không giao nhau
Tỉ lệ mẫu dương và mẫu âm trong mỗi tập sau khi chia cần được đảm bảo tương đối, tương đương với tỉ lệ trong tập ban đầu Để thực hiện phương pháp này, cần chia tập thành hai tập không giao nhau theo tỉ lệ đã định Các bước thực hiện cần đảm bảo tính ngẫu nhiên và duy trì tỉ lệ mẫu dương so với mẫu âm.
Tách thành hai tập gồm các mẫu dương và gồm các mẫu âm
| | mẫu từ chuyển sang và chọn ngẫu nhiên
Trộn và (theo thứ tự ngẫu nhiên) ta đƣợc , trộn và (theo thứ tự ngẫu nhiên) ta đƣợc
Để đảm bảo tính hiệu quả của phương pháp huấn luyện và đánh giá, cần chia tập dữ liệu thành các tập con không giao nhau với số lượng tương đương, đồng thời duy trì tỉ lệ mẫu dương và mẫu âm hợp lý Quá trình này yêu cầu thực hiện các bước ngẫu nhiên nhằm đảm bảo sự cân bằng giữa các mẫu dương và mẫu âm.
Tách thành 2 tập gồm các mẫu dương và gồm các mẫu âm
Chia thành các tập con có số lượng tương đương, mỗi tập chứa khoảng | | mẫu, để đảm bảo tính đồng nhất và dễ dàng trong việc phân tích dữ liệu.
Trộn các tập và ta đƣợc tập
Trong quá trình huấn luyện và đánh giá, việc chia 30k tập theo phương pháp đã nêu là rất quan trọng Mỗi tập sẽ được chọn lần lượt, trong khi các tập còn lại sẽ được kết hợp để đảm bảo tính hiệu quả của quá trình huấn luyện.
Kết quả thực nghiệm
Thị trường giao dịch cặp tiền tệ USD/VND có thể được theo dõi trên website www.Invest.com Hình 9 minh họa sự biến động của giá mua vào, bán ra và biên độ dao động trong ngày.
Hình 10: Biến động của tỷ giá USD/VND trong khoảng thời gian 1 năm
Dữ liệu được thu thập trong khoảng thời gian từ 18/03/2017 đến 18/03/2018 bao gồm giá mở cửa, giá đóng cửa, giá cao nhất, giá thấp nhất và biên độ giá Những dữ liệu này sẽ được sử dụng làm cơ sở dữ liệu quá khứ để áp dụng các kỹ thuật trí tuệ nhân tạo, cụ thể là máy véc tơ hỗ trợ (SVM) và cây quyết định.
Dữ liệu đƣợc phân bố nhƣ sau:
Hình 11: Thống kê dữ liệu output
Lịch sử tỉ giá được xác định dựa trên xu hướng dự báo là Tăng (Up) hoặc Giảm (Down) Trong tổng số 257 giao dịch thực nghiệm, có 167 giao dịch ghi nhận xu hướng tăng và 88 giao dịch ghi nhận xu hướng giảm.
Phân bố của tỉ giá đóng cửa (Close) nhƣ sau:
Hình 12: Phân bố của tỉ giá Close tại các thời điểm
Hình 13: Phân bố của giao dịch Close
Hầu hết các giao dịch VND/USD đóng cửa nằm trong khoảng từ 22.690 VND đến 22.225 VND cho mỗi USD Tuy nhiên, từ đầu năm 2018, giao dịch này đã tăng nhanh, đạt mức gần 22.790 VND/USD.
3.3.2 Sử dụng phương pháp SVM
Thuật toán SVM hoạt động dựa trên việc tìm kiếm các cặp α để giải bài toán đối ngẫu tối ưu Mục tiêu của thuật toán là tối ưu hóa các tham số này nhằm đạt được sự phân loại chính xác.
Một thuật toán đơn giản nhất của SVM
1 Loop until no improvements are possible
2 Use heuristics to select two multipliers α1, and α2
3 Optimize W(α) by assuming all other multipliers are constant
Các bước cụ thể của thuật toán
Step 1: Prepare the pattern matrix from training data
Step 2: Select the kernel function
Step 3: Select the kernel parameters and value of C
Step 4: Excute the training algorithm and obtain two optimal α1, and α2 (see above algorithm)
Step 5: Define the support vectors and classify the data
Việc sử dụng phương pháp máy véc tơ hỗ trợ được thực hiện với các tham số cụ thể nhƣ sau:
Hàm nhân sử dụng PolyKernel với hàm mũ 1
Số véc tơ hỗ trợ: 93
Mô hình khung thực hiện đƣợc thể hiện nhƣ sau:
Hình 14: Mô hình sử dụng Kết quả
Kết quả chạy thực hiện mô hình với 254 mẫu quan sát đạt độ chính xác là 99.6% Cụ thể như ở mô tả dưới đây:
K&B Information Score 234.9502 bits 0.9214 bits/instance
Class complexity | order 0 237.0879 bits 0.9298 bits/instance
Class complexity | scheme 1074 bits 4.2118 bits/instance
Complexity improvement (Sf) -836.9121 bits -3.282 bits/instance
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
Trong ma trận nhầm lẫn, có một mẫu quan sát bị dự báo sai, với a được gán cho dự báo giảm (Down) và b được dự báo là tăng (Up) Điều này có nghĩa là mẫu này thực tế phải giảm, trong khi mô hình dự báo lại cho kết quả là tăng Để làm rõ hơn, đồ thị thể hiện lỗi của dự báo được trình bày trong Hình 12 dưới đây.
Hình 15: Đồ thị lỗi của mô hình dự báo SVM
Một mẫu quan sát bị dự báo sai được thể hiện bằng màu xanh và ô vuông trong hình Để xác định chính xác mẫu này thuộc về ngày nào trong giai đoạn, hệ thống đã chỉ ra như trong Hình.
Hình 16: 1 dòng giao dịch bị dự báo sai
Có thể thấy rõ ràng rằng mẫu này đã bị nhập nhầm dữ liệu của giá Open, High, và Low trong ngày
3.3.3 Sử dụng phương pháp Cây quyết định J48
Mã Pseudo code để xây dựng cây quyết định như sau:
1 Kiểm tra các trường hợp đặc biệt
2.1 Tính các tỉ lệ thông tin chuẩn hóa (normalized information gain ratio) từ các nhánh trên a
2.2 Sắp xếp các tỉ lệ nói trên
3 Lấy ra thuộc tính a_best tốt nhất (có tỉ lệ thông tin chuẩn hóa cao nhất)
4 Tạo nút quyết định mà có thể phân chia trên a_best
5 Lặp trên các danh sách nhánh đƣợc chia ra từ a_best và thêm những nút con (children)
Chi tiết Pseudo code để xây dựng tập luật và cây
Create a root node for the tree
If all examples are positive, Return the single-node tree Root, with label = +
If all examples are negative, Return the single-node tree Root, with label = -
If number of predicting attributes is empty, then Return the single node tree Root, with label = most common value of the target attribute in the examples
A ← The Attribute that best classifies examples
Decision Tree attribute for Root = A
For each possible value, v i , of A,
Add a new tree branch below Root, corresponding to the test A = v i
Let Examples(v i ) be the subset of examples that have the value v i for A
Then below this new branch add a leaf node with label = most common target value in the examples
Else below this new branch add the subtree ID3 (Examples(v i ), Target_Attribute, Attributes – {A})
Cải tiến của J48 (hay C.4.5) so với ID3 nhƣ sau:
Điều khiển cả thuộc tính liên tục và rời rạc bằng cách thiết lập một ngưỡng Các giá trị thuộc tính sẽ được phân chia dựa trên ngưỡng này, thường được xác định là giá trị trung bình.
C4.5 cho phép xử lý các thuộc tính có giá trị thiếu bằng cách gán giá trị thuộc tính là "?" Phương pháp này sử dụng để tính toán giá trị cho các thuộc tính đó, giúp cải thiện khả năng phân loại trong các bài toán dữ liệu không đầy đủ.
37 trị trung bình để điền, đồng thời những giá trị bị mất này sẽ không tham gia vào tính gain và entropy trong module chính
Điều khiển đƣợc các thuộc tính với những cost khác nhau (weights)
Sau khi cây quyết định được tạo ra, thuật toán C4.5 sẽ thực hiện một lần duyệt để loại bỏ các nhánh không đóng góp nhiều vào quá trình xây dựng Những nhánh này sẽ được thay thế bằng các nút lá, nhằm tối ưu hóa cấu trúc của cây.
Việc sử dụng phương pháp cây quyết định được sử dụng với thuật toán J48 với các tham số cụ thể nhƣ sau:
Bước 1: Kiểm tra các mẫu quan sát
Bước 2: Với mỗi thuộc tính thực hiện:
Tìm các thông tin liên quan để có thể phân tách
Lấy ra thuộc tính tốt nhất (đƣợc hiểu là có độ liên quan thông tin lớn nhất) thành nút gốc
Tạo một nút của cây với điểm phân tách chính là thuộc tính vừa tìm được ở bước trên
Bước 3: Lặp đối với các cây con để tạo ra các nhánh có độ liên quan tốt nhất, tốt hơn,… tạo thành các nút/nhánh cho cây
Mô hình khung thực hiện đƣợc thể hiện nhƣ sau:
Hình 17: Mô hình khung công việc J48
GetData(".data"); printf("\nRead %d cases (%d attributes) from %s.data\n",
/* Build decision trees */ if ( BATCH )
/* Soften thresholds in best tree */ if ( PROBTHRESH )
{ printf("Softening thresholds"); if ( ! BATCH ) printf(" for best tree from trial %d", Best); printf("\n");
/* Save best tree */ if ( BATCH || TRIALS == 1 )
{ printf("\nBest tree from trial %d saved\n", Best);
/* Evaluation */ printf("\n\nEvaluation on training data (%d items):\n", MaxItem+1); Evaluate(false, Best); if ( UNSEENS )
GetData(".test"); printf("\nEvaluation on test data (%d items):\n", MaxItem+1); Evaluate(true, Best);
=== Run information ==Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: VND_Train
Test mode:10-fold cross-validation
=== Classifier model (full training set) ==J48 pruned tree
Chi tiết kết quả thực nghiệm
Time taken to build model: 0.14 seconds
=== Detailed Accuracy By Class == TP Rate FP Rate Precision Recall F-Measure ROC Area Class 1 0 1 1 1 1 Down 1 0 1 1 1 1 Up
Việc so sánh kết quả thực nghiệm có thể xem ở Hình 16 dưới đây
Kết quả của thực nghiệm đƣợc chỉ ra ở Hình 7 Dễ dàng nhận thấy rằng cây quyết định đã cho kết quả dự báo là 100% so với SVM là 99.6%
Hình 18 trình bày độ chính xác của Kỹ thuật SVM và DT Kết quả thực nghiệm được chi tiết hóa thông qua ma trận nhầm lẫn (Confusion Matrix), như thể hiện trong Bảng 3 dưới đây.
Bảng 3: Kết quả bảng ma trận nhầm lẫn của SVM và DT
Từ Bảng 3, có thể nhận thấy rằng kỹ thuật đã dự báo nhầm một trường hợp Để làm rõ mẫu nhầm lẫn này, cần xem lại vị trí trong bảng dữ liệu dựa trên cột thời gian Kết quả có thể được giải thích cho người dùng một cách hợp lý, chẳng hạn như trong thí nghiệm này, tỷ giá Low, High và Open đã bị thấp bất thường 5 VND thay vì khoảng 22,735 VND.