Tải bản đầy đủ (.pdf) (49 trang)

tìm kiếm tương tự trong cơ sở dữ liệu chuỗi thời gian

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.56 MB, 49 trang )

BỘ 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
S

K

C

0

0

3

9

5

9

MÃ SỐ: T2011- 06TĐ

S KC 0 0 3 3 4 7


Tp. Hồ Chí Minh, 2011


BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN


BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ 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Đ

Chủ nhiệm đề tài: GVC. Ths
Nguyễn Thành Sơn.
Thành viên đề tài: TS. Nguyễn Phƣơng

TP. HỒ CHÍ MINH – 07/2011


MỤC LỤC

trang

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
1


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 C1, C2 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).
2


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

3


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,
4


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

5


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.

6


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

-

D(x, y) = D(y, x)

-

D(x, y)  0 với mọi x, y

-

D(x, y) < D(x, z) + D(y, z)

Dưới đây là các độ đo thường được sử dụng:
 Độ đo Minkowski
Ký hiệu là Sim(X,Y) (độ tương tự giữa X và Y) và được định nghĩa như
sau:

Tuy p có thể có nhiều sự lựa chọn khác nhau, nhưng trong các nghiên cứu
đối với dữ liệu chuỗi thời gian thì thường sử dụng p = 2 (khoảng cách
Euclid).

Độ đo này có ưu điểm tính toán dễ dàng. Tuy nhiên nó cũng có một số
nhược điểm là do phương pháp này tính toán dựa trên giá trị nên đối với các
trường hợp tính chất của hai mẫu là giống nhau nhưng giá trị khác nhau (có
đường căn bản khác nhau hay có biên độ dao động khác nhau) thì khoảng
cách hai mẫu sẽ rất khác nhau. Hình 1.1 minh họa trường hợp này.
7


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
Q'[i ] 

Qmax  Qmin
2
Qmax  Qmin
2

Q[i ] 

 Phương pháp xoắn thời gian động (Dynamic Time Warping DTW)
Trong trường hợp hai mẫu cần so sánh có hai đường biểu diễn không

hoàn toàn giống nhau nhưng hình dạng biến đổi rất giống nhau thì khi so
sánh độ tương tự giữa hai mẫu bằng cách so sánh từng cặp điểm 1-1 (so
điểm thứ i của đường thứ nhất và điểm thứ i của đường thứ hai) là không
phù hợp. Hình 2 minh họ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-1 giữa hai đườ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. Phương pháp này gọi là xoắn thời gian động (Dynamic
Time Warping - DTW) [4].

8


Hình 1.2. Khoảng cách giữ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. (a) tính theo độ đo Euclid và (b) tính
theo độ đo DTW
Cách tính DTW
Cách đơn giản nhất để tính DTW của hai đường X và Y là ta xây dựng ma
trận Dm x n với m = |X| và n= |Y|. Khi đó, Dij = d(xi , yj ).
Sau khi xây dựng ma trận D, ta tìm đường đi từ ô (0,0) đến ô (m,n) thỏa
mãn những ràng buộc sau:
 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.
9


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 = {x1, x2, …,
xn} thành TSD có N chiều Y = {y1, y2, …, yN} 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à i   1
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
10


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 = {x1, x2,…, xn }, 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<theo công thức sau:
xi 

N
n

11

n
i
N



n
j  ( i 1) 1
N

xj



Ư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.

12


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 am trong chuỗi a1, …, an được gọi là một cực tiểu quan trọng nếu
có một chỉ mục i, j sao cho i  m  j, mà
- Am là cực tiểu trong đoạn ai … aj và
- Ai/am  R và aj/am  R
Điểm cực đại quan trọng được định nghĩa tương tự. Hình 1.8 minh họa
các cực trị quan trọng

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:
13


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:

x  x1 
  y3
VD ( p3 , pc )  y c  y3   y1  ( y 2  y1 ) c
x2  x1 


Trong đó xc = x3
Hình 1.9(b) minh họa quá trình xác định các điểm PIP. TSD trong ví dụ
này có 10 điểm, còn số điểm PIP cần xác định là 5.
p3(x3,y3)


p2(x2,y2)

pc(xc,yc)

p1(x1,y1)

Hình 1.9(a). Minh họa khoảng cách

Hình 1.9(b). Quá trình xác định 5 điểm

thẳng đứng

PIP trong TSD

Ưu điểm của những phương pháp biểu diễn dữ liệu dựa vào các điểm
quan trọng là (1) các chuỗi thời gian có chiều dài khác nhau có thể so trùng,
(2) có thể thu giảm số chiều ở nhiều mức phân giải khác nhau, (3) qua thực
nghiệm, các tác giả đã cho thấy chúng thực thi hiệu quả. Tuy nhiên, các
phương pháp trên vẫn còn những nhược điểm là (1) không đảm bảo độ chặt
của chặn dưới nên có thể xảy ra lỗi tìm sót, (2) không 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.
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ó:
14



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
con của nó.
4. Nút gốc có ít nhất 2 con, trừ khi nó là nút lá.
5. Tất cả nút lá xuất hiện ở cùng mức.
Hình 1.11 thể hiện một sự phân chia 12 giá trị dữ liệu 2 chiều (112)
thành 7 vùng (hình chữ nhật – MBR) khác nhau.

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.
15


Che phủ ở một nút trong R-tree được định nghĩa là toàn bộ diện tích của
các hình chữ nhật kết hợp với nút đó.
Phủ lấp ở một nút được định nghĩa là toàn bộ phần diện tích giao nhau
của 2 hay nhiều thành phần trong nút đó.
Rõ 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
16


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

R2

R4

(a)

(b)

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ó.


17


-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 dfeature() 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 Dregion(q, R) giữa chuỗi truy vấn q và MBR R. Chú ý
là các hàm dfeature() và Dregion(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ó dfeature(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ó

Dregion(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

18


(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).

c.Một MBR không có
b.Hình chữ nhật 5 là dư
phủ lấp
thừa
Hình1.14. Minh họa các trường hợp MBR có phủ lấp và không phủ lấp


a.Một APCA MBR

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 = {s1, s2, …, sn},
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 = {ts1, ts2, …, tsl}
Bsky = {bts1, bs2, …, bsl},
Trong đó, với mọi 1 ≤ i ≤ l,
tsi = max{s1[i], …, sn[i]} và bsi = min{s1[i], …, sn[i]}
với sj[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.

19


(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à

20


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 = {C1, …, Ck} và một
chuỗi truy vấn Q = q1, …, qn. 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 Ci= {c1, …,cn}, 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:
1
ct  
0

if ct > 

ngược lại

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
21


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
Đường trung bình () của chuỗi

0

0

1

0

0

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)
DIPIP (Q, C ' )  D1 (Q, C ' )  D2 (Q, C ' )
N

Trong đó,

D1 (Q, C ' )   w(qi  ci ) 2
i 1
N

l

D2 (Q, C ' )   (d (qi , bci )) 2
j 1 i 1

22

(1)
(2)
(3)


d(qi, bci) được tính theo công thức sau:
qi ' nếu (qi’ > 0 và bci = 0) hoặc (qi’ ≤ 0 và bci = 1)

d (qi , bci )  
0

các trường hợp khác


(4)

Với - C’ là chuỗi nén của chuỗi C theo phương pháp IPIP
- qµi là giá trị trung bình của đoạn i trong chuỗi Q
- cµi là giá trị trung bình của đoạn i trong chuỗi C
- qi’ = qi - qµk , trong đó qi thuộc về đoạn thứ k trong Q.
Bổ đề 1.
Ta có DIPIP(Q, C’) ≤ D(Q, C)
D(Q, C ) 

Với

n

 (q
i 1

i

 ci ) 2

Chứng minh
Không mất tính tổng quát, ta giả sử chuỗi chỉ gồm một đoạn có chiều dài
n, và số điểm quan trọng được chọn là n.
Để chứng minh bổ đề trên, ta cần chứng minh:
n


n

i 1

i 1

 (qi  ci ) 2  n(q  c ) 2   (d (qi , bci )) 2
n

n

i 1

i 1

 (qi  ci ) 2  n(q  c ) 2   (d (qi , bci )) 2



 Trường hợp n = 1:

q1 = qµ và c1 = cµ.
Suy ra q1 '  q1  q  0
n

Vậy

 (d (q , bc ))
i


i 1



i

n

 (q  c )
i 1

i

i

2

2

0

 n(q  c ) 2

Kết luận DIPIP(Q, C’) ≤ D(Q, C)
 Trường hợp n > 1:
Đặt

dqi  q  qi




dci  c  ci

23


×