Mục tiêu đề tài Mục tiêu nghiên cứu của đề tài trên cơ sở dữ liệu chuỗi thời gian là xây dựng một hệ thống gom cụm dữ liệu chuỗi thời gian dựa trên giải thuật K-means và độ đo xoắn thời
Trang 1LÊ HỮU THÀNH
GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN
SỬ DỤNG ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG
Chuyên ngành: Khoa học Máy tính
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, Tháng 7 năm 2011
Trang 2Cán bộ hướng dẫn khoa học : PGS TS Dương Tuấn Anh
Cán bộ chấm nhận xét 1 : PGS TS Đỗ Phúc
Cán bộ chấm nhận xét 2 : TS Quản Thành Thơ
Luận văn thạc sĩ được bảo vệ tại: Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 29 tháng 07 năm 2011 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 TS Nguyễn Văn Minh Mẫn (CT)
2 PGS.TS Đỗ Phúc (PB1)
3 TS Quản Thành Thơ (PB2)
4 PGS.TS Dương Tuấn Anh (UV)
5 TS Phạm Văn Chung (TK)
Chủ tịch hội đồng đánh giá LV Bộ môn quản lý chuyên ngành
TS Nguyễn Văn Minh Mẫn
Trang 3- -oOo -
Tp HCM, ngày tháng năm 2011 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ và tên học viên : Lê Hữu Thành - Giới tính : Nam / Nữ -
Ngày, tháng, năm sinh : 18/07/1984 - Nơi sinh : Quảng Trị -
Chuyên ngành : Khoa học Máy tính - MSHV : 09070461 -
Khoá : 2009 -
1- TÊN ĐỀ TÀI : Gom cụm dữ liệu chuỗi thời gian sử dụng độ đo xoắn thời gian động
2- NHIỆM VỤ LUẬN VĂN : Tìm hiểu các kỹ thuật tính chuỗi trung bình khi sử dụng độ đo xoắn thời gian động -
-
Tìm hiểu kỹ thuật từ bỏ sớm(early abandoning) để nâng cao hiệu quả tính toán độ đo xoắn thời gian động -
-
Hiện thực và thực nghiệm giải thuật gom cụm K-means sử dụng độ đo xoắn thời gian động với 3 kỹ thuật tính chuỗi trung bình khác nhau để xác định kỹ thuật tính chuỗi trung bình hiệu quả nhất -
3- NGÀY GIAO NHIỆM VỤ : -
4- NGÀY HOÀN THÀNH NHIỆM VỤ : -
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : PGS TS Dương Tuấn Anh -
Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN KHOA QL CHUYÊN NGÀNH (Họ tên và chữ ký) QUẢN LÝ CHUYÊN NGÀNH (Họ tên và chữ ký) (Họ tên và chữ ký) PGS TS Dương Tuấn Anh
Trang 4LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như
đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác
Ngày tháng năm 2011
Lê Hữu Thành
Trang 5LỜI CẢM ƠN
Tôi xin gởi lời cảm ơn chân thành và sâu sắc đến PGS TS Dương Tuấn Anh, Thầy đã tận tình hướng dẫn, định hướng tôi từ cách đặt vấn đề, phương pháp nghiên cứu khoa học đến những công việc cụ thể trong luận văn này
Xin chân thành cảm ơn tất cả quý Thầy Cô trong Khoa Khoa học và Kỹ Thuật Máy Tính đã tận tình truyền đạt những kiến thức quý báu cho tôi trong suốt quá trình học tập
Cuối cùng và trên hết, con cảm ơn gia đình đã động viên và tạo điều kiện tốt nhất để con có thể tiếp tục con đường học tập và nghiên cứu Con trân trọng dành tặng thành quả của luận văn này cho Ba Mẹ và cả gia đình
Trang 6TÓM TẮT
Dữ liệu chuỗi thời gian tồn tại trong rất nhiều lĩnh vực như tài chính, chứng khoán, y học, thời tiết, môi trường, địa lý,…Nhu cầu khai phá thông tin từ những dữ liệu này rất lớn, trong đó gom cụm dữ liệu chuỗi thời gian là một tiến trình rất quan trọng trong quá trình cô đọng và tổng quát hóa dữ liệu Gom cụm dữ liệu chuỗi thời gian là một quá trình học không giám sát, là một công cụ độc lập để xem xét sự phân bố dữ liệu và là bước tiền xử lý cho các thuật toán khác như phân lớp, tiên đoán, ra quyết định Một trong những giải thuật gom cụm thông dụng nhất hiện nay là K-means bởi những ưu điểm nổi bật của nó là nhanh và dễ hiện thực, và độ
đo thường áp dụng cho giải thuật là độ đo Euclid Tuy nhiên đối với dữ liệu chuỗi thời gian thì việc ánh xạ 1-1 như trong độ đo Euclid là quá cứng nhắc, nhiều lúc không phù hợp, đặc biệt đối với dữ liệu đa phương tiện
Đề tài trình bày vấn đề về việc sử dụng độ đo xoắn thời gian động cùng với giải thuật K-means để gom cụm dữ liệu chuỗi thời gian nhằm khắc phục nhược điểm của độ đo Euclid Những khó khăn của việc áp dụng này là độ phức tạp của độ đo
và phương pháp tính chuỗi trung bình cho giải thuật K-means Qua đề tài này chúng tôi đã tìm hiểu và áp dụng giải thuật từ bỏ sớm để nâng cao hiệu quả tính độ đo xoắn thời gian động, đề xuất một kỹ thuật khởi tạo trung tâm cụm mới cho giải thuật K-means, tìm hiểu một số giải thuật tính trung bình theo độ đo xoắn thời gian động để xây dựng hệ thống gom cụm dữ liệu Thực nghiệm cho thấy chất lượng gom cụm khi sử dụng độ đo xoắn thời gian động tốt hơn độ đo Euclid
Trang 7MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
TÓM TẮT iii
MỤC LỤC iv
DANH MỤC HÌNH vi
DANH MỤC BẢNG viii
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1
1.1 Giới thiệu về dữ liệu chuỗi thời gian 1
1.2 Gom cụm dữ liệu chuỗi thời gian 2
1.3 Mục tiêu đề tài 5
1.4 Tóm lược những kết quả đạt được 6
1.5 Cấu trúc của luận văn 7
CHƯƠNG 2: TỔNG QUAN CÁC CÔNG TRÌNH LIÊN QUAN 8
2.1 Các độ đo tương tự chuỗi thời gian 8
2.1.1 Độ đo Minkowski 9
2.1.2 Độ đo xoắn thời gian động 11
2.2 Các phương pháp thu giảm số chiều 12
2.2.1 Phương pháp biến đổi Fourier rời rạc 12
2.2.2 Phương pháp biến đổi Wavelet rời rạc 13
2.2.3 Phương pháp phân rã giá trị riêng 14
2.2.4 Phương pháp xấp xỉ gộp từng đoạn 15
2.2.5 Phương pháp xấp xỉ từng đoạn thích nghi 16
2.2.6 Phương pháp xấp xỉ tuyến tính từng đoạn 16
2.3 Các phương pháp rời rạc hóa dữ liệu 17
2.4 Các giải thuật gom cụm dữ liệu 18
2.4.1 Giải thuật gom cụm dữ liệu theo cây phân cấp 18
2.4.2 Giải thuật K-Means 19
2.4.3 Giải thuật K-Medoids 21
2.5 Các phương pháp gom cụm dữ liệu chuỗi thời gian 22
2.5.1 Áp dụng phương pháp PCA thu giảm số chiều sau đó dùng phương pháp HAC để gom cụm dữ liệu 22
2.5.2 Gom cụm dữ liệu dựa trên đặc trưng(Áp dụng phương pháp thu giảm số chiều dựa trên biến đổi Wavelet trực giao) 24
Trang 82.5.3 Thuật toán I-kMeans 25
2.6 Phương pháp tính giá trị trung bình dựa trên độ đo DTW 27
2.6.1 Phương pháp tính trung bình của Gupta và các cộng sự 27
2.6.2 Giải thuật tính trung bình cụm dữ liệu PSA 28
2.6.3 Giải thuật tính trung bình cụm dữ liệu DBA 29
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT 30
3.1 Giải thuật tính độ đo xoắn thời gian động 30
3.2 Giải thuật tính trung bình cụm dữ liệu PSA 37
3.3 Giải thuật tính trung bình cụm dữ liệu DBA 41
3.4 Vấn đề chọn số cụm K tối ưu nhất 43
3.5 Các phương pháp đánh giá chất lượng gom cụm dữ liệu 44
CHƯƠNG 4: HỆ THỐNG GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN 47
4.1 Đặt vấn đề 47
4.2 Hướng giải quyết 48
4.3 Kiến trúc chi tiết hệ thống 55
CHƯƠNG 5: THỰC NGHIỆM 59
5.1 Đánh giá độ chính xác và thời gian chạy của giải thuật gom cụm 59
5.1.1 Giới thiệu các tập dữ liệu 60
5.1.2 Đánh giá chất lượng gom cụm của các giải thuật 62
5.1.3 Đánh giá thời gian thực thi và số lần lặp của các giải thuật 64
5.2 Đánh giá ảnh hưởng của kỹ thuật khởi tạo trung tâm cụm đến kết quả gom cụm 66
5.2.1 Đánh giá ảnh hưởng đối với chất lượng kết quả gom cụm 66
5.2.2 Đánh giá ảnh hưởng về thời gian chạy của giải thuật K-means 67
5.3 Kết luận 69
CHƯƠNG 6: KẾT LUẬN 70
6.1 Tổng kết 70
6.2 Những đóng góp của đề tài : 70
6.3 Hướng phát triển 71
TÀI LIỆU THAM KHẢO 72 PHỤ LỤC A: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH – VIỆT A1 PHỤ LỤC B: LÝ LỊCH TRÍCH NGANG B1
Trang 9DANH MỤC HÌNH
Hình 1.1: Dữ liệu chuỗi thời gian .1
Hình 1.2: Ba hướng tiếp cận gom cụm dữ liệu chuỗi thời gian: (a) gom cụm trực tiếp, (b) gom cụm trên các đặc trưng, (c) gom cụm dựa trên mô hình (nguồn [25]) .3
Hình 1.3: Ảnh hưởng của độ đo đối với sự chính xác của việc gom cụm dữ liệu (nguồn [15]) .4
Hình 2.1: Minh họa hình dạng dữ liệu chuỗi thời gian có hai đường giống nhau nhưng đường cơ bản khác nhau(nguồn[17]) 10
Hình 2.2: Minh họa hình dạng dữ liệu chuỗi thời gian có hai đường giống nhau nhưng biên độ giao động khác nhau(nguồn[17]) 10
Hình 2.3: Sự khác nhau giữa hai độ đo Euclid và DTW (nguồn[17]) 11
Hình 2.4: Các phương pháp biểu diễn dữ liệu DFT, DWT, SVD (nguồn [17]) 14
Hình 2.5: Các phương pháp biểu diễn dữ liệu APCA, PAA, PLA (nguồn [17]) 15
Hình 2.6: Minh họa phương pháp rời rạc hóa dữ liệu chuỗi thời gian bằng phương pháp SAX Kết quả thu được ta có chuỗi ký tự “baabccbc “ (nguồn [26]) 17
Hình 2.7: Gom cụm dữ liệu theo cây phân cấp 18
Hình 2.8: Minh họa nhược điểm giải thuật K-means 20
Hình 2.9: Minh họa quá trình gom cụm dữ liệu bằng thuật toán K-means 20
Hình 2.10: Minh họa phân cụm cho dữ liệu chuỗi thời gian(nguồn [15]) 22
Hình 2.11: Mô phỏng quá trình chạy của thuật toán I-kMeans(nguồn [27]) 26
Hình 2.12: Hai phương pháp tính trung bình : (a) trung bình phân cấp cân bằng và (b) trung bình phân cấp tuần tự (nguồn [29]) 28
Hình 3.1:Minh họa cách tính khoảng cách theo DTW(nguồn [15]) 32
Hình 3.2:Đồ thị biểu diễn hai chuỗi thời gian 33
Hình 3.3: Ma trận tính DTW cho hai chuỗi thời gian 33
Hình 3.4: Ràng buộc miền tính toán độ đo xoắn thời gian động(nguồn [15]) 35
Hình 3.5: Minh họa cho đường bao U và L(nguồn [15]) 36
Hình 3.6: Chặn dưới LB_Keogh cho khoảng cách DTW (nguồn [15]) 37
Hình 3.7: Kết quả tính trung bình a) trung bình theo biên độ, b) trung bình theo DTW, c) trung bình theo SDTW(nguồn [30]) 38
Hình 3.8: Minh họa giải thuật tính trung bình PSA(nguồn [30]) 40
Trang 10Hình 3.9: Các lần lặp của giải thuật DBA(nguồn [8]) 43
Hình 4.1: Minh họa giải thuật EA_DTW 49
Hình 4.2: Minh họa kỹ thuật khởi tạo trung tâm cụm của Al-Daoud 52
Hình 4.3: Minh họa kỹ thuật khởi tạo trung tâm cụm(đề xuất) 54
Hình 4.4: Kiến trúc chi tiết hệ thống gom cụm dữ liệu chuỗi thời gian 55
Hình 4.5: Chuẩn hóa dữ liệu 56
Hình 4.6: Trực quan hóa kết quả bằng đồ thị 57
Hình 5.1: Hệ thống thực nghiệm 59
Hình 5.2: Hình minh họa tập dữ liệu Heterogeneous 61
Hình 5.3: Kết quả đánh giá gom cụm tập dữ liệu Stock dựa trên hàm mục tiêu 64
Hình 5.4: Thời gian thực thi gom cụm các tập dữ liệu 65
Hình 5.5: Số lần lặp khi gom cụm các tập dữ liệu 65
Hình 5.6: So sánh thời gian thực thi gom cụm trên tập dữ liệu Heterogeneous 67
Hình 5.7: So sánh thời gian thực thi gom cụm trên tập dữ liệu Synthetic Control 68
Hình 5.8: So sánh thời gian thực thi gom cụm trên tập dữ liệu Trace 68
Trang 11DANH MỤC BẢNG
Bảng 5.1: Kết quả gom cụm dữ liệu Heterogeneous………62
Bảng 5.2: Kết quả gom cụm dữ liệu Synthetic Control.……….62
Bảng 5.3: Kết quả gom cụm dữ liệu Cylinder-Bell-Funnel.………63
Bảng 5.4: Kết quả gom cụm dữ liệu Trace.……… 63
Bảng 5.5: Kết quả gom cụm dữ liệu FaceFour.………63
Bảng 5.6: Kết quả so sánh trên tập dữ liệu Heterogeneous.……….66
Bảng 5.7: Kết quả so sánh trên tập dữ liệu Synthetic Control.………66
Bảng 5.8: Kết quả so sánh trên tập dữ liệu Trace.………67
Trang 12CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
Chương này sẽ trình bày yêu cầu, mục tiêu và nội dung sơ lược của đề tài, cùng với động cơ để thực hiện đề tài này Chương này cũng trình bày những kết quả đã đạt được của đề tài
1.1 Giới thiệu về dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian thường hay được bắt gặp trong cuộc sống, ví dụ biểu đồ tăng giảm của chỉ số chứng khoán (hình 1.1), hay dữ liệu điện tâm đồ, dữ liệu ghi lại sự lên xuống của thủy triều vv…Theo khảo sát của Tufte (1992) [36], từ 4000 hình ngẫu nhiên trên các tờ báo xuất bản giai đoạn 1974 - 1989 thì 75% là các hình biểu diễn dữ liệu chuỗi thời gian Đặc biệt, trong thời đại hiện nay, thông tin là rất quan trọng Chính vì vậy những nghiên cứu và ứng dụng dữ liệu chuỗi thời gian là những lĩnh vực rất rộng lớn và cần thiết của khoa học máy tính và các ngành khoa học khác
Hình 1.1: Dữ liệu chuỗi thời gian
Chuỗi thời gian (time series) là tập hợp các quan sát tuần tự theo thời gian Dữ
liệu này có thể có hai hay nhiều chiều nhưng phải có một chiều là chiều thời gian
Trang 13Trong phạm vi nghiên cứu xử lý dữ liệu, chuỗi thời gian được biểu diễn bằng một
chuỗi các số thực tương ứng X = x1 x 2 x n , trong đó xi là giá trị đo ở thời điểm thứ i
Một đường cong biểu diễn chuỗi thời gian được minh họa trong hình 1.1
Theo Keogh (2002) [20], khi nghiên cứu trên chuỗi thời gian nên quan tâm đến đặc trưng mang tính thách thức của dữ liệu thời gian:
Dữ liệu rất lớn: dữ liệu điện tâm đồ trong một giờ có thể lên đến 1 Giga byte,
dữ liệu lưu vết các truy cập trên một website khoảng 5 Gigabyte/1 tuần, dữ liệu thu thập trên tàu con thoi trong không gian lên đến 158 Gigabyte
Phụ thuộc nhiều vào cách đánh giá độ tương tự: định nghĩa độ tương tự phụ
thuộc vào người dùng, tập dữ liệu, miền bài toán vv…
Dữ liệu thường không đồng nhất: định dạng của các loại dữ liệu khác nhau,
tần số lấy mẫu khác nhau,bị nhiễu,thiếu một vài giá trị,dữ liệu không sạch…
1.2 Gom cụm dữ liệu chuỗi thời gian
Gom cụm dữ liệu (Data Clustering) là một nhóm các kỹ thuật thuộc nhóm học
không giám sát dùng để chia một tập các dữ liệu đầu vào (dưới dạng các vector) thành các cụm dữ liệu khác nhau, đồng thời rút trích ra những đặc trưng của từng cụm Qua việc tìm ra các cụm dữ liệu, gom cụm dữ liệu giúp khai phá nhiều thông tin rất hữu ích Gom cụm dữ liệu là một trong những hướng đi chính của khai phá
dữ liệu (Data Mining)
Theo T.Warren Liao(2005)[25] hiện nay có ba hướng tiếp cận trong việc gom cụm dữ liệu chuỗi thời gian là (hình 1.2):
cận này các giải thuật gom cụm trực tiếp xử lý trên tập dữ liệu thực Ưu điểm của hướng tiếp cận này là kết quả gom cụm phản ánh chính xác dữ liệu thực, nhược điểm lớn nhất của hướng tiếp cận này là thời gian xử lý lâu do dữ liệu thời gian thường là rất lớn, do đó hướng tiếp cận này chỉ nên áp dụng với tập dữ liệu có chuỗi thời gian ngắn, ưu tiên độ chính xác hơn là tốc độ xử lý
cận này dữ liệu ban đầu được xử lý rút trích các đặc trưng để biến đổi dữ liệu ban đầu gồm rất nhiều chiều thành các dữ liệu ít chiều hơn Các phương pháp rút trích
Trang 14đặc trưng có thể áp dụng đ
chuỗi thời gian sẽ được trình bày chi ti
gian xử lý nhanh, còn nhượ
trực tiếp trên dữ liệu thực
thuật sẽ sử dụng một mô hình toán h
(HMM), công thức Bayes
Machine (SVM) Trong đó các
hay hệ thống sẽ tự động rút trích các tính ch
số cho mô hình Ưu điểm củ
thuật thực hiện trên các công th
ợc điểm của nó là kém chính xác hơn so vớ
chuỗi thời gian dựa trên mô hình: Hướng tiếp cình toán học ví dụ như mô hình Hidden Markov ModelBayes, mạng KSOM, mạng Neuron hay Support Vector
đó các chuỗi thời gian được xem như là các đối s
ng rút trích các tính chất đặc trưng của chuỗi thời gian l
ểm của hướng tiếp cận này là nhanh, ít tốn bộ nh
ên các công thức toán học Nhược điểm của phương pháp này là
ĩnh
ếp cận gom cụm dữ liệu chuỗi thời gian: (a) gom cụm trự
ên các đặc trưng, (c) gom cụm dựa trên mô hình (nguồn [25]
ều trên dữ liệu
m của nó là thời
ới việc xử lý
ếp cận này giải ình Hidden Markov Model
ng Neuron hay Support Vector
ối số trực tiếp,
ời gian làm đối
n bộ nhớ do giải ương pháp này là
m trực tiếp, [25])
Trang 15Giải thuật thông dụng hi
gian là K-means Ý tưởng củ
số cụm cần gom Đầu tiên, ta ch
trung tâm cụm ban đầu, sau
vào độ đo tương tự được sử
nhất Sau khi duyệt qua tập d
tiếp diễn cho đến khi trung tâm c
thể Khi đó, giải thuật K-means s
Theo Keogh (2002) [20]
nó phụ thuộc rất lớn vào đ
[15] hầu hết các giải thuật gom c
dựa trên độ đo Euclid, trong m
nhưng đối với dữ liệu chuỗ
ánh xạ 1-1 trong cách tính c
Trong những trường hợp n
DTW) thường cho kết quả chính xác h
dụng độ đo xoắn thời gian độ
sử dụng độ đo xoắn thời gian
một tập dữ liệu
Hình 1.3: Ảnh hưởng c
ụng hiện nay thường áp dụng để gom cụm dữ liệởng của thuật toán K-means là cho trước một số nguy
ên, ta chọn ngẫu nhiên k giá trị trong không gian d
u, sau đó ta duyệt qua tất cả các giá trị của tập d
ử dụng để đưa giá trị dữ liệu tương ứng về c
ập dữ liệu này, ta tính lại trung tâm cụm, quá tr
n khi trung tâm cụm không thay đổi theo một tiêu chuẩn đ
eans sẽ dừng
[20] khi xử lý dữ liệu chuỗi thời gian thì độ chính xác c
ào độ đo mà giải thuật lựa chọn xử lý Theo Keogh
ật gom cụm dữ liệu chuỗi thời gian hiện nay đềtrong một số trường hợp thì kết quả có thể chấp nh
ỗi thời gian như dữ liệu đa phương tiện, hình trong cách tính của độ đo Euclid thường cho kết quả không mong mu
ợp này độ đo xoắn thời gian động(Dynamic Time Warping
ả chính xác hơn Hình 1.3 minh họa sự khác bi
i gian động so với khi sử dụng độ đo Euclid, hình cho th
ời gian động cho kết quả chính xác hơn khi gom c
ởng của độ đo đối với sự chính xác của việc gom cụm dữ li
(nguồn [15])
ữ liệu chuỗi thời
ột số nguyên k là trong không gian dữ liệu làm
n nay đều thực hiện
ấp nhận được, hình ảnh…việc không mong muốn
Dynamic Time
khác biệt khi sử , hình cho thấy khi
n khi gom cụm cùng
ữ liệu
Trang 161.3 Mục tiêu đề tài
Mục tiêu nghiên cứu của đề tài trên cơ sở dữ liệu chuỗi thời gian là xây dựng một hệ thống gom cụm dữ liệu chuỗi thời gian dựa trên giải thuật K-means và độ đo xoắn thời gian động, chi tiết tập trung vào các vấn đề chính sau:
• Tìm hiểu giải thuật tính DTW và các phương pháp cải tiến để tính DTW:
Ưu điểm của DTW là độ chính xác cao so với độ đo Euclid, tuy nhiên nhược điểm lớn nhất của nó là thời gian tính toán chậm Đề tài sẽ tìm hiểu một số phương pháp để thu giảm thời gian tính toán cho giải thuật DTW
• Tìm hiểu phương pháp tính giá trị trung bình cho cụm dữ liệu chuỗi thời
gian dựa trên độ đo DTW:
Một trong những khó khăn khi áp dụng độ đo xoắn thời gian động trong việc gom cụm dữ liệu dựa trên giải thuật K-means là tính giá trị trung bình cho cụm dữ liệu, do đặc trưng của độ đo này là không tuân thủ bất đẳng thức tam giác, do đó các phương pháp tính trung bình đã dùng cho độ đo Euclid không thể áp dụng cho độ
đo này Vì lý do này mà hiện nay có rất ít công trình nghiên cứu về gom cụm dữ liệu chuỗi thời gian mà sử dụng độ đo xoắn thời gian động [28][29] Mục tiêu của
đề tài là tìm hiểu một số phương pháp tính giá trị trung bình của một tập dữ liệu chuỗi thời gian có độ chính xác chấp nhận được sử dụng độ đo xoắn thời gian động
• Hiện thực giải thuật để gom cụm dữ liệu chuỗi thời gian với độ đo DTW
tương ứng với các phương pháp tính trung bình và thực nghiệm để so sánh độ hiệu quả các giải thuật này:
Hiện thực và thực nghiệm giải thuật gom cụm trên các tập dữ liệu mẩu để so sánh độ hiệu quả của các giải thuật này
Trang 171.4 Tóm lược những kết quả đạt được
Với những yêu cầu của đề tài, sau thời gian nghiên cứu và hiện thực, chúng tôi
đã xây dựng được hệ thống gom cụm trên dữ liệu chuỗi thời gian Hệ thống này có
3 thành phần chính Thành phần thứ nhất cho phép người dùng nhập dữ liệu chuỗi thời gian ban đầu vào hệ thống và sau đó sẽ chuẩn hóa dữ liệu Thành phần thứ hai
có nhiệm vụ nhận tập dữ liệu đầu vào đã được chuẩn hóa để tiến hành gom cụm Thành phần thứ ba có nhiệm vụ trực quan hóa kết quả và đánh giá kết quả gom cụm
Thành phần thứ nhất Đây là phần cơ bản mà mọi hệ thống xử lý dữ liệu chuỗi thời gian phải có, đó là nhập dữ liệu và chuẩn hóa dữ liệu Hệ thống hiện thực hai phương pháp chuẩn hóa là chuẩn hóa min-max, và chuẩn hóa trung bình zero Thành phần thứ hai Đây là thành phần chính của hệ thống Chúng tôi đã tiến hành tìm hiểu và hiện thực các giải thuật tính trung bình dựa trên độ đo xoắn thời gian động và các giải thuật tối ưu cho độ đo này, đưa ra kỹ thuật khởi tạo trung tâm cụm đầu tiên cho giải thuật K-means, để hiện thực hệ thống gom cụm dữ liệu Thành phần thứ ba Là thành phần có nhiệm vụ trực quan hóa kết quả gom cụm, cho phép người dùng thấy được kết quả phân cụm dữ liệu trực quan cũng như đánh giá chất lượng của kết quả gom cụm
Như vậy, hệ thống đã hiện thực mà chúng tôi sẽ trình bày chi tiết ở những chương sau đã đáp ứng những yêu cầu và nhiệm vụ của đề tài
Trang 181.5 Cấu trúc của luận văn
Tổ chức phần còn lại của luận văn theo bố cục như sau:
Chương 2 là tổng quan về các công trình liên quan Những công trình này trình bày những phương pháp tính độ đo tương tự giữa hai chuỗi thời gian, các công trình nghiên cứu về thu giảm số chiều cho dữ liệu chuỗi thời gian Điểm qua một số công trình về gom cụm dữ liệu, và một số công trình tính trung bình của một tập dữ liệu chuỗi thời gian dựa trên độ đo xoắn thời gian động
Chương 3 giới thiệu một số lý thuyết mà chúng tôi sẽ sử dụng trong luận văn Trước hết đó là giải thuật tính toán độ đo xoắn thời gian động, và một số phương pháp cải thiện tốc độ tính toán cho giải thuật này Thứ hai là trình bày chi tiết các giải thuật tính trung bình cụm dữ liệu dựa trên độ đo xoắn thời gian động gồm Prioritized Shape Averaging, và giải thuật DTW Barycenter Averaging, cuối cùng
trong chương này giới thiệu một số phương pháp xác định số cụm k thích hợp cho
giải thuật K-means, phương pháp đánh giá chất lượng gom cụm của các giải thuật Chương 4 giới thiệu chi tiết hiện thực hệ thống gom cụm dữ liệu, sử dụng các
độ đo tương ứng
Chương 5 trình bày các kết quả thực nghiệm của hệ thống gom cụm, qua đó đánh giá chất lượng gom cụm của các độ đo, cũng như chất lượng gom cụm của các giải thuật
Chương 6 là một số kết luận và hướng mở rộng của đề tài
Trang 19CHƯƠNG 2: TỔNG QUAN CÁC CÔNG TRÌNH LIÊN QUAN
Để giải quyết bài toán gom cụm dữ liệu chuỗi thời gian, đề tài này sử dụng một
số lý thuyết từ các lĩnh vực khác nhau Do đó, chương này sẽ trình bày những điểm
cơ bản của các lý thuyết đó Đầu tiên là độ đo khoảng cách Euclid và độ đo khoảng cách xoắn thời gian động, cách tính độ đo khoảng cách xoắn thời gian động, các phương pháp thu giảm số chiều, sau đó là các giải thuật gom cụm và các phương pháp tính trung bình dựa trên độ đo xoắn thời gian động
2.1 Các độ đo tương tự chuỗi thời gian
Đối với bài toán tìm kiếm tương tự, gom cụm, phân loại trên dữ liệu chuỗi thời
gian thì dữ liệu được biểu diễn thành những dãy số thực, thí dụ T = t
1 ,…t n Đối với những bài toán này đòi hỏi chúng ta phải định nghĩa một độ đo tương tự giữa các
cặp chuỗi thời gian với nhau Cho hai chuỗi thời gian X = x 1 , x 2 ,…,x n và Y =
y 1 ,y 2 ,…,y m Ta cần phải tính độ tương tự SIM(X, Y) của hai chuỗi thời gian này
Để có thể tính toán chính xác thì các độ đo cần thỏa một số tính chất sau:
1 SIM(x, y) = 0 nếu và chỉ nếu x = y
2 SIM(x, y) = SIM(y, x)
3 SIM(x, y) >= 0 với mọi x, y
4 SIM(x, y) < SIM(x, z) + SIM(y, z)
Các tính chất 1 và 2 rất trực quan, tính chất 3 cần thiết trong trường hợp khi tồn tại một số thành phần khác nhau có khoảng cách nhỏ hơn 0 nhưng tổng khoảng cách của các thành phần có thể bằng 0 dẫn đến 2 đối tượng được xem là giống nhau Điều này là trái với tính chất 1 Tính chất 4 không bắt buộc thỏa đối với các phép đo khoảng cách Tuy nhiên, nó được sử dụng nhằm hỗ trợ kỹ thuật lập chỉ mục, giảm thời gian tính toán Với kỹ thuật này, từ những kết quả tính toán đã biết, ta có thể bỏ qua những không gian tìm kiếm mà chắc chắn không có lời giải thỏa mãn yêu cầu
Do đó, thời gian tính toán sẽ giảm
Đã có nhiều độ đo tương tự đã được sử dụng Việc chọn một độ đo tương tự là tùy thuộc rất nhiều vào miền ứng dụng và trong nhiều trường hợp thì một độ đo
Trang 20thuộc chuẩn L p đơn giản như độ đo Euclid là đủ tốt để dùng Tuy nhiên trong nhiều
trường hợp thì độ đo Euclid tỏ ra quá cứng nhắc vì không thích nghi được với
những phép biến đổi như tịnh tiến (shifting), co giãn biên độ (scaling) hay xoắn trục thời gian (time warping) Nhiều phương pháp tìm kiếm tương tự mới hơn dựa vào
những độ đo tương tự mềm dẻo và vững chắc hơn như độ đo xoắn thời gian động Phần tiếp theo sẽ đi sâu tìm hiểu các độ đo này và đưa ra phân tích điểm mạnh yếu của các độ đo đó được trình bày trong [1][2][4][15][18][32]
2.1.1 Độ đo Minkowski
SIM(X,Y) = p
n i
p i
|)(|
Nhạy cảm với nhiễu
Các chuỗi thời gian phải có độ dài giống nhau
Không thích hợp khi dữ liệu có đường căn bản khác nhau, (hình 2.1)
Không thích hợp khi dữ liệu có biên độ dao động khác nhau, (hình 2.2)
Trang 21Hình 2.1: Minh họa hình dạng dữ liệu chuỗi thời gian có hai đường giống nhau
nhưng đường cơ bản khác nhau(nguồn[17]).
Hình 2.2: Minh họa hình dạng dữ liệu chuỗi thời gian có hai đường giống nhau
nhưng biên độ giao động khác nhau(nguồn[17])
Khắc phục
Phương pháp chuẩn hóa dữ liệu (Data normalization)
a) Chuẩn hóa trung bình zero (Zero-Mean normalization) [20]
Chuỗi Q được biến đổi thành chuỗi Q’ dựa trên giá trị trung bình mean(Q)
và độ lệch chuẩn var(Q) theo công thức sau:
Q’[i] = (Q[i]- mean(Q)) / var(Q)
b) Chuẩn hóa nhỏ nhất – lớn nhất (Min-Max normalization) [2]
Chuỗi Q được biến đổi thành chuỗi Q’ dựa trên giá trị lớn nhất Qmax và giá trị nhỏ nhất Q min theo công thức sau:
Trang 222]
[]['
min max
min max
Q Q
Q Q
i Q i Q
−
−
−
=
Phương pháp trung bình di chuyển (Moving average) [33]
Chuỗi Q được biến đổi thành chuỗi Q’, trong đó điểm ở vị trí i bằng trung bình cộng giá trị tại điểm j và k điểm lân cận Ví dụ trong trường hợp k = 3
thì:
3
]1[][]1[][' = Q i− +Q i +Q i+i
Q
2.1.2 Độ đo xoắn thời gian động
Việc so trùng 2 đường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp điểm 1-1 (điểm thứ i của đường thứ nhất so với điểm thứ i của đường thứ hai) như trong cách tính của độ đo Euclid là không phù hợp trong trường hợp hai đường này không hoàn toàn giống nhau nhưng hình dạng biến đổi rất giống nhau Như trong hình 2.3.a, hai đường biểu diễn rất giống nhau về hình dạng nhưng lệch nhau về thời gian Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 1-1giữa 2 đường thì kết quả rất khác nhau và có thể dẫn đến kết quả cuối cùng không giống như mong muốn Vì vậy để khắc phục nhược điểm này, thì một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không thẳng hàng (hình 2.3.b) Phương pháp này gọi
là xoắn thời gian động (Dynamic Time Warping - DTW)
Hình 2.3: Sự khác nhau giữa hai độ đo Euclid và DTW (nguồn[17])
Trang 23Ưu điểm:
Phương pháp DTW phù hợp cho việc xác định độ tương tự giữa hai chuỗi thời gian có hình dạng giống nhau nhưng chiều dài hình dạng về mặt thời gian khác nhau
Cho kết quả chính xác hơn phương pháp tính khoảng cách bằng độ đo Euclid Đặc biệt trong các bài toán có dữ liệu nhỏ, bài toán phân loại
(classification) hay các bài toán gom cụm (clustering)
Nhược điểm
Phương pháp này có nhược điểm là thời gian chạy lâu Gấp hàng trăm đến hàng nghìn lần so với độ đo Euclid Giải thuật DTW ban đầu đưa ra thông
số w = n (chiều dài dữ liệu), khi đó độ phức tạp thuật toán là O(n 2 ).
2.2 Các phương pháp thu giảm số chiều
Dữ liệu chuỗi thời gian thường cực kỳ lớn Tìm kiếm, tính toán trực tiếp trên những dữ liệu này sẽ rất phức tạp và không hữu hiệu Để khắc phục vấn đề này, ta nên áp dụng một số phương pháp biến đổi để thu giảm độ lớn của dữ liệu Những phương pháp biến đổi này thường được gọi là những kỹ thuật thu giảm số chiều
(dimensionality reduction)
2.2.1. Phương pháp biến đổi Fourier rời rạc(Discrete Fourier Transform-DFT)
Phương pháp biến đổi rời rạc Fourier do R Agrawal và cộng sự đề nghị ([1][2][6]) Trong phương pháp biến đổi Fourier thì đường dữ liệu ban đầu được biểu diễn bởi các đường căn bản Những đường căn bản trong trường hợp này là đường sin và cosin
C(t) = ∑
=
+
n k
k k
)2cos(
Ưu điểm:
Khả năng nén dữ liệu và chịu nhiễu tốt
Một số phương pháp lập chỉ mục được đề nghị như F-Index [1], ST-Index [6] hỗ trợ việc tìm kiếm chuỗi con tương tự
Cho phép so sánh gián tiếp 2 chuỗi X, Y thông qua khoảng cách của 2 chuỗi
X f , Y f đã được biến đổi do: D(X, Y) ≥ α D(X
f , Y f ) (trong đó α là hằng số)
Trang 24Nhược điểm
Độ phức tạp của phép biến đổi Fourier tốt nhất Fast Fourier Transform –
FFT là O(nlgn) với n là số lượng điểm
Khó giải quyết khi các đường biểu diễn có chiều dài khác nhau
2.2.2. Phương pháp biến đổi Wavelet rời rạc(Discrete Wavelet Transform-DWT)
Phương pháp thu giảm số chiều bằng biến đổi Wavelet rời rạc do K Chan và W
Fu đề nghị năm 1999 [5] Tương tự như phương pháp DFT, tuy nhiên đối với phương pháp DWT đường cơ bản của nó không phải là đường sin hay cosin mà là
đường haar như trong hình 2.4 Đường Haar được định nghĩa theo các công thức
ψi jnhư sau:
ψi j (t)= ψ(2 j t - i ) i = 0,… 2j-1 trong đó,
Độ phức tạp phép biến đổi O(n)
Có khả năng khử nhiễu rất cao, thích hợp với những dữ liệu tĩnh ít thay đổi
do đường Haar cũng không thay đổi liên tục
Hỗ trợ xấp xỉ khoảng cách DTW
Nhược điểm
Chiều dài chuỗi dữ liệu ban đầu và chuỗi truy vấn phải là một số lũy thừa của 2
Trang 252.2.3. Phương pháp phân rã giá trị riêng(Singular Value Decomposition-SVD)
Phương pháp SVD do F Korn và cộng sự đề xuất năm 1997 [23] Phương pháp
SVD biểu diễn chuỗi thời gian thành các đường eigenwave (hình 2.4) Việc xác
định đường eigenwave dựa vào giá trị riêng và vectơ riêng của ma trận Dmxn với m
là tập các chuỗi thời gian, n là số chiều Mỗi tập dữ liệu khác nhau có các đường
eigenwave khác nhau
Ưu điểm
Cho phép thấy được hình dạng dữ liệu
Hỗ trợ kiểu truy vấn ngẫu nhiên
Nhược điểm
Độ phức tạp rất cao
Phải chạy lại giải thuật khi chỉnh sửa tập dữ liệu
Hình 2.4: Các phương pháp biểu diễn dữ liệu DFT, DWT, SVD (nguồn [17])
Trang 262.2.4. Phương pháp xấp xỉ gộp từng đoạn(Piecewise Aggregate
Approximation-PAA)
Phương pháp PAA do E Keogh và cộng sự đề xuất năm 2000 [18] Phương
pháp PAA tuần tự xấp xỉ k giá trị liền kề nhau thành cùng một giá trị bằng trung bình cộng của k điểm đó Quá trình cứ tiếp tục như vậy từ trái sang phải Kết quả
cuối cùng là đường cong có dạng bậc thang (hình 2.5)
i N
n j j
n
N X
1 ) 1 (
Ưu điểm
Thời gian tính toán rất nhanh
Hỗ trợ nhiều phương pháp tính khoảng cách (khoảng cách Euclid, DTW)
Hỗ trợ dạng câu truy vấn có chiều dài khác nhau
Nhược điểm
Xây dựng lại chuỗi ban đầu rất khó và thường sinh lỗi lớn
Không quan tâm đến những điểm đặc biệt trong từng đoạn xấp xỉ
Hình 2.5: Các phương pháp biểu diễn dữ liệu APCA, PAA, PLA (nguồn [17])
Trang 272.2.5. Phương pháp xấp xỉ từng đoạn thích nghi (Adaptive Piecewise Constant Approximation - APCA)
Phương pháp APCA do E Keogh và cộng sự đề xuất năm 2001 [19] Phương pháp này tương tự như phương pháp PAA, APCA xấp xỉ dữ liệu ban đầu thành những đoạn thẳng nằm ngang Tuy nhiên, nó khác với PAA là các đoạn này có kích thước bằng nhau, còn APCA thì kích thước của các đoạn nằm ngang là khác nhau tùy theo dữ liệu Những đoạn nào trên dữ liệu chuỗi thời gian có sự biến đổi lớn về
giá trị được biểu diễn bởi những phân đoạn dữ liệu ngắn (short segment), những
đoạn có sự dao động giá trị ít được biểu diễn bởi những phân đoạn dữ liệu dài (long
segment) (hình 2.5)
Ưu điểm
Tỷ lệ nén cao hơn phương pháp PAA
Tỷ lệ lỗi khi xây dựng lại dữ liệu nhỏ hơn PAA
Hỗ trợ tìm kiếm xấp xỉ (approximate searching) và tìm kiếm chính xác
Nhược điểm
Độ phức tạp phép biến đổi O(nlog(n))
2.2.6. Phương pháp xấp xỉ tuyến tính từng đoạn(Piecewise Linear Approximation-PLA)
Phương pháp xấp xỉ tuyến tính từng đoạn do E Keogh và cộng sự đề nghị vào
năm 1999 [21] Trong phương pháp này ta sẽ biểu diễn dữ liệu ban đầu bằng chuỗi các đoạn thẳng tuyến tính Mỗi đoạn thẳng tuyến tính nối cặp điểm ở hai đầu đoạn
thẳng xấp xỉ tốt nhất (best-fit) những điểm có trong phân đoạn chuỗi thời gian đó
Các đoạn thẳng này có thể rời nhau hoặc liên tục
Trang 282.3 Các phương pháp rời rạc hóa dữ liệu
Phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation-SAX)
được J Lin và các cộng sự đề xuất vào năm 2003 [26] Ý tưởng của phương pháp này là chuỗi dữ liệu ban đầu được chia thành từng đoạn bằng cách áp dụng phương pháp PAA Từ đó, dựa trên giá trị trung bình của đoạn thẳng để biểu diễn đặc trưng thành các ký tự Khi đó, chuỗi thời gian ban đầu sẽ được mã hóa rời rạc thành chuỗi các ký tự Hình 2.6 minh họa việc rời rạc hóa một chuỗi dữ liệu thời gian theo phương pháp SAX
Hình 2.6: Minh họa phương pháp rời rạc hóa dữ liệu chuỗi thời gian bằng phương
pháp SAX Kết quả thu được ta có chuỗi ký tự “baabccbc “ (nguồn [26])
Ưu điểm
Có khả năng tương tác với dữ liệu lớn
Khai phá được các kỹ thuật xử lý trên dữ liệu chuỗi thời gian để phân tích
và xử lý dữ liệu
Bài toán nhận dạng motif có thể được áp dụng các giải thuật đã được nghiên
cứu trong lĩnh vực sinh học tính toán
Nhược điểm
Do các điểm rời rạc được xác định dựa trên phân phối Gauss, dẫn đến tính không phù hợp cụ thể cho từng loại dữ liệu chuỗi thời gian Vì vậy, cần huấn luyện dữ liệu chuỗi thời gian để đưa ra các điểm rời rạc thích hợp
Trang 292.4 Các giải thuật gom cụ
2.4.1 Giải thuật gom cụm d
Gom cụm dữ liệu theo cây phân c
dữ liệu thành một cây các c
theo cây phân cấp đó là gom c
(agglomerative) thường đượ
dưới lên thường phổ biến hơ
tượng thuộc một cụm riêng, và ti
ụm dữ liệu theo cây phân cấp(Hierarchical clustering
u theo cây phân cấp là phương pháp gom nhóm các
t cây các cụm dữ liệu(hình 2.7) Có hai phương pháp gom c
à gom cụm từ trên xuống(divisive) và gom cụm t
ợc gọi là phương pháp gom cụm HAC Phươ
n hơn phương pháp từ trên xuống Đầu tiên cho mêng, và tiến hành lặp: tìm hai cụm dữ liệu giống nhau nh
ơn Việc gom cụm kết thúc khi ta được một cụ mong muốn (ví dụ số cụm)
ữ liệu theo cây phân cấp không đòi hỏi các vector d
u do đó có thể sử dụng cho nhiều độ đo khác nhau
ớn nhất của phương pháp này là giải thuật gom c
O(n 2 ) quay lại những gì đã được thực hiện trước đó
Hình 2.7: Gom cụm dữ liệu theo cây phân cấp
Hierarchical clustering)
ng pháp gom nhóm các đối tượng
ng pháp gom cụm
ụm từ dưới lên Phương pháp từ
ên cho mỗi đối
Trang 302.4.2 Giải thuật K-Means
Giải thuật K-means được MacQueen, J B giới thiệu vào năm 1967 Ý tưởng chính đằng sau giải thuật gom cụm K-means là giảm thiểu giá trị của một hàm mục tiêu, đó là việc phân loại các đối tượng vào các cụm có một đối tượng làm trung tâm cụm được chọn trước sao cho tổng khoảng cách giữa tất cả các mẫu đến trung tâm cụm tương ứng là nhỏ nhất Hình 2.9 là kết quả của bốn bước lặp của giải thuật K-means khi gom cụm một tập dữ liệu hai chiều
Giải thuật K-means
1 Chọn ngẫu nhiên k tâm của các cụm (cluster)
2 Gán các phần tử dữ liệu vào các cụm mà khoảng cách tới tâm của cụm đó
là gần nhất
3 Tính lại tâm của các cụm
4 Lặp lại bước (2) và bước (3) cho tới khi điều kiện lỗi (square-error) được
thỏa mãn hoặc các tâm không thay đổi vị trí nữa Ngoài ra, chúng ta có thể dừng giải thuật sau một số lần lặp nhất định
Ưu điểm
Độ phức tạp của giải thuật là O(nkl) trong đó n là kích thước tập dữ liệu,
k là số cụm, l là số lần lặp của giải thuật để giải thuật hội tụ Thông thường thì k cố định và l thay đổi không nhiều nên độ phức tạp giải thuật
có thể xem như tuyến tính theo kích thước của tập dữ liệu
Nhược điểm
Việc khởi tạo ngẫu nhiên các tâm là một điểm yếu của giải thuật Nếu chúng ta khởi tạo tốt các tâm sẽ chạy hiệu quả Ngược lại giải thuật có thể cho kết quả rất thấp Hình 2.8 cho ta thấy việc khởi tạo không tốt sẽ cho kết quả gom cụm bị sai
Trang 31Hình 2.8: Minh họa nhược điểm giải thuật K-means
Số nhóm k là hằng số và phải được xác định trước khi chạy giải thuật
Tập dữ liệu sẽ được xử lý lặp lại nhiều lần Do đó, chúng bắt buộc phải được tải tất cả vào bộ nhớ Nếu ta lưu trữ trên đĩa thì quá trình đọc dữ liệu này sẽ tốn nhiều thời gian Chính vì vậy, giải thuật K-means chỉ có thể xử lý được tập dữ liệu nhỏ, có khả năng lưu trữ được trong bộ nhớ máy tính
Chịu ảnh hưởng bởi nhiễu Dữ liệu nhiễu càng nhiều chất lượng gom cụm càng thấp
Hình 2.9: Minh họa quá trình gom cụm dữ liệu bằng thuật toán K-means.
Trang 322.4.3 Giải thuật K-Medoids
Giải thuật này tương tự như giải thuật K-means chỉ khác ở bước 3:
Giải thuật K-medoids
1 Chọn ngẫu nhiên k tâm của các cụm
2 Gán các phần tử dữ liệu vào các cụm mà khoảng cách tới tâm của cụm đó
là gần nhất
3 Chọn đối tượng có tổng khoảng cách đến các điểm còn lại trong cụm
là nhỏ nhất làm trung tâm cụm mới
4 Lặp lại bước (2) và bước (3) cho tới khi điều kiện lỗi được thỏa mãn hoặc các tâm không thay đổi vị trí nữa Ngoài ra, chúng ta có thể dừng giải thuật sau một số lần lặp nhất định
Ưu điểm
Hổ trợ gom cụm trên nhiều độ đo khác nhau
Không ảnh hưởng bởi nhiễu như giải thuật K-means
Nhược điểm
Độ phức tạp của giải thuật cao O(k(n-k) 2 ).
Số nhóm k là hằng số và phải được xác định trước khi chạy giải thuật
Việc khởi tạo ngẫu nhiên các tâm là một điểm yếu của giải thuật
Trang 332.5 Các phương pháp gom cụm dữ liệu chuỗi thời gian
Gom cụm dữ liệu chuỗi thời gian cũng là một trong những phương pháp được ứng dụng rất nhiều trong thực tế để tìm ra các đặc trưng của dữ liệu Ví dụ gom các cụm chứng khoán có tính chất giống nhau, gom các hình ảnh tương tự nhau(hình 2.10)…
Hình 2.10: Minh họa phân cụm cho dữ liệu chuỗi thời gian(nguồn [15])
Để gom cụm dữ liệu chuỗi thời gian, người ta thường dùng thuật toán K-means (được đề cập trong phần 2.4.2), ngoài ra có một số thuật toán khác được áp dụng để gom cụm dữ liệu chuỗi thời gian được trình bày tiếp sau
2.5.1 Áp dụng phương pháp PCA thu giảm số chiều sau đó dùng phương pháp HAC để gom cụm dữ liệu
Phương pháp này được Gavrilov và các cộng sự đưa ra vào năm 1998[12] Phương pháp này đưa ra lúc đầu nhằm gom cụm các kho dữ liệu khách hàng chứa các chuỗi thời gian
Với tập hợp các chuỗi thời gian ban đầu ta ánh xạ các chuỗi thời gian này thành
các chuỗi thời gian có d chiều Có hai cách ánh xạ là ánh xạ đồng nhất và ánh xạ
phát sinh Đối với phương pháp ánh xạ đồng nhất ta ánh xạ các chuỗi thời gian thành chuỗi thời gian có 255 chiều Đối với phương pháp ánh xạ phát sinh, các
vectơ dữ liệu chuỗi thời gian ở mức i có chiều dài k với i - 1<k< i + 1
Trang 34Sau khi ánh xạ các vectơ để chuẩn hóa số chiều vectơ ta dùng phương pháp
PCA (Principle Component Analysis) để thu giảm số chiều dữ liệu chuỗi thời gian bằng cách ánh xạ các vectơ x n trong không gian d chiều X1, ,K X n thành các vectơ
z n trong không gian M chiều với M<d Phương pháp PCA tìm d các vectơ trực
chuẩn u i gọi là các thành phần chủ yếu và giữ lại các tập con thỏa M<d trong các thành phần chủ yếu này để ánh xạ vectơ x n vào không gian có số chiều nhỏ hơn
Phương pháp PCA khai thác kỹ thuật phân rã định kỳ (Singular Value
Decomposition-SVD )[23] để tìm kiếm các trị riêng (eigenvalue) và các vectơ riêng (eigenvector) của ma trận phương sai
T n n
Trong đó x là giá trị trung bình của tất cả các vectơ x n Các thành phần chủ yếu
tương ứng với tổng số lượng M lớn nhất các vectơ riêng phần và các vectơ nhập
được ánh xạ các vectơ riêng phần ở trên để đưa ra các thành phần được biến đổi các
vectơ z n trong không gian M chiều
Sau khi thu giảm số chiều các chuỗi thời gian, áp dụng phương pháp
Hierarchical Agglomerative Clustering (HAC) để gom cụm các chuỗi thời gian Ta
dùng phương pháp phân loại phân cấp các chuỗi thời gian để áp dụng liên kết nhị phân Khởi đầu bằng các đối tượng dữ liệu chuỗi thời gian riêng lẽ, sau đó các cụm
dữ liệu mới được tạo ra dựa vào các mức trước đó Sau mỗi mức cho ra một số các cụm tương ứng Cơ chế gộp hai cụm dữ liệu lại với nhau là tìm hai cụm đó sao cho khoảng cách giữa chúng nhỏ hơn tất cả khoảng cách giữa hai cụm dữ liệu bất kỳ ở mức hiện tại Cho hai cụm dữ liệu C1, ,K C k và C1', ,C k' , ta tính toán độ tương tự giữa chúng bằng công thức sau :
' '
j i
j i j
i
C C
C C C
C Sim
C Sim
i
j i
max)
Trang 35Quá trình tính toán gom cụm ở mức i dựa vào các cụm ở mức i - 1 của cây phân
cấp cho đến khi tất cả các đối tượng dữ liệu chuỗi thời gian cùng thuộc về một cụm
dữ liệu hoặc thỏa điều kiện dừng (ví dụ : số cụm dữ liệu chuỗi thời gian cần gom…)
Phương pháp này ra đời rất sớm, tuy nhiên phương pháp này chỉ được thực nghiệm trên tập dữ liệu với chiều dài chuỗi thơi gian ngắn và số chuỗi thời gian tương đối nhỏ
2.5.2 Gom cụm dữ liệu dựa trên đặc trưng(Áp dụng phương pháp thu giảm số chiều dựa trên biến đổi Wavelet trực giao)
Năm 2006 Zhang H., Ho T.B và các cộng sự [37] đưa ra một phương pháp gom cụm dữ liệu chuỗi thời gian dựa trên các đặc trưng Do dữ liệu thời gian có kích thước rất lớn(dữ liệu có rất nhiều chiều), do đó việc xử lý trực tiếp trên nó tốn rất nhiều thời gian Phương pháp thông thường để xử lý vấn đề này là dùng một số phép biến đổi thu giảm số chiều(rút trích các đặc trưng) để biến chuỗi dữ liệu ban đầu thành một chuỗi dữ liệu có số chiều ít hơn, một số phương pháp thu giảm số chiều đã được trình bày ở trên như Singular Value Decomposition (SVD), Discrete Fourier Transform (DFT), Discrete Wavelet Transform (DWT) vv… Tuy nhiên việc thu giảm số chiều ảnh hưởng lớn đến độ chính xác của việc xử lý dữ liệu, dữ liệu càng được thu giảm thì mức độ lổi khi xử lý càng cao Do đó việc xác định số chiều
để thu giảm sao cho chất lượng xử lý dữ liệu chấp nhận được là rất quan trọng Các công trình [1][2][5][6][23] đã đưa ra phương pháp thu giảm số chiều nhưng không đưa ra được phương pháp xác định số chiều thích hợp Zhang H và các cộng sự đưa
ra một phương pháp thu giảm số chiều dựa trên wavelet trực giao cho phép tự động xác định số chiều phù hợp cho việc gom cụm dữ liệu Ý tưởng của phương pháp thu
giảm số chiều bằng wavelet trực giao (ví dụ đường Haar) là dựa trên hai yếu tố có
ảnh hưởng qua lại với nhau là chất lượng gom cụm và số chiều cần thu giảm(thời gian xử lý) Khi độ phân giải càng thấp thì thời gian thực thi của giải thuật càng nhanh, tuy nhiên khi độ phân giải càng thấp thì mức độ lỗi của giải thuật càng cao, nhóm tác giả dùng yếu tố ràng buộc này để xác định số chiều thích hợp dựa trên
Trang 36việc xác định mức phân giải trong giải thuật biến đổi rời rạc wavelet, chi tiết như sau:
Cho chuỗi thời gian X năng lượng của X là E(X) được định nghĩa như sau:
∑
=
i i x X
Cho chuỗi thời gian X, gọi Aj , Dj là Averages và Coefficients của X tại mức phân giải j (cách tính A j ,D j tham khảo [37])
Ví dụ chuỗi thời gian F(x) = (9, 7, 3, 5), A j , D j của F(x) tương ứng với từng mức
phân giải như sau:
Resolution Averages Coefficients
4 (9 7 3 5)
2 (8 4) (1 -1)
Cho tập dữ liệu chuỗi thời gian X={X 1 ,X 2 …X m } Theo [37] mức phân giải j là tối
ưu khi thỏa điều kiện:
i j m
i
i
D E
1 1
1) ( )(
Khi đó ta dùng vector Aj i là vector đặc trưng của Xi để tính toán gom cụm
2.5.3 Thuật toán I-kMeans
Trong phần 2.4.2 ta thấy độ phức tạp của thuật toán K-means là O(kNrD) trong
đó D là số chiều các điểm dữ liệu Khi tập dữ liệu chứa chuỗi thời gian dài, lúc đó
nhân tố D sẽ là một gánh nặng cho việc gom cụm dữ liệu Để giải quyết bài toán
này ta phải thu giảm số chiều của chuỗi thời gian lại
Một nhược điểm khác là giải thuật K-means chọn ngẫu nhiên các trung tâm cụm ban đầu, điều này có thể làm cho hiệu quả của giải thuật giảm đi vì làm tăng thời gian tính toán gom cụm
Thuật toán I-kMeans được J.Lin , E.Keogh và các cộng sự đưa ra vào năm 2003 [27], thuật toán bổ sung hai cải tiến dựa trên thuật toán K-means như sau :
Thêm dữ liệu vào không gian tìm kiếm bất cứ lúc nào trong quá trình chạy thuật toán
Trang 37Cho người dùng có thể dừng thuật toán bất cứ lúc nào và bất kỳ mức thực hiện nào của giải thuật
Phương pháp này sử dụng sự phân tích wavelet để thực hiện gom cụm và tìm ra các mức của sự phân tích giúp hiển thị kết quả gom cụm một cách định kỳ cho
người dùng Mỗi lần thực hiện phân tích đường Haar, chúng ta áp dụng thuật toán K-means, bắt đầu từ mức hai (mức thứ i có 2 (i-1) chiều) và tiếp tục ở các mức tiếp theo Bằng phương pháp này, chi phí tính toán trung tâm cụm ban đầu sẽ giảm đi vì
việc khởi tạo trung tâm cụm ban đầu ở mức thứ i +1 sẽ dựa vào kết quả tính toán trung tâm cụm ở mức thứ i (hình 2.11)
Hình 2.11: Mô phỏng quá trình chạy của thuật toán I-kMeans(nguồn [27]).
Giải thuật I-kMeans như sau :
Giải thuật I-kMeans
1 Xác định giá trị của k
2 Khởi tạo k trọng tâm cụm(ngẫu nhiên, nếu cần thiết)
3 Chạy giải thuật k-means ở mức biểu diễn waveletthứ i của dữ
liệu
4 Sử dụng trọng tâm cụm ở mức i làm trọng tâm cụm khởi tạo cho mức i+1 Điều này đạt được nhờ phép chiếu k trọng tâm từ
không gian 2ivào không gian 2i+ 1
5 Nếu không có điểm dữ liệu nào được gán lại trong lần lặp cuối, thoát giải thuật Ngược lại thì quay lại bước 3 với mức biểu diễn wavelet kế tiếp
Trang 38Bằng giải thuật I-kMeans như trên, người dùng sẽ chủ động dừng thuật toán bất
cứ lúc nào và ở mức thực hiện nào, ngoài ra cũng làm cho việc chọn lựa trung tâm cụm ban đầu hiệu quả hơn Tuy nhiên giải thuật này vẫn còn hạn chế đó là việc chọn ngẫu nhiên trung tâm cụm ở bước hai
2.6 Phương pháp tính giá trị trung bình dựa trên độ đo DTW
Như đã đề cập ở phần giới thiệu, một trong những khó khăn nhất hiện nay khi gom cụm dữ liệu chuỗi thời gian bằng giải thuật K-means dựa trên độ đo DTW là việc tìm trung tâm của một cụm Do đặc trưng của độ đo này là không thỏa mãn một số tính chất như không thỏa mãn bất đẳng thức tam giác, độ dài các tập dữ liệu không nhất thiết phải bằng nhau nên công thức tính trung bình thường dùng với độ
đo Euclid sau là không thể áp dụng:
∑
=
=
n i i X n
X
11
Phần tiếp theo chúng tôi sẽ giới thiệu một số công trình giới thiệu cách tính trung bình dựa trên độ đo xoắn thời gian động
2.6.1 Phương pháp tính trung bình của Gupta và các cộng sự
Năm 1996 Gupta và các cộng sự [13] đã đưa ra một phương pháp tính trung bình trên độ đo DTW Ý tưởng của phương pháp như sau:
Gọi Q = q1 ,q 2 ,…q i ,…q n và C = c1 ,c 2 ,…c j ,…c m là hai chuỗi thời gian
Sau khi áp dụng giải thuật DTW ta tìm được một đường ánh xạ tối ưu gồm K cặp đỉnh giữa Q và C : (q1 ,c 1 ) 1 …(q i ,c j ) k …(q n ,c m ) K
Khi đó giá trị trung bình của Q và C là một chuỗi thời gian
W =w 1 ,w 2 ,…w k ,…w K với w k (được ánh xạ bởi cặp (q i ,c j ) k) tính bằng công thức sau:
w k =
C Q
j C i
λ λ
λ λ
+
⋅+
⋅
với λQ và λC là các trọng số của Q và C
Trên cơ sở tính trung bình của một cặp dữ liệu ở trên ta có thể áp dụng một trong hai phương pháp tính trung bình là cây phân câp cân bằng (NLAAF1) và cây phân cấp tuần tự (NLAAF2) (hình 2.12) để tính trung bình cho một tập nhiều chuỗi dữ liệu
Trang 39Hình 2.12: Hai phương pháp tính trung bình : (a) trung bình phân cấp cân bằng
và (b) trung bình phân cấp tuần tự (nguồn [29])
Ưu điểm
Dễ hiện thực, thời gian thực thi nhanh
Nhược điểm
Độ chính xác chuỗi trung bình của phương pháp này không cao[28][29]
2.6.2. Giải thuật tính trung bình cụm dữ liệu PSA(Prioritized Shape Averaging)
Nhược điểm lớn nhất của phương pháp tính trung bình do Gupta đưa ra (phần 2.6.1) là độ chính xác của nó không cao được chứng minh trong các bài báo [28][29], trong đó việc ghép cặp một cách ngẫu nhiên khi tính trung bình làm ảnh hưởng đến độ chính xác của kết quả Niennattrakul và Ratanamahatana [30] đưa ra một phương pháp tính trung bình mới đó là Prioritized Shape Averaging-PSA vào năm 2009 Phương pháp này cũng tương tự như phương pháp của Gupta, tuy nhiên khác với phương pháp của Gupta, phương pháp này mở rộng cách tính trung bình
của hai chuỗi thời gian bằng giải thuật Scaled Dynamic Time Warping
Averaging-SDTW , và giải thuật tính trung bình cho cụm dữ liệu Prioritized Shape Averaging
có xét đến độ ưu tiên của từng chuỗi dữ liệu
Trang 402.6.3. Giải thuật tính trung bình cụm dữ liệu DBA(DTW Barycenter Averaging)
Một hạn chế có thể dễ dàng thấy được của giải thuật PSA là độ phức tạp của giải thuật cao, do PSA dựa trên giải thuật gom cụm theo cây phân cấp để xác định
độ ưu tiên của các chuỗi dữ liệu trong cụm mà độ phức tạp của giải thật này là
O (n 2) Một điều quan trọng là các giải thuật tính trung bình ở trên đều phải xác định
độ ưu tiên của các chuỗi dữ liệu, việc này tốn rất nhiều thời gian, đồng thời khi chạy giải thuật gom cụm sẽ phụ thuộc vào thứ tự của chuỗi dữ liệu trong tập dữ liệu, nhưng trong một tập dữ liệu ngẫu nhiên việc xác định độ ưu tiên này cho từng chuỗi
dữ liệu là không cần thiết Giải thuật DBA do Francois,P., Alain,K., Pierre,G đề xuất(2010) [8], không xét đến độ ưu tiên của từng chuỗi dữ liệu, mà xét đến độ lớn biên độ của các chuỗi dữ liệu ảnh hưởng như thế nào đến độ lớn các giá trị biên độ của chuỗi dữ liệu trung bình Việc tính các điểm dữ liệu của chuỗi trung bình dựa trên độ lớn các điểm của tất các các chuỗi dữ liệu trong cụm làm cho sự khác biệt của chuỗi trung bình đến các chuỗi trong cụm là nhỏ nhất
Ưu điểm:
Phương pháp này có độ chính xác cao hơn phương pháp PSA
Độ phức tạp của giải thuật thấp
Nhược điểm:
Thông số đầu vào của giải thuật là chuỗi trung tâm đầu tiên Việc xác định chuỗi trung tâm đầu tiên cho thích hợp là một khó khăn, nó ảnh hưởng đến độ chính xác của giải thuật Thông thường ta lấy một chuỗi bất kỳ trong cụm để truyền cho đối số này
Độ dài cần xác định của chuỗi thời gian trung bình ban đầu