BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG TÌM KIẾM TƯƠNG TỰ TRONG CƠ SỞ DỮ LIỆU CHUỖI THỜI GIAN MÃ SỐ: T2011
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KH&CN CẤP TRƯỜNG
TÌM KIẾM TƯƠNG TỰ TRONG
CƠ SỞ DỮ LIỆU CHUỖI THỜI GIAN
MÃ SỐ: T2011- 06TĐ
Tp Hồ Chí Minh, 2011
S 0 9
S KC 0 0 3 3 4 7
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TÌM KIẾM TƯƠNG TỰ TRONG CƠ SỞ DỮ
LIỆU CHUỖI THỜI GIAN
Trang 31
DANH MỤC CÁC HÌNH ẢNH 3
PHẦN MỞ ĐẦU 5
1 Tình hình nghiên cứu trong và ngoài nước 5
2 Tính cấp thiết của đề tài 5
3 Ý nghĩa lý luận và thực tiễn 6
4 Các đối tượng nghiên cứu 6
5 Phạm vi và các phương pháp nghiên cứu 6
PHẦN NỘI DUNG 7
Chương 1 Các kiến thức cơ sở 7
1.1 Tổng quan về dữ liệu chuỗi thời gian và bài toán tìm kiếm tương tự 7
1.2 Các công trình liên quan 8
1.2.1 Các độ đo tương tự 8
1.2.2 Thu giảm số chiều chuỗi TSD 10
1.2.3 Các cấu trúc chỉ mục 15
Chương 2 Phương pháp đề xuất 22
2.1 Thu giảm số chiều dựa vào kỹ thuật IPIP 22
2.2 Độ phức tạp của giải thuật thu giảm số chiều IPIP 26
2.3 Cấu trúc chỉ mục Skyline cho phương pháp IPIP 27
2.3.1 Vùng bao IPIP 27
2.3.2 Hàm tính khoảng cách cho IBR 28
2.3.3 Cấu trúc chỉ mục Skyline cho phương pháp biểu diễn IPIP 29
2.4 Xử lý các câu truy vấn có chiều dài khác nhau 31
2.4.1 Xử lý câu truy vấn có chiều dài nhỏ hơn n 31
2.4.2 Xử lý câu truy vấn có chiều dài lớn hơn n 32
2.5 Chi tiết kỹ thuật của các chức năng 33
2.5.1 Qui trình thực hiện tìm kiếm tương tự 33
2.5.2 Chuẩn hóa dữ liệu 34
2.5.3 Xác định các điểm PIP 34
2.5.4 Xây dựng SB-tree 34
Chương 3 Kết quả thực nghiệm 36
3.1 Phương pháp luận thực nghiệm 36
3.2 Thực nghiệm về độ chặt của chặn dưới (Tightness of lower bound) 37 3.3 Thực nghiệm về tỉ lệ thu giảm truy xuất (pruning power) 40
3.4 Thực nghiệm về hệ thống hiện thực (implemented system) 41
Kết luận và hướng phát triển 45
Tài liệu tham khảo 46
Trang 42
DANH MỤC CÁC HÌNH ẢNH
Hình 1.1 Minh họa 2 TSD giống nhau nhưng (a) đường cơ bản khác nhau và
(b) biên độ giao động khác nhau
Hình 1.2 Khoảng cách giữa hai đường biểu diễn (a) tính theo độ đo Euclid
và (b) tính theo độ đo DTW Hình 1.3 Minh họa cách tính khoảng cách theo DTW
Hình 1.4 Minh họa phương pháp DFT
Hình 1.5 Minh họa phương pháp DWT
Hình1.6 Minh họa phương pháp PAA
Hình 1.7 Một xấp xỉ từ 12 điểm mốc của một chuỗi TSD
Hình 1.8 Cực tiểu quan trọng (trái) và cực đại quan trọng (phải)
Hình 1.9 (a) Minh họa khoảng cách thẳng đứng, (b) Quá trình xác định 5
điểm PIP trong TSD
Hình 1.10 Minh họa R-tree
Hình1.1 Một ví dụ về trường hợp xấu khi tìm kiếm
Hình 1.12 Lưu đồ minh họa giải thuật thêm phần tử mới vào cây
Hình 1.13 Minh họa thêm thành phần X vào cây (a) Cấu trúc R*-tree
(b) Minh họa hình chữ nhật bao nhỏ nhất
Hình1.14 Minh họa các trường hợp MBR có phủ lấp và không phủ lấp Hình 1.15 Minh họa SBR và SBR xấp xỉ của ba chuỗi TSD
Hình 2.1 Minh họa kỹ thuật IPIP
Hình 2.2 Ví dụ minh họa về IBR (a) Hai chuỗi TSD C 1 , C 2 và biểu diễn
IPIP của chúng (b) IBR của hai chuỗi IPIP C’ 1 và C’ 2 Hình 2.3 Giải thuật xác định k PIP trong một đoạn
Hình 2.4 Giải thuật tạo SB-tree
Hình 3.1 Kết quả thực nghiệm về độ chặt chặn dưới của kỹ thuật IPIP so với
PIP (a) So trùng chuỗi con (b) So trùng toàn chuỗi
Hình từ 3.2 đến 3.6 Kết quả thực nghiệm về độ chặt của chặn dưới của
trường hợp so trùng toàn bộ chuỗi
Hình từ 3.7 đến 3.11 Kết quả thực nghiệm về độ chặt của chặn dưới của
trường hợp so trùng toàn chuỗi con
Hình 3.12 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất theo tỉ lệ thu
giảm khác nhau
Hình 3.13 Kết quả thực nghiệm về chi phí CPU chuẩn hóa của (a) so trùng
toàn chuỗi (b) so trùng chuỗi con
Hình 3.14 Kết quả thực nghiệm về chi phí CPU chuẩn hóa theo kích thước
dữ liệu (so trùng toàn chuỗi)
Trang 53
Hình 3.15 Kết quả thực nghiệm về chi phí CPU chuẩn hóa theo kích thước
dữ liệu của phương pháp IPIP
Hình 3.16 Kết quả thực nghiệm về chi phí CPU chuẩn hóa theo kích thước
dữ liệu (so trùng chuỗi con)
Hình 3.17 Thời gian xây dựng chỉ mục với các tỉ lệ thu giảm khác nhau và
số chuỗi thực nghiệm là 10000
Trang 64
PHẦN MỞ ĐẦU
6 Tình hình nghiên cứu trong và ngoài nước
Bài toán tìm kiếm tương tự trong cơ sở dữ liệu chuỗi thời gian (Time Series Data - TSD) đã được nhiều nhà nghiên cứu quan tâm trong những năm qua
Nhiều kỹ thuật thu giảm số chiều TSD đã được giới thiệu Trong số đó có các
kỹ thuật như biến đổi Fourier rời rạc (Discrete Fourier Transforms - DFT) [1], biến đổi Wavelet rời rạc (Discrete Wavelet Transforms - DWT) [5], xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) [14], xấp xỉ hằng số từng đoạn thích nghi (Adaptive Piecewise Constant Approximations - APCA)
[15]
Cũng đã có một số nghiên cứu về kỹ thuật thu giảm số chiều dựa vào các
điểm quan trọng như kỹ thuật thu giảm số chiều dựa vào các điểm mốc (landmark points) của Perng và các cộng sự, 2000 [17], kỹ thuật thu giảm số chiều dựa vào các điểm quan trọng (Important points) của Pratt và các cộng sự,
2003 [7], kỹ thuật thu giảm số chiều dựa vào các PIP (Perceptually Important Points) của Fu và Chung, 2001 [6] Các kỹ thuật này có ưu điểm là (1) có thể
cung cấp một biểu diễn xấp xỉ đa mức phân giải, (2) có thể thực hiện so sánh tương tự các chuỗi dữ liệu chuỗi thời gian có chiều dài khác nhau Ngoài ra, qua thực nghiệm các tác giả của các phương pháp pháp thu giảm số chiều dựa vào các điểm quan trọng đã cho thấy chúng thực thi hiệu quả Qua nghiên cứu ban đầu của chúng tôi về ba phương pháp dựa vào điểm quan trọng này, PIP là phương pháp hiệu quả và dễ cài đặt nhất Tuy nhiên, Cả ba phương pháp trên vẫn chưa được chứng minh về mặt lý thuyết là chúng tuân theo điều kiện chặn dưới nhằm đảm bảo không xảy ra lỗi tìm sót (false dismissal) Việc không tuân theo điều kiện chặn dưới gây khó khăn cho sự so sánh các phương pháp điểm quan trọng với các phương pháp thu giảm số chiều khác như PAA, APCA Ngoài ra chúng cũng không có cấu trúc chỉ mục hỗ trợ lập chỉ mục cho việc tìm kiếm tương tự Điều này làm giảm hiệu quả của việc tìm kiếm tương tự trên cơ
sở dữ liệu chuỗi thời gian lớn
7 Tính cấp thiết của đề tài
Dữ liệu chuỗi thời gian là loại dữ liệu được sử dụng phổ biến trong các lĩnh vực khoa học, công nghệ, y học và thương mại Chẳng hạn, trong y khoa người
ta có thể sử dụng các bài toán về time series để xây dựng chương trình dò tìm
tự động trên điện não đồ của bệnh nhân để phát hiện bệnh, hoặc trong lĩnh vực chứng khoán ta có thể ứng dụng các bài toán về time series để xây dựng chương trình dự báo xu thế biến động của chứng khoán trong thời gian sắp tới,
Trang 75
v.v… Thời gian qua, đã và đang có nhiều quan tâm của các nhà nghiên cứu về bài toán tìm kiếm tương tự (similarity search) trong cơ sở dữ liệu chuỗi thời gian Bài toán này là một thành phần quan trọng trong nhiều ứng dụng khai phá
dữ liệu (data mining) như gom cụm (clustering), phân lớp (classification), phát hiện motif (discovering motif), …
8 Ý nghĩa lý luận và thực tiễn
3.1 Ý nghĩa lý luận
Nghiên cứu đề xuất một phương pháp thu giảm số chiều mới nhằm khắc phục nhược điểm của các phương pháp thu giảm số chiều dựa vào điểm quan trọng đã có Đồng thời đề xuất một cấu trúc chỉ mục hỗ trợ thực hiện bài toán tìm kiếm tương tự trong cơ sở dữ liệu chuỗi thời gian một cách hiệu quả
3.2 Ý nghĩa thực tiễn
Nghiên cứu này sẽ là nền tảng cho những nghiên cứu tiếp theo về các bài toán khác trong khai phá dữ liệu chuỗi thời gian như gom cụm, phân lớp, phát hiện bất thường, tìm kiếm motif, v.v… Từ đó có thể áp dụng cho các ứng dụng cụ thể về chẩn đoán, phân tích, dự báo trong nhiều lĩnh vực khác nhau như chẩn đoán bệnh trong y khoa, dự báo về thị trường chứng khoán, phân tich lưu lượng giao thông, … Ngoài ra, còn có thể áp dụng giảng dạy như một chuyên đề cho sinh viên sau đại học
9 Các đối tượng nghiên cứu
Cơ sở dữ liệu chuỗi thời gian và các kết quả nghiên cứu đã công bố về tìm kiếm tương tự trong cơ sở dữ liệu chuỗi thời gian
10 Phạm vi và các phương pháp nghiên cứu
10.1 Phạm vi nghiên cứu
Phương pháp thu giảm số chiều dữ liệu chuỗi thời gian
Cấu trúc chỉ mục đa chiều sử dụng cho bài toán tìm kiếm tương tự
10.2 Các phương pháp nghiên cứu
Tổng kết các kết quả nghiên cứu liên quan trước đây Đánh giá hiệu quả của các phương pháp Thực nghiệm để kiểm tra kết quả
Nghiên cứu tài liệu, ứng dụng mô hình lý thuyết và chứng minh bằng thực nghiệm
Trang 86
PHẦN NỘI DUNG Chương 1 Các kiến thức cơ sở
1.1 Tổng quan về dữ liệu chuỗi thời gian và bài toán tìm kiếm tương tự
Một dữ liệu chuỗi thời gian (Time Series Data - TSD) là một dãy số thực, mỗi số biểu diễn một giá trị tại một thời điểm Loại dữ liệu này được
sử dụng phổ biến trong các lĩnh vực khoa học, công nghệ và thương mại Thời gian qua, đã và đang có nhiều quan tâm của các nhà nghiên cứu về bài toán tìm kiếm tương tự (similarity search) trong cơ sở dữ liệu chuỗi thời gian Bài toán này là một thành phần quan trọng trong nhiều ứng dụng khai phá dữ liệu (data mining) như gom cụm (clustering) [12][13], phân lớp (classification) [10]
Bài toán tìm kiếm tương tự được phân làm 2 loại: so trùng toàn bộ chuỗi (whole sequence matching) và so trùng chuỗi con (subsequence matching) Khi so trùng toàn bộ chuỗi, các chuỗi TSD được giả định là có chiều dài bằng nhau, còn trong so trùng chuỗi con ta tìm chuỗi con liên tục trong TSD dài hơn tương tự nhất với chuỗi truy vấn Độ tương tự giữa 2 chuỗi TSD có thể được tính toán dựa vào một độ đo tương tự Có nhiều độ đo tương tự các chuỗi TSD đã được đề nghị, trong đó có 2 độ đo được quan tâm sử dụng là
độ đo Euclid và độ đo xoắn thời gian động (DTW-Dynamic Time Warping)
Những khó khăn và thách thức khi nghiên cứu về TSD:
Dữ liệu thường rất lớn Chẳng hạn, trong 1 giờ, dữ liệu điện tâm đồ (ECG) có thể lên đến 1GB
Phụ thuộc nhiều vào yếu tố chủ quan của người dùng và tập dữ liệu khi đánh giá mức độ tương tự giữa các TSD
Dữ liệu không đồng nhất: định dạng của dữ liệu khác nhau, tần số lấy mẫu khác nhau Ngoài ra, dữ liệu có thể bị nhiễu, thiếu một vài giá trị hoặc không sạch
Do giới hạn về bộ nhớ máy tính và thời gian thực hiện, việc phân tích đúng trên các tập dữ liệu chuỗi thời gian rất lớn là điều không thể Vì vậy, một trong những vấn đề trọng tâm của công việc khai phá dữ liệu chuỗi thời gian là làm sao giảm số chiều của chuỗi dữ liệu nhưng vẫn giữ được các tính chất đặc trưng của chúng
Trong những năm qua, nhiều kỹ thuật thu giảm số chiều TSD đã được giới thiệu Phần tiếp theo sẽ trình bày tổng quan về các công trình nay
Trang 97
1.2 Các công trình liên quan
Bài toán tìm kiếm tương tự trong cơ sở dữ liệu chuỗi thời gian đã và đang được nghiên cứu trong cộng đồng các nhà nghiên cứu về TSD Các nghiên cứu tập trung vào các kỹ thuật thu giảm số chiều chuỗi dữ liệu thời gian và lập chỉ mục các chuỗi dữ liệu trên không gian đã thu giảm số chiều Trong phần này, chúng tôi sẽ trình bày tổng quan về một số kỹ thuật thu giảm số chiều, cùng với các độ đo tương tự thường được sử dụng trong bài toán tìm kiếm và các kỹ thuật lập chỉ mục liên quan
1.2.1 Các độ đo tương tự
Trong các bài toán về TSD, để so sánh hai chuỗi người ta sử dụng các độ đo tương tự Hai đối tượng được xem là giống nhau khi độ đo tương tự giữa chúng bằng 0, được xem là tương tự nếu độ đo tương tự giữa chúng nhỏ hơn một giá trị được qui ước trước đó Để có thể tính toán và so sánh, độ
đo này được biểu diễn thành các số thực và phải thỏa các tính chất sau:
- D(x,y) = 0 nếu và chỉ nếu x = y
Trang 108
Hình 1.1 Minh họa 2 TSD giống nhau nhưng (a) đường cơ bản khác nhau
và (b) biên độ giao động khác nhau
Để khắc phục trường hợp này trước khi áp dụng các giải thuật ta cần thực hiện chuẩn hóa dữ liệu Các phương pháp chuẩn hóa thường được dùng là:
- Chuẩn hóa trung bình zero (Zero-Mean normalization)[16]
Chuỗi Q được biến đổi thành chuỗi Q’ theo công thức
Q’[i] = (Q[i]- mean(Q)) / var(Q) Với mean(Q) là giá trị trung bình của Q và var(Q) là độ chệch chuẩn của
Q
- 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’ theo công thức
2
2 ]
[ ] [ '
min max
min max
Q Q
Q Q i Q i Q
Trang 11 Không được đi qua trái hay đi xuống
Đường đi phải liên tục
Ô (i,j) thuộc đường đi phải thỏa |i - j| <= w
Giả sử có K ô đi từ ô (0,0) đến ô (m,n) thỏa mãn những điều kiện trên,
khi đó:
Tuy nhiên, ta có thể dùng quy hoạch động để giải quyết bài toán này Trong
đó, công thức truy hồi để tính D(i, j):
Hình 1.3 minh họa cách tính khoảng cách theo DTW
Hình 1.3 Minh họa cách tính khoảng cách theo DTW
Phương pháp DTW cho kết quả chính xác hơn so với độ đo Euclid, đặc biệt là đối với các tập dữ liệu nhỏ và nó cho phép nhận dạng những mẫu có hình dạng giống nhau nhưng độ co giãn về mặt thời gian có thể khác nhau
Trang 1210
Nhược điểm của DTW là thời gian chạy rất lâu Tuy nhiên gần đây đã có những nghiên cứu nhằm tăng tốc độ xử lý của phương pháp này
1.2.2 Thu giảm số chiều chuỗi TSD
Thu giảm số chiều là phương pháp biểu diễn TSD n chiều X = {x 1 , x 2 , …,
x n } thành TSD có N chiều Y = {y 1 , y 2 , …, y N } với N << n, nhưng vẫn phải
giữ được các đặc trưng của TSD ban đầu, sao cho từ TSD đã thu giảm số
chiều ta có thể khôi phục lại TSD ban đầu Với N càng lớn thì sự khôi phục
càng chính xác Nhiều công trình đã nghiên cứu về vấn đề này Dưới đây là các công trình tiêu biểu
Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT)
Kỹ thuật thu giảm số chiều áp dụng phương pháp DFT do R Agrawal và các cộng sự đề xuất đầu tiên năm 1993 [1] Ý tưởng cơ bản của phương
pháp này là để thu giảm số chiều một TSD X có chiều dài n vào không gian đặc trưng N chiều (N << n), chuỗi TSD ban đầu được biến đổi thành tập
các hệ số (gọi là hệ số Fourier), các hệ số này được tính theo công thức sau:
Trong đó, f(t) = (f(1), …, f(n)) là chuỗi TSD, f = 1, …, n và
Sau đó tổ hợp tuyến tính các sóng này ta có được dạng biểu diễn mong muốn (hình 1.4) Một TSD được biến đổi theo cách này gọi là biến đổi vào miền tần số
Độ phức tạp của phép biến đổi Fourier nhanh nhất (Fast Fourier
Transform-FFT) là O(nlogn) với n là số lượng điểm và phương pháp này
thích hợp với các loại đường biểu diễn dữ liệu khác nhau, tuy nhiên chúng cũng có những nhược điểm là khó giải quyết khi các chuỗi có chiều dài khác nhau, và dựa vào phương pháp này, không có cách nào để lựa chọn một đoạn giống như mẫu mà không phải xây dựng lại chuỗi dữ liệu gốc để tạo ra những hệ số mới cho đoạn đó
Phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform – DWT)
Phương pháp DWT do K Chan và A W Fu đề xuất năm 1999 [5] Phương pháp này giống như DFT, nhưng trong khi hàm cơ sở của phương pháp DFT có dạng hình sin và các hệ số Fourier luôn biểu diễn sự phân bố toàn cục của dữ liệu, thì hàm cơ sở của phương pháp DWT là hàm toán học
1
i
Trang 1311
và một số hệ số Wavelet là những đoạn con cục bộ theo thời gian của dữ liệu được nghiên cứu Một loại Wavelet đơn giản nhưng được sử dụng rộng rãi là Haar Wavelet TSD ban đầu được biểu diễn bằng các đường Haar cơ bản, sau đó tổ hợp tuyến tính các đường Haar này ta thu được biểu diễn xấp
xỉ của chuỗi ban đầu (Hình 1.5)
Hình 1.4 Minh họa phương pháp DFT Hình 1.5 Minh họa phương pháp DWT
Ngoài sử dụng đường Haar, phương pháp Wavelet có thể sử dụng các đường cơ bản khác như đường Daubechies, Coiflet, Symmlet, …[19] Phương pháp DWT rất hiệu quả vì nó mã hóa đơn giản và nhanh Phương pháp này cũng thích hợp với những dữ liệu tĩnh ít thay đổi do đường Haar
không thay đổi liên tục Độ phức tạp của phép biến đổi DWT là O(n), với n
là chiều dài của chuỗi thời gian Nhược điểm của phương pháp này là chiều dài chuỗi dữ liệu ban đầu phải là một số lũy thừa 2
Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA)
Phương pháp xấp xỉ gộp từng đoạn do E Keogh và cộng sự đề xuất năm
2000 [14] Theo phương pháp này, chuỗi TSD ban đầu được chia thành N
đoạn con có kích thước bằng nhau, sau đó tính trung bình của các điểm dữ liệu nằm trong mỗi đoạn con Như vậy, chuỗi TSD được xấp xỉ bằng N giá trị trung bình đó Kết quả cuối cùng là đường thẳng có dạng bậc thang
Cho chuỗi dữ liệu thời gian X = {x 1, x 2,…, x n }, phương pháp PAA sẽ biến đổi chuỗi này thành một điểm trong không gian N chiều (N<<n)
theo công thức sau:
( 1) 1
n i N
n
j i N
X
Trang 1412
Ưu điểm của phương pháp này là đơn giản, thời gian tính toán rất nhanh
và cách biểu diễn của nó hỗ trợ nhiều phương pháp tính khoảng cách (Euclid, DTW) Nhưng nhược điểm của nó là xây dựng lại chuỗi ban đầu rất khó, phương pháp cũng không quan tâm đến những điểm đặc biệt trong từng đoạn xấp xỉ Hình 6 minh họa phương pháp này Năm 2001, Keogh và các cộng sự đưa ra một cách tiếp cận tổng quát hơn so với PAA Phương pháp này được gọi là xấp xỉ hằng số từng đoạn thích nghi (APCA – Adaptive Piecewise Constant Approximation) [15], nó cho phép các đoạn con có chiều dài khác nhau nhằm xấp xỉ tốt hơn chuỗi TSD
Vì tính phổ biến của phương pháp PAA, chúng tôi đã dùng nó để so sánh với phương pháp đề xuất trong báo cáo này là IPIP Qua đó có thể rút
ra nhận xét về những điểm mạnh và điểm yếu cũng như phạm vi ứng dụng của phương pháp được đề cập
Hình1.6 Minh họa phương pháp PAA
Các phương pháp dựa vào điểm quan trọng
- Mô hình điểm mốc (Landmark model)
Năm 2000, Perng và các cộng sự đã đưa ra mô hình điểm mốc (landmark model) [17] Các điểm mốc (landmarks) trong một TSD là các điểm có độ quan trọng lớn Ý chính của mô hình này là sử dụng các điểm mốc để xử lý thay cho chuỗi TSD gốc Tùy theo từng lĩnh vực ứng dụng sẽ
có các điểm mốc khác nhau, và định nghĩa của các điểm mốc có thể đi từ các khái niệm đơn giản (như các điểm cực đại, cực tiểu địa phương hoặc các điểm uốn) đến các cấu trúc phức tạp hơn Một điểm được gọi là điểm mốc cấp n của một đường cong nếu đạo hàm cấp n của điểm đó bằng 0 Như vậy, điểm cực đại và cực tiểu địa phương là các điểm mốc cấp 1, còn các điểm uốn là các điểm mốc cấp 2 Càng nhiều loại điểm mốc khác nhau được dùng thì chuỗi TSD được biểu diễn càng chính xác, tuy nhiên điều này
sẽ làm cho cây chỉ mục lớn hơn Hình 1.7 biểu diễn chuỗi thời gian xấp xỉ được xây dựng lại từ 12 điểm mốc
Trang 1513
Hình 1.7 Một xấp xỉ từ 12 điểm mốc của một chuỗi TSD
- Phương pháp dựa vào các điểm cực trị quan trọng
Năm 2003, Eugene Fink and Kevin B Pratt đã giới thiệu một kỹ thuật thu giảm số chiều dựa trên việc trích các điểm quan trọng trong TSD [7] Các điểm quan trọng được lấy là các điểm cực đại và cực tiểu quan trọng và
bỏ qua các điểm biến đổi nhỏ Tỉ số nén được kiểm soát bằng tham số R >
1 Khi tăng R sẽ có ít điểm được lấy hơn Các điểm cực trị quan trọng được
định nghĩa như sau:
Điểm a m trong chuỗi a 1 , …, a n được gọi là một cực tiểu quan trọng nếu
Hình 1.8 Cực tiểu quan trọng (trái) và cực đại quan trọng (phải)
Độ phức tạp của thuật toán này là O(n) và chỉ cần một hằng số bộ nhớ
Nó chỉ cần một lần quét qua chuỗi thời gian mà không cần qua giai đoạn tiền xử lý
- Phương pháp dựa vào các PIP (Perceptually Important Points)
Năm 2001, Chung, F.L., Fu, T.C., và các cộng sự đưa ra kỹ thuật thu giảm số chiều dựa vào các điểm PIP và sử dụng kỹ thuật này để phân tích các mẫu trong các ứng dụng về tài chính [6] Thuật toán xác định các điểm PIP như sau:
Trang 1614
Với một chuỗi thời gian P đã được chuẩn hóa, hai điểm PIP đầu tiên được chọn là điểm đầu tiên và điểm cuối cùng của chuỗi P Điểm PIP thứ 3 được chọn là điểm trong P có khoảng cách lớn nhất so với 2 điểm PIP đầu tiên Điểm PIP thứ 4 được chọn là điểm trong P có khoảng cách lớn nhất so
với 2 điểm PIP kế cận đã chọn (có thể là điểm đầu và điểm thứ 3 hoặc điểm thứ 3 và điểm cuối) Tiến trình xác định các PIP tiếp tục cho đến khi số PIP
đạt tới số điểm được yêu cầu Khoảng cách giữa một điểm trong P với
đường nối 2 điểm PIP kế cận đã chọn là khoảng cách thẳng đứng (Vertical
Distance-VD) từ điểm cần tính trong P tới đường nối 2 điểm PIP kế cận đó
(hình 1.9(a)) Khoảng cách này được tính theo công thức:
3 1 2
1 1
2 1 3
x x
x x y y y y
y p p
tự trên cơ sở dữ liệu chuỗi thời gian lớn
1.2.3 Các cấu trúc chỉ mục
Việc sử dụng cấu trúc lập chỉ mục cho phép chúng ta tìm kiếm các chuỗi con một cách nhanh chóng và hiệu quả Faloutsos (1994) [9] đưa ra những tính chất mà một phương pháp lập chỉ mục nên có:
Trang 1715
- Nó nên nhanh hơn việc quét tuần tự
- Tổng phí về không gian nhỏ
- Cho phép các câu truy vấn có chiều dài khác nhau
- Cho phép thực hiện các thao tác chèn và xóa mà không phải xây dựng lại chỉ mục
- Không xảy ra lỗi tìm sót (false dismissals)
Để đạt hiệu quả cao, số lỗi tìm sai (false alarms) cũng nên thấp
Dưới đây là cấu trúc chỉ mục đa chiều thường dùng
R-tree do A Guttman đề nghị năm 1984 [11]: là cấu trúc cây dựa
trên B-tree Tương tự như B-tree, R-tree là một cây cân bằng Một R-tree có
những tính chất sau:
1 Mỗi nút chứa từ m đến M thành phần (m và M là 2 thông số trong quá trình xây dựng R-Tree, m ≤ M/2) trừ khi nó là nút gốc
2 Mỗi thành phần trong nút lá có dạng (MBR, P), với MBR (minimum
bounding rectangles) là vùng bao chữ nhật nhỏ nhất n chiều, P trỏ đến
đối tượng gốc trên đĩa
3 Mỗi một thành phần trong một nút không phải lá cũng có dạng (MBR, P), với MBR là vùng bao chữ nhật nhỏ nhất chứa các MBR trong nút
Hình 1.10 Minh họa R-tree
Khi quan tâm đến hiệu quả trong việc tìm kiếm trên R-tree thì các khái niệm về che phủ và phủ lấp (overlap) là rất quan trọng
Trang 18Rõ ràng, để việc tìm kiếm trong R-tree được hiệu quả đòi hỏi cả hai yếu
tố che phủ và phủ lấp phải là tối thiểu Tối thiểu độ che phủ là giảm vùng không gian trống được bảo phủ bởi các nút Tối thiểu độ phủ lấp thậm chí còn quan trọng hơn tối thiểu độ che phủ Khi một cửa sổ tìm kiếm rơi vào bên trong vùng diện tích được phủ lấp bởi k thành phần trong nút, trong trường hợp xấu nhất, k đường đến nút lá phải được kiểm tra, vì thế tốc độ
tìm kiếm sẽ bị giảm đi rất nhiều Ví dụ, đối với cửa sổ tìm kiếm W được mô
tả ở Hình 1.12, cả hai nút con A và B phải được tìm kiếm mặc dù chỉ có một
nút sẽ trả về kết quả, vì thế chi phí cho việc tìm kiếm sẽ tăng lên rất nhiều
Rõ ràng, vì rất khó để kiểm soát độ phủ lấp trong suốt quá trình phân chia động các nút của R-tree, nên độ phức tạp của quá trình tìm kiếm sẽ không còn là logarit nữa mà có thể là tuyến tính
Hình1.11 Một ví dụ về trường hợp xấu khi tìm kiếm
Sau đó, đã có một số cải tiến trên R-tree như R*-tree và X-tree R*-tree
do N Beckmann và cộng sự đề nghị năm 1990 [3], X-tree do Stefan Berchtold và các cộng sự đề xuất năm 1996 [21] nhằm khắc phục tình trạng phủ lấp tăng cao giữa các vùng MBR khi số chiều tăng cao bằng cách thêm một khái niệm supernode và sử dụng thuật toán một thuật toán tách nút để tối thiểu các vùng giao nhau Dưới đây là các thao tác xây dựng R*-tree
Các thao tác xây dựng R*-tree
- Thêm phần tử
Giải thuật tổng quát của thao tác thêm phần tử được minh họa ở hình
Trang 1917
1.13 Quá trình chọn cây con sẽ chọn ra nút lá phù hợp để thêm phần tử mới vào theo nguyên tắc mở rộng diện tích vùng bao chữ nhật nhỏ nhất (diện tích che phủ) là tối thiểu đối với các nút có các thành phần không chỉ đến nút lá,
và mở rộng diện tích chồng lên nhau (diện tích phủ lấp) của một thành phần trong nút là ít nhất đối với các nút có các thành phần chỉ đến nút lá Hình
1.14 minh họa ví dụ thêm thành phần X vào cây Giá trị của X được thể hiện
bằng hình chữ nhật trong hình 1.14(b)
Hình 1.12 Lưu đồ minh họa giải thuật thêm phần tử mới vào cây
Hình 1.13 Minh họa thêm thành phần X vào cây
(a) Cấu trúc R*-tree (b) Minh họa hình chữ nhật bao nhỏ nhất
Trong trường hợp thêm mới một thành phần vào một nút đầy Lúc này
sẽ xảy ra quá trình tách nút Quá trình tách nút có thể sẽ lan truyền ngược lên trên nếu nút được tách làm đầy nút cha của nó
R2
R4
Trang 2018
-Xóa một phần tử
Quá trình xóa một phần tử trong cây sẽ tìm nút lá có chứa thành phần tương ứng và xóa đi Tuy nhiên, sau khi xóa một thành phần trong nút, có thể gây ra tình trạng số lượng thành phần quá thấp (nhỏ hơn số tối thiểu) Nếu điều này xảy ra thì quá trình chỉnh lại cây sẽ đươc thực hiện như sau:
- Xóa đệ qui các nút khỏi các nút cha của nó cho đến khi nút bị xóa thành phần vẫn vẫn còn hợp lệ Đồng thời giữ lại các cây con bị xóa
- Chèn tất cả các thành phần trong các cây con bị xóa trong quá trình trước
Trong các cấu trúc chỉ mục đa chiều (như R-tree hoặc R*-tree) sử dụng
cho các chuỗi TSD, các nút lá chứa các biểu diễn xấp xỉ (vector đặc trưng) của chuỗi TSD Các vector đặc trưng này được dùng để tính toán khoảng
cách chặn dưới d feature () giữa chuỗi truy vấn và chuỗi TSD xấp xỉ Mỗi một
thành phần (entry) trong nút không phải là nút lá chứa một vùng bao nhỏ nhất MBR (Minimum Boundary Region) Một MBR có thể là một hình chữ nhật bao các vector đặc trưng trong cây con của nó hoặc cũng có thể là một vùng được định nghĩa trên các xấp xỉ của dữ liệu thực được chứa trong MBR Các MBR ở các nút không phải là nút lá này được dùng để tính
khoảng cách chặn dưới D region (q, R) giữa chuỗi truy vấn q và MBR R Chú ý
là các hàm d feature () và D region (q, R) được định nghĩa tùy thuộc kỹ thuật thu giảm số chiều và các vùng bao được sử dụng
Keogh và các cộng sự cũng đã xây dựng thuật toán k-NN (k- nearest neighbor) Search được cải tiến từ thuật toán k-NN search của Seidel [15] và
đã chứng minh rằng để đảm bảo kết quả tìm kiếm đúng trên cấu trúc chỉ
mục đa chiều (i.e C’ I, E I, ta phải có d feature (Q, C’) ≤ Dist(Q, E), với I là tập các vector đặc trưng được tìm thấy dựa vào cấu trúc chỉ mục đa chiều và Dist(Q, E) là hàm tính khoảng cách giữa 2 chuỗi TSD) ta phải có
D region (q, R) ≤ Dist(Q, C), C nằm trong MBR R Điều kiện này còn được gọi là tính chất chặn dưới của nhóm (group lower bound propertive)
Tính chất chặn dưới của nhóm cho ta định hướng trong thiết kế cấu trúc chỉ mục Tính chất này phải được cung cấp bởi kỹ thuật lập chỉ mục được chọn
Chỉ mục Skyline
Năm 2003, Quanzhong Li và các cộng sự đã đề xuất một kỹ thuật lập chỉ
mục mới gọi là Skyline Index [18] nhằm khắc phục tình trạng phủ lấp giữa các hình chữ nhật chặn 2 chiều bên trong các vùng bao MBR của các chuỗi bằng cách định nghĩa một vùng bao mới gọi là Skyline Bounding Region
Trang 2119
(SBR) thay cho vùng bao MBR Vùng SBR dùng để xấp xỉ và biểu diễn một
nhóm các chuỗi TSD theo hình dạng chung của chúng
Hình 1.15(a) minh họa một nhóm các chuỗi TSD và một tập 8 vùng bao
chữ nhật chặn 2 chiều được định nghĩa bởi APCA MBR, R Hình 1.15(b)
minh họa các các vùng bao chữ nhật chặn 2 chiều sau khi loại bỏ các chuỗi TSD để dễ nhìn Trong hình này, dễ thấy là hình chữ nhật 5 là dư thừa vì nó hoàn toàn được bao phủ bởi hình chữ nhật 3 và 6 Như vậy, ta có thể định
nghĩa lại vùng bao MBR R với cùng hình dạng như cũ nhưng chiếm ít không
gian hơn như minh họa ở hình 1.15(c)
Vùng bao Skyline được định nghĩa như sau:
Cho một nhóm S gồm n chuỗi TSD có chiều dai l, S = {s 1 , s 2 , …, s n }, vùng bao Skyline (SBR) của S xác định một vùng hai chiều được bao bởi hai đường skyline trên, dưới và hai đường thẳng đứng nối hai đường skyline tại hai điểm đầu và cuối của các chuỗi TSD trong S Hai đường Skyline trên (Tsky) và dưới (Bsky) của S được định nghĩa như sau:
Tsky = {ts 1 , ts 2 , …, ts l } Bsky = {bts 1 , bs 2 , …, bs l }, Trong đó, với mọi 1 ≤ i ≤ l,
ts i = max{s 1 [i], …, s n [i]} và bs i = min{s 1 [i], …, s n [i]}
với s j [i] là giá trị thứ i của chuỗi TSD thứ j trong S
Chú ý là theo định nghĩa trên thì vùng SBR chỉ bao gồm một vùng duy nhất
và không xảy ra tình trạng phủ lấp Hình 1.16 minh họa SBR của ba chuỗi
TSD Tuy nhiên, điều dễ nhận thấy là chi phí để biểu diễn SBR cho các chuỗi TSD dài là rất cao Vì thế tác giả chỉ sử dụng biểu diễn xấp xỉ của Tsky và Bsky cho mỗi SBR trong cấu trúc chỉ mục Khi sử dụng SBR xấp xỉ cần phải đảm bảo là SBR xấp xỉ phải bao SBR gốc nhằm đảm bảo tính chất chặn dưới
của nhóm các chuỗi TSD
thừa
c.Một MBR không có phủ lấp
Hình1.14 Minh họa các trường hợp MBR có phủ lấp và không phủ lấp
Trang 2220
(a) 3 chuỗi TSD (b) SBR (c) SBR xấp xỉ
Hình 1.15 Minh họa SBR và SBR xấp xỉ của ba chuỗi TSD
Để có thể dùng biểu diễn SBR trong cấu trúc chỉ mục đa chiều, tác giả đã sử dụng hàm tính khoảng cách giữa chuỗi truy vấn và vùng bao SBR được định nghĩa như sau: Cho một chuỗi truy vấn q và một vùng bao SBR R chứa một
nhóm các chuỗi TSD Hàm khoảng cách chặn dưới được tính theo công thức
Trong đó, q[i] là giá trị thứ i của chuỗi truy vấn q, l là chiều dài của chuỗi
TSD, và
Trang 2321
Chương 2 Phương pháp đề xuất
Trong phần này, Kỹ thuật IPIP (Improved Perceptually Important Point)
sẽ được giới thiệu Kỹ thuật này dựa trên việc sắp xếp lại thứ tự các điểm dữ liệu trong chuỗi TSD dựa vào mức độ quan trọng chúng và chia chuỗi thành
m đoạn (m được cho trước) Một số điểm quan trọng cao cùng với giá trị
trung bình của các đoạn sẽ được chọn làm đặc trưng của chuỗi Để tiết kiệm không gian lưu trữ các đặc trưng, các điểm quan trọng này được biến đổi thành chuỗi nhị phân, trong đó mỗi bit được lưu trữ là 0 hay 1 tùy thuộc giá trị của điểm quan trọng nằm trên hay dưới đường trung bình của đoạn chứa điểm quan trọng đó
Với cách biểu diễn xấp xỉ chuỗi TSD bằng các PIP được lưu trữ ở dạng nhị phân như trên, ngoài đặc trưng về giá trị, ta có thể giữ được đặc trưng về hình dạng (shape) của chuỗi TSD ở nhiều mức phân giải khác nhau, nhưng vẫn không tốn nhiều không gian lưu trữ Mặt khác, khi so sánh độ tương tự giữa hai chuỗi, ta có thể so sánh độ tương tự về mặt giá trị kết hợp với tương
tự về mặt hình dạng bằng cách tịnh tiến cho hai đường trung bình trùng nhau rồi so sánh các PIP dựa trên các bit biểu diễn và cộng thêm khoảng cách giữa các trung bình đoạn
2.1 Thu giảm số chiều dựa vào kỹ thuật IPIP
Cho một cơ sở dữ liệu C gồm k chuỗi TSD C = {C 1 , …, C k } và một chuỗi truy vấn Q = q 1 , …, q n Không mất tính tổng quát, giả sử các chuỗi
trong cơ sở dữ liệu C cũng có chiều dài n và mỗi chuỗi coi như một đoạn Từ mỗi đoạn trong một chuỗi C i = {c 1 , …,c n }, sử dụng thuật toán của Fu [8] chọn
ra l điểm quan trọng, gọi là các điểm PIP (Perceptually Important Point) và
tính trung bình của đoạn Để giảm thiểu số lượng các đặc trưng cần lưu cho
mỗi PIP như các phương pháp cũ, phương pháp IPIP lưu các điểm quan
trọng dưới dạng các bit theo công thức sau:
trong đó, là giá trị trung bình của đoạn
Cũng cần nhắc thêm là phương pháp biểu diễn chuỗi TSD dưới dạng bit
được đề xuất đầu tiên bởi Ratanamahatana và các công sự, 2000 [20]
Phương pháp biểu diễn chuỗi TSD dưới dạng bit có các ưu điểm: (1) độ đo khoảng cách giữa chuỗi truy vấn và chuỗi TSD được biểu diễn dưới dạng bit
Trang 2422
nhỏ hơn hay bằng độ đo Euclid, (2) Cho phép so sánh trực tiếp giữa chuỗi truy vấn gốc với chuỗi TSD ở dạng bit, (3) đạt hiệu quả nhanh về mặt thời gian khi tìm kiếm tương tự Nhược điểm của phương pháp này là không cho phép người dùng lựa chọn số điểm trong chuỗi được chuyển qua chuỗi bit
Hình 2.1 minh họa trực quan kỹ thuật này với số điểm PIP được chọn là l = 5
Hình 2.1 Minh họa kỹ thuật IPIP
Trường hợp này ta sẽ lưu giá trị và chuỗi bit 00100
Ý tưởng chính khi so sánh chuỗi truy vấn Q với một chuỗi TSD C trong
cơ sở dữ liệu là biến đổi Q vào cùng không gian đặc trưng như C, sau đó di chuyển đường trung bình của Q trùng với đường trung bình của trong C
nhằm so sánh sự giống nhau về hình dạng của hai chuỗi Ngoài ra, chúng ta cần cộng thêm khoảng cách giữa hai đường trung bình của hai chuỗi để tính toán sự sai biệt về mặt giá trị Như vậy ta khắc phục được nhược điểm của phương pháp tính toán chỉ dựa trên giá trị (thường không quan tâm tới hình dạng) và phương pháp tính toán chỉ dựa trên hình dạng (thường không quan tâm tới tính chất chặn dưới)
Để tăng độ chính xác của biểu diễn xấp xỉ theo phương pháp này, chúng
ta có thể chia mỗi chuỗi TSD thành N (N << n) đoạn có độ dài w và thực
hiện biến đổi như trên cho mỗi đoạn Như vậy, với mỗi chuỗi ta chỉ cần lưu
N giá trị trung bình và l * N bits
Để so sánh độ tương tự giữa hai chuỗi TSD Q và C, chúng ta sử dụng
hàm tính khoảng cách được định nghĩa như sau
Định nghĩa 1 (Độ đo tương tự IPIP)
Trong đó,
)',()',()
',
i
i bc q d C
Q D
1
2 1
Q D
1
2
(1) (2) (3)