Các giải thuật dùng trong thực nghiệm đƣợc viết bằng ngôn ngữ C# và chạy trên máy Core 2 Duo 1.60 GHz, 1.00 GB RAM. Các dữ liệu thực nghiệm đƣợc lấy một
cách ngẫu nhiên từ nhiều nguồn khác nhau trên Internet: [1], [85], [86], [87], [88]. Dữ liệu thực nghiệm đƣợc tổ chức thành 10 tập dữ liệu tách biệt đƣợc dùng trong thực nghiệm: (1) EEG (170.935KB), (2) Economic (61.632KB), (3) Hydrology (30.812KB), (4) Production (21.614KB), (5) Wind (20.601KB), (6) Stock (37.256KB), (7) Consumer (27.044KB), (8) Federal Fund (24.974KB), (9) Mallat Technometrics (59.370KB) và (10) Burst (660KB). Trong đó, các tập dữ liệu EEG, Economic, Hydro- logy, Production, Wind có độ biến thiên giữa các giá trị lân cận cao. Còn các tập dữ
62
liệu Stock, Consumer, Federal Fund, Burst thì ngƣợc lại. Riêng tập dữ liệu Mallat Technometrics tuy có độ biến thiên giữa các giá trị lân cận cao nhƣng cũng có nhiều đoạn có giá trị bằng nhau.
Các tập dữ liệu này thuộc nhiều lĩnh vực khác nhau từ kinh tế, tài chính, y khoa cho đến khí tƣợng thủy văn.
Các tập dữ liệu đƣợc dùng trong thực nghiệm đều là các tập dữ liệu đƣợc lấy từ các kho dữ liệu online về chuỗi thời gian do các nhà nghiên cứu về lĩnh vực khai phá dữ liệu chuỗi thời gian đƣa lên cho cộng đồng nghiên cứu sử dụng trong các nghiên cứu của mình. Chẳng hạn, kho dữ liệu UCR Time Series Datamining Archive của trƣờng University of California, Riverside là một kho dữ liệu rất nổi tiếng, đƣợc công đồng nghiên cứu sử dụng rất nhiều.
3.6.1 Thực nghiệm về bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian.
Thực nghiệm sẽ so sánh kỹ thuật MP_C với kỹ thuật xén dữ liệu và kỹ thuật thông dụng PAA. Thực nghiệm cũng so sánh kỹ thuật MP_C kết hợp với chỉ mục đƣờng chân trời với hai trƣờng hợp kỹ thuật PAA kết hợp với chỉ mục đƣờng chân trời và kỹ thuật PAA sử dụng R*tree. Trƣờng hợp kỹ thuật PAA kết hợp với chỉ mục đƣờng chân trời, chúng tôi sử dụng vùng bao và độ đo tƣơng tự nhƣ trƣờng hợp kỹ thuật MP_C kết hợp với chỉ mục đƣờng chân trời. Chỉ một khác biệt duy nhất là ở các nút lá trong cấu trúc chỉ mục sẽ lƣu các chuỗi PAA thay vì chuỗi MP_C. Các chỉ số dùng để đánh giá gồm: độ chặt của chặn dưới (tightness of lower bound), tỷ lệ thu giảm truy xuất (pruning power). Hai chỉ số đánh giá trên là độc lập với hệ thống. Mặt
khác, thực nghiệm còn đánh giá thêm về tỉ lệ lỗi tìm sai và về mặt hệ thống đƣợc hiện thực thông qua chỉ số chi phí CPU chuẩn hóa (normalized CPU cost). Ngoài ra, thực nghiệm còn so sánh về thời gian thu giảm số chiều và thời gian lập chỉ mục của các phƣơng pháp. Để thu đƣợc các chỉ số trên, chúng tôi cho chƣơng trình thực hiện 100 lần, sau đó tính trung bình cộng các kết quả thu đƣợc.
Chiều dài chuỗi thời gian dùng trong thực nghiệm đƣợc chọn là 512 hoặc 1024. Đây là hai chiều dài lớn nhất thƣờng đƣợc sử dụng trong cộng đồng nghiên cứu về khai phá chuỗi thời gian. Chúng tôi không sử dụng chiều dài chuỗi ngắn hơn để chuỗi đƣợc thu giảm không quá ngắn vì điều này có thể dẫn đến kết quả thực nghiệm so sánh
63
hiệu quả giữa các phƣơng pháp sẽ không thấy đƣợc rõ ràng do các chỉ số đánh giá chênh lệch nhau ít.
Để sự so sánh đƣợc công bằng giữa các kỹ thuật, chúng tôi chọn tỉ lệ thu giảm số chiều của mỗi phƣơng pháp sao cho phí tổn lƣu trữ là bằng nhau. Chẳng hạn, với chuỗi thời gian có chiều dài 1024, kỹ thuật xén dữ liệu chỉ biến đổi các giá trị của chuỗi thành dạng bit nhƣ vậy cần 1024 bit để lƣu trữ. Do đó kỹ thuật PAA và phƣơng pháp MP_C phải đƣợc thu giảm số chiều theo tỉ lệ tƣơng ứng là 32:1.
Thực nghiệm về độ chặt của chặn dƣới.
Độ chặt của chặn dƣới (T) đƣợc dùng để đánh giá về độ chính xác của phƣơng pháp thu giảm số chiều. T đƣợc tính theo công thức sau:
Trong đó: - Q, C là hai chuỗi thời gian.
- Q’, C’ là hai chuỗi đã thu giảm số chiều từ hai chuỗi tƣơng ứng Q, C. - D(Q, C) là độ đo khoảng cách giữa hai chuỗi Q và C. Độ đo khoảng cách thƣờng dùng là độ đo Euclid.
- Dfeature(Q’, C’) là độ đo khoảng cách giữa hai chuỗi Q’ và C’ của phƣơng pháp thu giảm số chiều tƣơng ứng.
Do Dfeature(Q’, C’) ≤ D(Q, C) nên độ chặt của chặn dƣới 0 ≤ T ≤ 1. Khi T càng
tiến gần đến 1 thì khoảng cách chặn dƣới của phƣơng pháp thu giảm số chiều càng gần với khoảng cách thực tế. Khi đó, phƣơng pháp thu giảm số chiều càng hiệu quả do chuỗi thời gian đƣợc thu giảm ít mất mát thông tin và độ chính xác khi tìm kiếm tƣơng tự cao. Ngƣợc lại khi T càng nhỏ thì phƣơng pháp thu giảm số chiều sẽ không hiệu
quả.
Độ chặt chặn dƣới là một độ đo rất có ý nghĩa và rất đƣợc quan tâm trong cộng đồng nghiên cứu về khai phá dữ liệu chuỗi thời gian ( [89], [45], [46], [90]).
Hình 3.7 và Hình 3.8 biểu diễn kết quả thực nghiệm về độ chặt của chặn dƣới của ba phƣơng pháp MP_C, PAA và xén dữ liệu trên các tập dữ liệu khác nhau với chiều dài chuỗi là 1024. Hình 3.7(a) và Hình 3.8(a) là trƣờng hợp so trùng chuỗi con. Hình 3.7(b) và Hình 3.8(b) là trƣờng hợp so trùng toàn chuỗi. Trong Hình 3.7 và Hình 3.8, trục tung biểu diễn độ chặt chặn dƣới, trục hoành biểu diễn các tập dữ liệu thực
) , ( ) ' , ' ( C Q D C Q D T feature (3.14)
64 nghiệm.
Ngoài ra, chúng tôi còn so sánh độ chặt chặn dƣới của kỹ thuật MP_C với PAA ở các tỉ lệ thu giảm số chiều khác nhau từ 8 đến 128 (trƣờng hợp này kỹ thuật xén dữ liệu không thực hiện đƣợc). Chiều dài chuỗi trong thực nghiệm đƣợc chọn là 1024. Kích thƣớc mỗi tập dữ liệu đƣợc chọn cố định là 10000. Hình 3.9 và Hình 3.10 trình bày kết quả thực nghiệm về độ chặt của chặn dƣới trong trƣờng hợp so trùng chuỗi con, trong đó trục tung biểu diễn độ chặt chặn dƣới, trục hoành biểu diễn các tập dữ liệu thực nghiệm.
Hình 3.7 Kết quả thực nghiệm trên các tập dữ liệu khác nhau về độ chặt chặn dưới của kỹ thuật MP_C so với PAA và xén dữ liệu. (a) So trùng chuỗi con. (b) so trùng toàn chuỗi.
Hình 3.8 Kết quả thực nghiệm trên các tập dữ liệu khác nhau về độ chặt chặn dưới của kỹ thuật MP_C so với hai kỹ thuật PAA và xén. (a) So trùng chuỗi con. (b) so trùng toàn chuỗi.
Hình 3.11 và Hình 3.12 trình bày kết quả thực nghiệm về độ chặt của chặn dƣới trong trƣờng hợp so trùng toàn chuỗi, với tỉ lệ thu giảm số chiều 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e). Trong các biểu đồ này, trục hoành biểu diễn các tập dữ liệu dùng trong thực nghiệm và trục tung biểu diễn độ chặt của chặn dƣới. 0 0.2 0.4 0.6 0.8
EEG Economic Hydrology Production wind
PAA MP_C Clipping (a) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
EEG Economic Hydrology Production wind
PAA MP_C Clipping (b) 0 0.2 0.4 0.6 0.8 1
Stock Consumer FeferalFund Mallat Burst PAA MP_C Clipping (a) 0 0.2 0.4 0.6 0.8 1
Stock Consumer FeferalFund Mallat Burst PAA MP_C Clipping
(b)
T T
65
Hình 3.9 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng chuỗi con) trên năm tập dữ liệu EEG, Economic, Hydrology, Production và Wind, với các tỉ lệ thu giảm số
chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e).
Hình 3.10 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng chuỗi con) trên năm tập dữ liệu Stock, Consumer, Federal Fund, Mallat Technometrics và Burst, với các tỉ lệ thu giảm số chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e).
0 0.1 0.2 0.3 0.4
EEG Economic Hydrology Production wind PAA MP_C (a) 0 0.05 0.1 0.15 0.2
EEG Economic Hydrology Production wind PAA MP_C (b) 0 0.02 0.04 0.06 0.08 0.1 0.12
EEG Economic Hydrology Production wind
PAA MP_C (c) 0 0.02 0.04 0.06 0.08
EEG Economic Hydrology Production wind PAA MP_C (d) 0 0.01 0.02 0.03 0.04 0.05
EEG Economic Hydrology Production wind PAA MP_C (e) 0 0.2 0.4 0.6 0.8 1 1.2
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (a) 0 0.2 0.4 0.6 0.8 1
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (b) 0 0.2 0.4 0.6 0.8 1
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (c) 0 0.2 0.4 0.6 0.8
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (d) 0 0.2 0.4 0.6
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (e) T T T T T T T T T T
66
Hình 3.11 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng toàn chuỗi) trên năm tập dữ liệu EEG, Economic, Hydrology, Production và Wind, với các tỉ lệ thu giảm số
chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e).
Hình 3.12 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng toàn chuỗi) trên năm tập dữ liệu Stock, Consumer, Federal Fund, Mallat Technometrics và Burst, với các tỉ lệ thu giảm số chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e).
0 0.2 0.4 0.6 0.8
EEG Economic Hydrology Production wind
PAA MP_C (a) 0 0.2 0.4 0.6 0.8
EEG Economic Hydrology Production wind
PAA MP_C (b) 0 0.1 0.2 0.3 0.4
EEG Economic Hydrology Production wind
PAA MP_C (c) 0 0.05 0.1 0.15 0.2
EEG Economic Hydrology Production wind
PAA MP_C (d) 0 0.02 0.04 0.06 0.08 0.1
EEG Economic Hydrology Production wind
PAA MP_C (e) 0.8 0.85 0.9 0.95 1
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (a) 0.7 0.75 0.8 0.85 0.9 0.95
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (b) 0 0.2 0.4 0.6 0.8 1
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (c) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (d) 0 0.1 0.2 0.3 0.4 0.5
Stock Consumer FeferalFund Mallat Burst
PAA MP_C (e) T T T T T T T T T T
67
Thực nghiệm về tỉ lệ thu giảm truy xuất.
Để đánh giá về hiệu quả của phƣơng pháp thu giảm số chiều, ngoài thực nghiệm về độ chặt của chặn dƣới, ta cần phải kiểm tra thêm về tỉ lệ thu giảm truy xuất.
Tỉ lệ thu giảm truy xuất P đƣợc định nghĩa là tỉ số giữa số các chuỗi thời gian
trong cơ sở dữ liệu phải đƣợc hậu kiểm trên tổng số các chuỗi trong cơ sở dữ liệu để tìm ra đƣợc một chuỗi gần giống nhất với chuỗi truy vấn.
Vì số các chuỗi phải đƣợc hậu kiểm luôn nhỏ hơn hay bằng số các chuỗi trong cơ sở dữ liệu, nên 0 < P ≤ 1. Phƣơng pháp thu giảm số chiều có giá trị P càng nhỏ thì
phƣơng pháp đó càng hiệu quả vì số lần phải truy cập đĩa để hậu kiểm sẽ càng ít. Điều này cũng cho thấy độ mất mát thông tin của phƣơng pháp sẽ ít và độ chính xác khi tìm kiếm tƣơng tự sẽ cao.
Tỉ lệ thu giảm truy xuất là một độ đo rất có ý nghĩa và đƣợc sử dụng rộng rãi trong cộng đồng nghiên cứu về khai phá dữ liệu chuỗi thời gian ( [38], [39], [44], [91], [92]).
Để tính P, chúng tôi thực hiện nhƣ sau: Lấy ngẫu nhiên câu truy vấn Q trong tập chuỗi truy vấn. Sau đó, ta tìm xem có chuỗi (hoặc chuỗi con) Ci có khoảng cách Euc-
lid so với Q là nhỏ nhất. Để tìm Ci nhƣ vậy, ta sẽ duyệt qua lần lƣợt từng chuỗi (hoặc chuỗi con) Ci. Nếu chuỗi Ci hiện tại đang duyệt có khoảng cách Euclid D(Q, Ci) nhỏ hơn khoảng cách của chuỗi con tốt nhất cho đến thời điểm hiện tại, Bestsofar, thì ta sẽ cập nhật khoảng cách của chuỗi (hoặc chuỗi con) tốt nhất cho đến hiện tại. Ngƣợc lại, ta duyệt qua chuỗi (hoặc chuỗi con) tiếp theo. Khi đó tổng số lần cần phải kiểm tra là số chuỗi Ci trong cơ sở dữ liệu (trƣờng hợp so trùng toàn bộ) hoặc |C| - |Q|+1, trong đó |C|, |Q| là chiều dài của chuỗi thời gian C ban đầu và Q (trƣờng hợp so trùng chuỗi con).
Trong không gian đặc trƣng, với mỗi chuỗi thu giảm C’i của chuỗi (hoặc chuỗi con) Ci, ta sẽ tính khoảng cách Dfeature của nó so với chuỗi thu giảm Q‟ của chuỗi Q.
Nếu khoảng cách Dfeature này lớn hơn khoảng cách tốt nhất cho đến thời điểm hiện tại (Dfeature > Bestsofar), thì khi đó khoảng cách thực tế D(Q, Ci) > Bestsofar. Vì vậy, ta
không cần hậu kiểm trên dữ liệu gốc. Ngƣợc lại, ta phải tính khoảng cách của chúng
Số các chuỗi phải được hậu kiểm Số các chuỗi trong cơ sở dữ liệu
68 dựa trên dữ liệu gốc để so sánh với Bestsofar.
Thực nghiệm đƣợc thực hiện trên các tập dữ liệu có kích thƣớc cố định là 10000 và các chuỗi truy vấn có chiều dài 1024 và 512. Để có sự so sánh công bằng giữa các phƣơng pháp chúng tôi chọn tỉ lệ thu giảm số chiều là 32:1. Hình 3.13, Hình 3.14 và Hình 3.15 biểu diễn các kết quả thực nghiệm trên các tập dữ liệu khác nhau về tỉ lệ thu giảm truy xuất của so trùng chuỗi con và so trùng toàn chuỗi. Trong các hình này trục tung biểu diễn tỉ lệ thu giảm truy xuất, trục hoành biểu diễn các tập dữ liệu dùng trong thực nghiệm.
Hình 3.13 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P của so trùng chuỗi con với các tập dữ liệu thực nghiệm khác nhau và chiều dài chuỗi là 1024 (hình a),
512 (hình b).
Hình 3.14 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P của so trùng toàn chuỗi với các tập dữ liệu thực nghiệm khác nhau và chiều dài chuỗi là 1024 (hình a),
512 (hình b).
Hình 3.15 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P (trục tung) của so trùng chuỗi con (hình a) và so trùng toàn chuỗi (hình b) với các tập dữ liệu thực nghiệm khác nhau (trục
69
Hình 3.16 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P (trục tung) theo tỉ lệ thu giảm số chiều khác nhau (trục hoành), với chiều dài chuỗi là 1024. (a). So trùng chuỗi con. (b). So
trùng toàn chuỗi.
Ngoài ra, chúng tôi còn thực nghiệm về tỉ lệ thu giảm truy xuất theo các tỉ lệ thu giảm số chiều khác nhau để so sánh phƣơng pháp MP_C với phƣơng pháp PAA (trƣờng hợp này phƣơng pháp xén dữ liệu không thực hiện đƣợc). Thực nghiệm đƣợc thực hiện trên tập dữ liệu đƣợc chọn ngẫu nghiên trong mƣời tập dữ liệu nêu ở phần trên là tập dữ liệu Production với chiều dài chuỗi đƣợc chọn cố định là 1024. Hình 3.16 biểu diễn kết quả thực nghiệm cho trƣờng hợp này: (a) so trùng chuỗi con, (b) so trùng toàn chuỗi. Trong hình, trục tung biểu diễn tỉ lệ thu giảm truy xuất, trục hoành biểu diễn tỉ lệ thu giảm số chiều.
Nhận xét:
1. Thực nghiệm về độ chặt chặn dƣới và tỉ lệ thu giảm truy xuất hoàn toàn độc lập với hệ thống đƣợc hiện thực. Nó chỉ phụ thuộc vào phƣơng pháp thu giảm số chiều và dữ liệu đƣợc sử dụng. (Kết luận này có thể dễ dàng suy luận đƣợc từ định nghĩa của độ chặt chặn dƣới và tỉ lệ thu giảm truy xuất).
2. Trƣờng hợp chuỗi thời gian có độ biến thiên giữa các giá trị lân cận cao, đƣờng trung bình của chuỗi có khuynh hƣớng nằm ở khoảng giữa đoạn nối các điểm lân cận và các giá trung bình của các chuỗi dạng này thƣờng chênh lệch nhau không nhiều. Điều này dẫn tới độ đo khoảng cách giữa các giá trị trung bình sẽ nhỏ. Vì vậy, phƣơng pháp PAA sẽ không hiệu quả (có độ chặt chặn dƣới thấp và tỉ lệ thu giảm truy xuất cao) khi sử dụng với các chuỗi thời gian dạng này do độ đo khoảng cách của PAA đƣợc tính dựa trên các giá trị trung bình. Trong khi đó, độ đo khoảng cách của phƣơng pháp xén đƣợc tính dựa vào độ lớn của các điểm dữ liệu so với đƣờng trung bình của chuỗi. Nên với chuỗi thời gian dạng này phƣơng pháp xén sẽ cho kết quả tốt hơn PAA (có độ chặt chặn dƣới cao hơn và tỉ lệ thu giảm truy xuất thấp hơn). Trƣờng hợp dữ liệu có độ biến thiên giữa các giá trị lân cận thấp thì
0 0.1 0.2 0.3 0.4 0.5 0.6 8 16 32 64 128 P Reduction ratio PAA MP_C (a) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 8 16 32 64 128 P Reduction ratio PAA MP_C (b)
70
ngƣợc lại, phƣơng pháp PAA sẽ hiệu quả hơn so với phƣơng pháp xén. Với phƣơng pháp MP_C, do độ đo khoảng cách của phƣơng pháp này đƣợc kết hợp từ hai độ đo của phƣơng pháp PAA và xén nên có độ chặt chặn dƣới và tỉ lệ thu giảm truy xuất tốt cho cả hai trƣờng hợp.
Thực nghiệm về tỉ lệ lỗi tìm sai.
Ngoài hai chỉ số đánh giá tính hiệu quả của phƣơng pháp thu giảm số chiều nêu ở trên, để minh chứng rõ nét hơn tính hiệu quả của phƣơng pháp đề xuất, chúng tôi thực nghiệm thêm đánh giá về tỉ lệ lỗi tìm sai (E) của phƣơng pháp thu giảm số chiều. E