Mục tiêu của đề tài là biến đổi tất cả các chuỗi thời gian thành dạng dữ liệu mới là những tràng ký tự mang tính xu hướng, sau đó, ta tiến hành gom cụm trên tập dữ liệu mới này, với kì v
GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
GI ỚI THIỆU ĐỀ TÀI
Chúng ta đang sống trong kỉ nguyên số và kết nối toàn cầu, dữ liệu được sinh ra vô cùng lớn trong thời gian rất ngắn Phần lớn trong số dữ liệu đó chính là những chuỗi thời gian, từ những thông tin chứng khoán được cập nhật từ giây, đến việc biến động giá cả các mặt hàng diễn ra liên tục Với một kho dữ liệu vô cùng lớn như vậy, nhu cầu đặt ra đối với con người là “học” được gì từ nguồn thông tin khổng lồ đó Trong kinh tế thị trường, ai là người có thông tin người đó sẽ có nhiều cơ hội chiến thắng Đặc biệt hơn, ai dự báo được thị trường thì người đó càng có nhiều cơ hội hơn
Do đó, nhu cầu đánh giá một tính chất nào đó của một mặt hàng nào đó có xu hướng thế này hay thế khác là một vấn đề mà doanh nghiệp nào cũng quan tâm
Gom cụm dữ liệu chuỗi thời gian dựa vào xu hướng (trend – based clustering) là một hướng nghiên cứu đầy tiềm năng Tuy nhiên, việc gom cụm dữ liệu trực tiếp trên khối dữ liệu lớn trên thường không đạt kết quả tốt, do đó bằng cách áp dụng một phần ý tưởng của Yoon và các cộng sự năm 2001 [17] đưa dữ liệu chuỗi thời gian về các chuỗi xu hướng sau đó gom cụm dữ liệu bằng một giải thuật hữu hiệu được chọn ở đây là giải thuật Squeezer [8] do Z.He và các cộng sự đề xuất năm 2002 là một lựa chọn trong đề tài này.
ĐỘNG CƠ THỰC HIỆN ĐỀ TÀI
Các thông tin về giá dầu, giá vàng, giá chứng khoán, thị trường hàng hóa, bất động sản, GDP (Gross Domestic Product), CPI (Consumer Price Index), tỉ giá ngoại tệ,… đều biến động Bất kỳ nhà đầu tư thành công nào đều phải có kỹ năng dự báo được diễn biến giá và các chỉ số liên quan trong ngắn hạn và dài hạn để ra quyết định đầu tư vào đâu hay đầu từ bao lâu và bao nhiêu vốn vào đó để tối đa lợi nhuận thu được Đồng thời, nắm bắt được xu hướng cũng giúp cho nhà đầu tư kịp thời thoái vốn rút lui trước khi tình hình diễn biến xấu xảy ra Đầu tư không phải là một trò chơi may rủi Trong công tác dự báo, việc đánh giá được yếu tố xu hướng hết sức quan trọng
Chính vì tầm quan trọng của việc thấy được xu hướng trên thị trường, xuất hiện nhiều vấn đề cần giải quyết như: ta biểu diễn xu hướng ra sao, để nhìn ra được xu hướng này ta cần những thông tin gì, cần xử lý thông tin ra sao, trên thị trường có thể gom thành bao nhiêu nhóm có cùng xu hướng biến động? Các nhà đầu tư có thể có được công cụ nào đễ hỗ trợ họ phân loại xu hướng biến động của các mã cổ phiếu đang giao dịch, … có quá nhiều câu hỏi cần được trả lời Chính vì để tìm những câu trả lời đó, chúng tôi quyết định nghiên cứu về gom cụm chuỗi thời gian theo xu hướng Mục tiêu và giới hạn của lĩnh vực dự định nghiên cứu sẽ được trình bày từ tổng quan đến chi tiết ở các phần sau.
M ỤC TIÊU VÀ GIỚI HẠN ĐỀ TÀI
Mục tiêu của đề tài là biến đổi tất cả các chuỗi thời gian thành dạng dữ liệu mới là những tràng ký tự mang tính xu hướng, sau đó, ta tiến hành gom cụm trên tập dữ liệu mới này, với kì vọng đạt được kết quả gom cụm có ý nghĩa và trong thời gian chấp nhận được Đề tài thực nghiệm trên các tập dữ liệu chứng khoán Ưu điểm: chúng tôi sẽ chọn giải thuật gom cụm dữ liệu chuỗi thời gian không cần biết trước số cụm, gom cụm theo kiểu gia tăng (incremental), chống nhiễu tốt và thời gian thực thi chấp nhận được, đó là giải thuật Squeezer
Giới hạn của đề tài chỉ thực hiện trên các chuỗi thời gian có độ dài như nhau và chuỗi thời gian đơn biến.
TÓM T ẮT NHỮNG KẾT QUẢ ĐẠT ĐƯỢC
Trong quá trình xây dựng, hoàn thiện và hiện thực hệ thống gom cụm, chúng tôi đã giải quyết được bài toán gom cụm dữ liệu chuỗi thời gian dựa vào xu hướng sử dụng giải thuật Squeezer
Chúng tôi đã xây dựng thành công một hệ thống gom cụm chuỗi thời gian khá hữu hiệu, có khả năng xử lý trên tập dữ liệu lớn với số điểm thời gian cả ngàn điểm Qua việc thực nghiệm trên bốn tập dữ liệu mẫu cho thấy giải thuật Squeezer hoạt động tốt và có hiệu quả.
C ẤU TRÚC LUẬN VĂN
Luận văn được chia thành 6 phần chính như sau:
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu sơ lược về đề tài, mục tiêu và phạm vi nghiên cứu cũng như cấu trúc của đề tài.
CƠ SỞ LÝ THUYẾT
CÁC GI ẢI THUẬT GOM CỤM DỮ LIỆU NÓI CHUNG
Quá trình gom nhóm/cụm dữ liệu/đối tượng vào các lớp/cụm, các đối tượng trong cùng một cụm tương tự với nhau hơn so với đối tượng ở các cụm khác Các giải thuật gom cụm được Han và Kamber [7] chia theo từng đặc trưng riêng biệt bao gồm:
Phân hoạch (partitioning): các phân hoạch được tạo ra và đánh giá theo một tiêu chí nào đó
Phân cấp (hierarchical): phân rã tập dữ liệu/đối tượng có thứ tự phân cấp theo một tiêu chí nào đó
Dựa trên mật độ (density-based): dựa trên connectivity and density functions
Dựa trên lưới (grid-based): dựa trên a multiple-level granularity structure
Dựa trên mô hình (model-based): một mô hình giả thuyết được đưa ra cho mỗi cụm; sau đó hiệu chỉnh các thông số để mô hình phù hợp với cụm dữ liệu/đối tượng nhất Ở đây, chúng tôi chỉ đề cập đến các giải thuật gom cụm phổ biến là gom cụm phân hoạch và phân cấp
2.1.1 Giải thuật gom cụm phân hoạch
Giải thuật gom cụm phân hoạch được sử dụng rất phổ biến vì nó đơn giản và là giải thuật gom cụm cơ bản nhất trong các phương pháp gom cụm Giải thuật này yêu cầu trước tiên phải biết dữ liệu nhập ban đầu k (số cụm) Những cụm được hình thành thỏa điều kiện tối ưu hóa các tiêu chuẩn phân hoạch mục tiêu như độ đo tương tự dựa vào khoảng cách Hai phương pháp kinh điển đại diện cho nhóm giải thuật dạng phân hoạch này là k-Means và k-Medoids
Thuật toán k-Means lấy tham số đầu vào là k và phân chia một tập n đối tượng vào trong k cụm để cho kết quả độ tương đồng trong cụm là cao trong khi độ tương đồng ngoài cụm là thấp Độ tương đồng cụm được đo khi đánh giá giá trị trung bình của các đối tượng trong cụm, nó có thể được quan sát như là “trọng tâm” của cụm
Giải thuật xử lý như sau: trước tiên nó lựa chọn ngẫu nhiên k đối tượng, mỗi đối tượng đại diện cho một trung bình cụm hay trung tâm cụm (center cluster) Đối với những đối tượng còn lại, mỗi đối tượng sẽ được ấn định vào một cụm mà nó giống nhất dựa trên khoảng cách giữa đối tượng và trung bình cụm Sau đó sẽ tính lại trung bình cụm mới cho mỗi cụm Xử lý này sẽ được lặp lại cho tới khi hàm tiêu chuẩn hội tụ Bình phương sai số thường dùng làm hàm tiêu chuẩn hội tụ, định nghĩa như sau : với E là tổng bình phương sai số của tất cả các đối tượng trong dữ liệu, p là điểm trong không gian đại diện cho đối tượng cho trước; m i là trung tâm của cụm
C i (cả p và m i đều đa chiều)
Thuật toán k-Means gồm các bước sau: Đầu vào: số cụm k, tập dữ liệu n đối tượng Đầu ra: tập các k cụm
1 Chọn k đối tượng ngẫu nhiên trong tập dữ liệu cho trước
3 Đưa đối tượng nào tương tự nhất vào cụm tương ứng (dựa vào giá trị trung bình của các đối tượng trong cụm)
4 Tính lại giá trị trung tâm cho từng cụm
5 Until: không có gì thay đổi End
Hình 2.1 mô tả quá trình gom cụm sử dụng giải thuật k-Means
Hình 2.1 Quá trình gom cụm k-Means:trung tâm cụm biểu diễn bằng dấu “+” (nguồn [7]) Ưu điểm: giải thuật có độ phức tạp nhỏ: O(n*t*k), trong đó n là số đối tượng, k là số cụm cần gom và t là số lần lặp, do đó thích hợp cho các dữ liệu có số đối tượng lớn
Khuyết điểm: phải xác định số cụm k trước, việc xác định giá trị trung bình trở nên phức tạp trong một số trường hợp, không phải dữ liệu nào cũng có thể tính được giá trị trung bình một các dễ dàng Giải thuật bị ảnh hưởng khá lớn bởi nhiễu và cực trị cục bộ
Giải thuật k-Means rất nhạy với các phần tử nhiễu, do vậy một đối tượng giá trị cực lớn về cơ bản sẽ làm thay đổi tâm cụm và có thể bóp méo phân bổ của dữ liệu Ý tưởng của k-Medoids thay vì lấy giá trị trung bình của các đối tượng trong cụm như một điểm tham khảo, k-medoids lấy một đối tượng đại diện trong cụm, gọi là medoid, nó là điểm đại diện được định vị trung tâm nhất trong cụm
Giải thuật PAM (Partition Around Medoids), đây là giải thuật tiêu biểu trong gom cụm kiểu k-Medoids Nó tìm k cụm trong n đối tượng bằng cách trước tiên tìm một số đối tượng đại diện (medoid) cho mỗi cụm Tập các medoid ban đầu được lựa chọn tuỳ ý Các đối tượng còn lại được gán vào cụm mà khoảng cách từ chúng tới đối tượng medoid là nhỏ nhất Sau đó sự phân hoạch được thực hiện bằng cách tối thiểu hóa khoảng cách của đối tượng p với medoid tương ứng bằng công thức:
Hình 2.2 Các trường hợp thay thế của giải thuật K-medoids (nguồn [7])
1 Chọn tuỳ ý k đối tượng giữ vai trò là các medoid ban đầu;
2 Repeat 3 Ấn định mỗi đối tượng vào cụm có medoid gần nó nhất;
4 chọn ngẫu nhiên một đối tượng không là phần tử đại diện 5 Tính hàm chi phí;
6 Đổi medoid x bằng một đối tượng y nếu như việc thay đổi này làm giảm hàm chi phí;
7 Until : không có sự thay đổi nào End
Khi có sự hiện diện của nhiễu và các phần tử nhiễu, phương pháp k-Medoids mạnh hơn k-Means bởi so với giá trị trung bình (mean), medoid ít bị ảnh hưởng hơn bởi các phần tử nhiễu hay các giá trị ở rất xa khác nữa, vì mỗi cụm được đại diện bởi phần tử chính giữa Để khắc phục điểm yếu về độ phức tạp, năm 1990, Kaufman va Rousseeuw đã đưa ra một kỹ thuật được phát triển dựa trên việc lấy mẫu gọi là CLARA (Clustering large applications), Ý tưởng của CLARA như sau : thay vì lấy toàn bộdữ liệu vào xem xét, chỉ một phần nhỏ dữ liệu được chọn với vai trò là một đại diện của dữ liệu, và các medoid được chọn từ mẫu này bằng cách sử dụng PAM
Nếu như mẫu được chọn lựa khá ngẫu nhiên, nó đại diện phù hợp cho toàn bộ tập dữ liệu và các đối tượng đại diện (các medoid) được chọn do vậy sẽ giống với những cái được chọn lựa từ toàn bộ tập dữ liệu CLARA đưa ra nhiều mẫu của tập dữ liệu, áp dụng PAM trên từng mẫu và mang lại phân cụm tốt cho đầu ra Đúng như trông chờ, CLARA có thể giải quyết với các tập dữ liệu lớn hơn PAM Độ phức tạp của mỗi lần lặp bây giờ trở thành O(kS 2 +k(n –k)) với S là kích thước mẫu, k là số cụm, n là tổng số các phần tử
2.1.2 Giải thuật gom cụm phân cấp
Mục đích của giải thuật này là nhóm các đối tượng lại với nhau theo từng mức khác nhau vào một cây phân cấp của các cụm Hai chiến lược gom cụm phân cấp phổ biến đó là tổng hợp và phân tách, tức là tổ chức các đối tượng theo kiểu từ dưới lên hay từ trên xuống, đại diện cho hai chiến lược này là hai giải thuật AGNES - Agglomerative NESting (tổng hợp) và DIANA - Divisive ANAlysis (phân tách)
Xem minh họa tại hình 2.3
Giải thuật AGNES khởi đầu mỗi đối tượng khởi tạo một cụm riêng biệt, sau đó mỗi cụm được trộn lại theo một tiêu chí nào đó chẳng hạn như liên kết đơn (single-linkage) tức là hai cụm được trộn lại nếu khoảng cách giữa hai đối tượng từ hai cụm đó là ngắn nhất hay liên kết đầy đủ (complete-linkage) nghĩa là trộn hai cụm nếu khoảng cách từ hai đối tượng xa nhất trong hai cụm so với khoảng cách xa nhất của điểm trong cụm đó với điểm của các cụm khác là ngắn nhất Quá trình được lặp đi lặp lại cho đến khi tất cả các đối tượng tạo thành một cụm duy nhất
Hình 2.4 mô minh họa liên kết đơn và liên kết đầy đủ
Hình 2.3 Minh họa hai chiến lược gom cụm phân cấp (nguồn [7])
Giải thuật DIANA thì ngược lại với giải thuật AGNES, khởi đầu mọi đối tượng tạo thành một cụm duy nhất Sau đó, các cụm được phân ra theo một tiêu chí nào đó đến mỗi cụm chỉ còn một đối tượng như khoảng cách lớn nhất giữa các đối tượng gần nhau nhất
Kết quả gom cụm của giải thuật gom cụm phân cấp sinh ra một cây cấu trúc gọi là dendrogram Cấu trúc này sẽ cho thấy quá trình trộn hay tách của giải thuật từng bước một Ví dụ hình 2.5 mô tả nhóm các đối tượng với l=0 mô tả 5 đối tượng ở mức 0 và khi l=1 thì đối tượng a và b nhóm lại với nhau, tiếp tục như vậy cho đến khi 5 đối tượng hợp lại thành một đối tượng duy nhất
Hình 2.4 Tiêu chí chọn các cụm liên kết đơn và liên kết đầy đủ (nguồn [7])
D Ữ LIỆU CHUỖI THỜI GIAN
Một chuỗi thời gian (time series) là chuỗi trị số thực, mỗi trị biểu diễn một giá trị đo tại những điểm cách đều nhau, có thể đa biến nhưng phải có một chiều thời gian Dữ liệu chuỗi thời gian được sử dụng phổ biến trong rất nhiều lĩnh vực Kết quả khảo sát nêu trong bài báo của Yang và Wu (2006) “10 challenging problems in Data Mining Research” [15] cho thấy hướng nghiên cứu về khai phá dữ liệu chuỗi thời gian là một trong 10 hướng nghiên cứu là quan trọng và thách thức nhất Ngoài ra, khai phá dữ liệu chuỗi thời gian làm một lĩnh vực được rất nhiều sự quan tâm của cộng đồng trong những năm gần đây ([1], [3], [4], [10], [11], [15]) Hình 2.6 minh họa một dữ liệu chuỗi thời gian chứng khoán
Hình 2.6 Ví dụ về chuỗi thời gian-Biểu đồ giá VCB và Index ngành Ngân hàng năm 2014
Những khó khăn trong khi nghiên cứu chuỗi thời gian:
- Khối lượng dữ liệu quá lớn, giải thuật khai phá dữ liệu nói chung phải có độ phức tạp không được quá lớn
- Dữ liệu không đồng nhất: được lấy từ nhiều nguồn khác nhau, nhiều thời điểm khác nhau, nhiều kiểu dữ liệu khác nhau, cần thời gian xử lý dữ liệu rất lớn
- Dữ liệu có thể bị nhiễu, không đầy đủ, dẫn đến kết quả khai phá dữ liệu đôi lúc không chính xác đối với một số giải thuật.
GOM C ỤM DỮ LIỆU CHUỖI THỜI GIAN
Theo Liao (2005) [12], đối với dữ liệu chuỗi thời gian, thường có 3 hướng tiếp cận chính cho công tác gom cụm là (1) dựa trên dữ liệu thô, (2) dựa trên đặc trưng, (3) dựa trên mô hình (xem hình 2.7)
Hình 2.7 Ba hướng gom cụm chuỗi thời gian (nguồn [12])
2.3.1 Dựa trên dữ liệu thô (Raw-data-based approaches)
Dữ liệu chuỗi thời gian sẽ được sử dụng trực tiếp trong giải thuật gom cụm
Lúc này hai chuỗi dữ liệu thời gian được so sánh thường lấy mẫu tại các khoảng thời gian như nhau, nhưng chiều dài (số thời điểm) có thể giống hoặc khác nhau
Hướng tiếp cận trên dữ liệu thô chủ yếu cải tiến các độ đo trên dữ liệu thường thành độ đo hữu hiệu cho dữ liệu chuỗi thời gian Có nhiều giải thuật gom cụm trên dữ liệu chuỗi thời gian thô nhưng chủ yếu chỉ áp dụng cho các dữ liệu ít chiều, khối lượng dữ liệu nhỏ
2.3.2 Dựa trên rút trích đặc trưng (Feature-based approaches)
Dữ liệu chuỗi thời gian sẽ qua giai đoạn rút trích đặc trưng (feature extraction) nhằm thu giảm số chiều trước khi đưa vào quá trình gom cụm nhằm loại bỏ những đặc trưng của chuỗi không cần thiết cho mục tiêu gom cụm, giảm kích thước chuỗi giúp quá trình gom cụm hiệu quả hơn Có nhiều giải thuật được đề nghị áp dụng cho gom cụm dựa trên đặc trưng, tuy nhiên đa số các phương pháp rút trích đặc trưng thì có đặc điểm tự nhiên, các đặc trưng được rút trích thường phụ thuộc vào yêu cầu của ứng dụng (nghĩa là một tập đặc trưng làm việc tốt cho ứng dụng này có thể không thích hợp cho ứng dụng khác)
2.3.3 Dựa trên mô hình (Model-based approaches)
Dữ liệu sẽ đưa qua tiến trình nhận dạng và xác định các thông số mô hình trước khi thực hiện mô hình hóa Hướng tiếp cận dựa trên mô hình sẽ xem mỗi chuỗi thời gian được tạo ra bởi một số mô hình hay bởi sự pha trộn của phân bố xác suất cơ bản
Các chuỗi thời gian được xem là tương tự khi các mô hình biểu thị đặc điểm cho mỗi chuỗi tương tự Có nhiều cách tiếp cận gom cụm dựa trên mô hình như ARIMA, ARMA, HISMOOTH, xích Markov, hỗn hợp ARMA, hỗn hợp Gauss, … trong đó các tiếp cận dùng mô hình ARIMA là phổ biến nhất
2.3.4 Một số giải thuật gom cụm chuỗi thời gian
Giải thuật k-Means do MacQueen đề xuất trong lĩnh vực thống kê năm 1967 là một thuật giải nổi tiếng đã được giới thiệu ở phần 2.2.1 cũng được áp dụng rộng rãi trong gom cụm dữ liệu chuỗi thời gian Giải thuật này có ưu điểm là đơn giản, dễ áp dụng, độ phức tạp thấp nên rất phù hợp với dữ liệu chuỗi thời gian, nhưng có nhược điểm là phải biết trước số cụm cần gom, kết quả gom cụm phụ thuộc vào việc khởi tạo các trung tâm cụm ban đầu
Tuy nhiên, dựa vào ý tưởng của k-Means nhiều giải thuật khác hữu hiệu hơn được đề xuất, trong đó tiêu biểu là giải thuật I-k-Means [13] Giải thuật I-k-Means là một trong số ít ỏi những giải thuật gom cụm có thể làm việc khá hữu hiệu với dữ liệu chuỗi thời gian Để có thể gom cụm bằng giải thuật I-k-Means, phương pháp thu giảm số chiều sử dụng phải có tính chất đa mức phân giải (multi-resolution).
NH ỮNG CÔNG TRÌNH LIÊN QUAN
GI ẢI THUẬT K-MODES
Năm 1997, Z Huang giới thiệu giải thuật gom cụm làm việc trên tập dữ liệu rời rạc rất lớn gọi là K-Modes [9] Giải thuật này dựa trên tinh thần của giải thuật k- Means nhưng được cải biên để thích hợp với dữ liệu rời rạc Trước khi đi vào chi tiết giải thuật ta cần tìm hiểu qua một số khái niệm
3.1.1 Độ đo sự khác biệt
Cho X, Y là hai tập các đối tượng dữ liệu rời rạc được mô tả bởi m thuộc thuộc tính Độ đo sự khác biệt giữa X và Y được định nghĩa là tổng số lần không bằng nhau của các giá trị thuộc tính tương ứng giữa hai đối tượng Số lượng lần không bằng nhau này càng nhỏ thì hai đối tượng càng tương tự nhau hơn Xét công thức: Định nghĩa: Một là mode của tập X là một vector độ đo khác biệt d bằng nhau trên nhiều cụm, khi đó chọn ngẫu nhiên một cụm trong tập có độ đo khác biệt d nhỏ nhất)
3 Sau khi tất cả các đối tượng được đặt trong một cụm tương ứng, tính lại mode cho tất cả các cụm Thực hiện tương tự bước 2 với mode mới vừa tính
4 Lặp lại bước 3 cho đến khi không có thay đổi về các phần tử trong cụm
Xác định k modes ban đầu
Giống như giải thuật k-Means, kết quả của giải thuật k-Modes phụ thuộc rất nhiều vào việc chọn các k mode ban đầu và thứ tự của các đối tượng Chính vì lý do đó trong khi hiện thực Huang [9] đã giới thiệu hai phương pháp chọn k modes ban đầu
Phương pháp đầu tiên là chọn ngẫu nhiên k đối tượng trong tập dữ liệu làm các mode ban đầu
Phương pháp thứ hai được thực hiện theo các bước sau:
1 Tính tất cả các tần số của tất cả các giá trị có thể có trên mỗi thuộc tính của toàn bộ dữ liệu Sau đó lưu các giá trị thuộc tính (theo thứ tự giảm dần của tần số tương ứng của nó) trong các mảng ứng với mỗi thuộc tính Có thể hiểu đơn giản là tại mỗi thuộc tính của dữ liệu tiến hành gom nhóm và đến số phần tử và sắp xếp giảm dần theo số lượng phần tử vừa đếm Để cho dễ hình dung , ta xét minh họa sau:
Xét c i,j với i là giá trị phân biệt thứ i sau khi sắp xếp của c tại thuộc tính thứ j trong toàn bộ dữ liệu đưa vào gom cụm Khi đó ta có
Theo minh họa thì có dữ liệu này có 4 thuộc tính tương ứng có 4, 2, 5 và 3 giá trị phân biệt được gom nhóm và sắp xếp theo thứ tự giảm dần của tần số trong mỗi thuộc tính
2 Lần lượt chọn các giá trị phân biệt trong mảng sao đủ số mode cần thiết, mỗi mảng tương ứng với một phần tử trong vector mode Có thể chọn ngẫu nhiên hoặc chọn tuần tự xoay vòng miễn sao các vector mode không trùng nhau Áp dụng minh họa trên, trong trường hợp k = 3, ta chọn được các 3 vector mode như sau:
GI ẢI THUẬT SQUEEZER
Cho A 1 , A 2 , … , A m là tập thuộc tính của miền trị D 1 , D 2 ,…, D m riêng biệt
Cho D là một tập dữ liệu của các bộ dữ liệu điều kiện : Định nghĩa 7: Cho hai bộ T 1 , T 2 trong tập dữ liệu D, độ tương tự
(Similarity) giữa chúng được định nghĩa như sau:
3.2.3 Ước tính giá trị ngưỡng s
He và các cộng sự đề nghị ước tính ngưỡng s thông qua các bước sau:
1 Lấy một mẫu gồm một số lượng nhất định các bộ dữ liệu trong toàn bộ dữ liệu (tạm gọi là tập S) Ở đây, He và các cộng sự đề nghị chọn ngẫu nhiên 1/10 trong tổng số bộ toàn bộ dữ liệu là dữ liệu cho mẫu
2 Xem xét tất cả các cặp bộ dữ liệu phân biệt có thể có trong tập S Tính độ tương tự giữa mỗi cặp đó (được giới thiệu trong định nghĩa 7 ở phần 3.2.1)
3 Tính trung bình các độ tương tự được tính ở bước 2 (gọi là avg_value) 4 Chọn s = avg_value + 1 hoặc s = avg_value – 1
Lặp lại tuần tự các bước trên 10 lần rồi lấy giá trị trung bình của s
3.2.4 Đánh giá hiệu năng và độ phức tạp
He và các cộng sự giới thiệu giải thuật này có cơ sở lập luận và dùng thực nghiệm để chỉ ra rằng thứ tự của dữ liệu đưa vào không ảnh hưởng đến kết quả của việc gom cụm, cũng như có đánh giá về tác động của giá trị ngưỡng với kết quả gom cụm Theo đó, khi giá trị ngưỡng càng lớn thì số cụm thu được càng tăng, trường hợp giá trị ngưỡng này đạt đến một giá trị đủ lớn thì số cụm thu được chính là số bộ dữ liệu ban đầu của dữ liệu, việc này cũng hết sức tự nhiên Ngoài ra cũng có những đánh giá về việc làm thế nào để xác định được giá trị ngưỡng này Độ phức tạp giải thuật phụ thuộc vào độ lớn của tập dữ liệu (n), số thuộc tính (m), số cụm CS và kích thước của CS Để dễ phân tích, giả định k là số sau cụm cùng, mỗi thuộc tính có cùng số giá trị phân biệt (p) Khi đó độ phức tạp thời gian của giải thuật là O(n*k*p*m) và độ phức tạp không gian là O(n+k*p*m) Tuy nhiên, trong thực tế miền trị của các thuộc tính không nhiều, nhiều lắm cũng chỉ ngàn giá trị, do đó khi đó độ phức tạp thời gian của thuộc tính có thể chỉ là
Thực nghiệm trong [9] cho thấy khi áp dụng giải thuật này cho kết quả gom cụm rất tốt đồng thời chống được các dữ liệu nhiễu Tuy nhiên, khi áp dụng giải thuật này với số lượng lớn các số bộ dữ liệu lớn (trong điều kiện thực nghiệm của tác giả là số lượng bộ dữ liệu là 3.000.000, sử dụng máy tính Pentium III-600,RAM 128M) thì khi chạy giải thuật tràn bộ nhớ Tuy nhiên, có thể với các bộ máy tính
Core i3-i7 và RAM 4-8G như hiện nay thì chắc có thể xử lý được số bộ dữ liệu lớn hơn nhiều Nhưng dù sao, tác giả cũng đưa ra giải thuật cải tiến, d-Squeezer, dùng để xử lý các cơ sở dữ liệu lớn hơn mà độ hữu hiệu và chất lượng gom cụm cũng tương đương như giải thuật Squeezer.
TRUNG BÌNH TRƯỢT
Khái niệm về trung bình trượt (moving average) đã được các nhà toán học đưa ra từ rất lâu để sử dụng trong các bài toán kinh tế [6], [11], [14] Trung bình trượt là một trong những chỉ số kỹ thuật đầu tiên áp dụng trong phân tích kinh tế
Trung bình trược được sử dụng chủ yếu để làm trơn, loại bỏ các biến động trong ngắn hạn và miêu tả xu hướng cơ bản của cổ phiếu Hình 3.5 bên dưới biểu diễn hai đường trung bình trượt ngắn hạn và dài hạn Đến năm 2013, theo [5], [14], thì đã có trên 20 kỹ thuật tính toán liên quan đến trung bình trượt (SMA, EMA, WMA, SWMA, SpMA, DEMA, TRIX, ZMA, TMA, HMA, EhMA, BMA, MAMA, SGMA, KAMA, VIDYA, MeMA, GMA, QMA, HaMA,…) Mỗi kỹ thuật tính toán đều ưu điểm riêng, những phương pháp cho hiệu quả tốt thường có cách tính phức tạp và ngược lại Tuy nhiên, trong phần này chúng tôi chỉ trình bày 3 phương pháp tiêu biểu và đơn giản nhất đó là SMA, EMA và WMA
Hình 3.5 Hình ảnh minh họa về đường trung bình (nguồn [14])
Xét một chuỗi thời gian s(t), t = t 1 , t 2 , …, t m , s(t i ) = v i , i= 1, 2, …m Ta lần lượt xem xét các cách tính trung bình trước bằng các phương pháp sau:
3.3.1 Trung bình trượt giản đơn (SMA - Simple moving average)
Trung bình trượt giản đơn được tính bằng cách cộng giá trị của chuỗi thời gian tại thời điểm thứ i của thời điểm t i với các giá trị của chuỗi thời gian tại (n-1) thời điểm trước đó, sau đó chia cho n Giá trị thu được là giá trị trung bình trượt trong n thời điểm tại t i Với n độ lớn cửa sổ trượt, khoảng thời gian cần tính trung bình trượt Ta có công thức tính SMA tại thời điểm t i như sau:
Bảng 3.2 Bảng tính các giá trị SMA
3.3.2 Trung bình trượt hàm mũ (EMA- Exponential moving average)
Trung bình trượt hàm mũ được tính bằng cách áp dụng tỷ lệ phần trăm của giá trị thời điểm t i cho giá trị trung bình của thời điểm t i-1 Theo [20] ta có công thức :
3.3.3 Trung bình trượt có trọng số (WMA - Weighted moving average) Đường trung bình trượt có trọng số được tính bằng cách kèm thêm trọng số cho giá trị dữ liệu gần nhất
- Trọng số bằng số thứ tự chu kỳ đang quan sát chia cho tổng số các thứ tự của các chu kỳ quan sát: cho các mức giá gần hiện tại hơn trong một khoảng thời gian nhất định Mặc dù EMA và WMA có công thức tính toán khác nhau ý tưởng của chúng là tương tự nhau EMA và WMA quan tâm tới giá gần hiện tại hơn so với SMA Tuy nhiên, trên thị trường tài chính hiện nay SMA vẫn đang tiếp tục được sử dụng phổ biến do sự đơn giản của nó.
BI ỂU DIỄN XU HƯỚNG TRONG DỮ LIỆU CHUỖI THỜI GIAN
Việc khám phá tri thức từ cơ sở dữ liệu chuỗi thời gian xuất hiện lúc đầu như là một tiến trình xử lý dữ liệu nhiều chiều và phức tạp Mô hình tìm kiếm tương tự cho các cơ sở dữ liệu chuỗi thời gian đã được nghiên cứu trong [2], [16] Mô hình gom cụm và dự báo từ các cơ sở dữ liệu là một trong những điểm chính trong việc khám phá tri thức Dữ liệu đầu vào cho những giải thuật này là một tập dữ liệu chuỗi thời gian, các ứng dụng sẽ hỗ trợ cho việc ra quyết định quan trọng trong kinh doanh, cũng như trong khoa học
Chuỗi xu hướng dữ liệu chuỗi thời gian là một mô tả ở mức cao hơn về xu hướng mà một chuỗi dữ liệu chuỗi thời gian ban đầu sẽ di chuyển tới Vì vậy, xu hướng chỉ ra các chuyển động lên, xuống, xuyên qua của các chuỗi thời gian Một trong những ví dụ của xu hướng là chuỗi dữ liệu ban đầu Ví dụ như, một chuỗi dữ liệu thương mại gồm có giá trị của giá bán trong một khoảng thời gian Sau đó, chuỗi xu hướng có thể được mô tả bởi n lần tăng (up) và m lần giảm (down) trong cùng một thời đoạn nào đó Ta cần áp dụng kỹ thuật làm trơn đề xuất bởi Yoon và các cộng sự, năm 2000 [16] bằng cách tính trung bình di động l-term, rồi dùng các ký hiệu biểu thị xu hướng (trend indicator) để diễn tả các xu hướng biến động trên các trị số thực của chuỗi cho trước, và sau đó dùng một số kỹ thuật gom cụm các chuỗi xu hướng này Chuỗi dữ liệu chuỗi thời gian được gọi là chuỗi dữ liệu (data sequence), và chuỗi của các ký hiệu xu hướng là chuỗi xu hướng (trend sequence)
Các biểu thị xu hướng
Tại các thời điểm t = 0, 1, 2, …., n – 1 , cho M m (t) là đường biểu diễn của trung bình trượt trong ngắn hạn m-term, và M (t) là đường biểu diễn của trung bình trượt trong dài hạn k-term, s(t) là chuỗi thời gian đang xét, theo đó m