1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng

97 27 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 1,45 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

55 Hình 5-4: Kết quả thực nghiệm thời gian cập nhật chỉ mục với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo bán kính truy vấn .... 55 Hình 5-5: Kết quả thực nghiệm thời gian x

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : PGS.TS Dương Tuấn Anh

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Nguyễn Trường Mạnh Hùng MSHV: 09070440

Ngày, tháng, năm sinh: 01/05/1980 Nơi sinh: TP.Hồ Chí Minh

Chuyên ngành: Khoa Học Máy Tính Mã số : 60.48.01

TÊN ĐỀ TÀI: Tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng (Similarity

search in streaming time series data)

NHIỆM VỤ VÀ NỘI DUNG:

• Tỉm hiểu framework của Kontaki và các cộng sự cho vấn đề tìm kiếm tương tự trên

dữ liệu chuỗi thời gian dạng luồng

• Nghiên cứu vận dụng framework của Kontaki đối với phương pháp thu giảm số

chiều xấp xỉ gộp từng đoạn (PAA) thay vì biến đổi Fourier rời rạc (DFT) và cấu trúc chỉ mục Skyline thay vì cấu trúc chỉ mục R*-Tree

• Hiện thực và thử nghiệm so sánh hiệu quả của cấu trúc chỉ mục Skyline với cấu

trúc chỉ mục R*-Tree khi tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồn

NGÀY GIAO NHIỆM VỤ : 14/02/2011

NGÀY HOÀN THÀNH NHIỆM VỤ: 02/12/2011

CÁN BỘ HƯỚNG DẪN: PGS TS Dương Tuấn Anh

TP HCM, ngày……tháng ……năm 20……

CÁN BỘ HƯỚNG DẪN

PGS TS Dương Tuấn Anh

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

TRƯỞNG KHOA…………

Trang 4

LỜ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 30 tháng 11 năm 2011

Nguyễn Trường Mạnh Hùng

Trang 5

LỜI CẢM ƠN

Tôi xin gởi lời cảm ơn chân thành và sâu sắc nhất đến PGS TS Dương Tuấn Anh, người Thầy đã tận tình hướng dẫn tôi trong suốt quá trình học Cao học và tạo mọi điều kiện để tôi có thể hoàn thành luận văn này

Tôi cũng xin cảm ơn gia đình, bạn bè đã động viên và tạo mọi điều kiện tốt nhất

để tôi có thể tiếp tục theo đuổi việc học tập và nghiên cứu Tôi trân trọng dành tặng thành quả của luận văn này cho Cha Mẹ Nhờ công lao dưỡng dục của Người mà chúng con mới có được thành quả như ngày hôm nay Con xin hứa sẽ tiếp tục cố gắng phấn đấu để vươn cao hơn nữa

Trang 6

TÓM TẮT LUẬN VĂN

Tìm kiếm tương tự trên dữ liệu chuỗi thời gian là một trong những bài toán quan trọng trong lĩnh vực khai phá dữ liệu Với sự phát triển nhanh chóng của dữ liệu chuỗi thời gian trong nhiều ứng dụng từ lĩnh vực tài chính cho đến lĩnh vực khoa học, ngày càng có nhiều ứng dụng đòi hỏi phải xử lý trên dữ liệu chuỗi thời gian dạng luồng

M Kontaki và các cộng sự đã đề xuất framework tìm kiếm tương tự trên chuỗi thời gian dạng luồng với cấu trúc chỉ mục IDC-Index Đề tài này sẽ tập trung mở rộng framework này với phương pháp thu giảm số chiều khác Chúng tôi sử dụng phương pháp xấp xỉ gộp từng đoạn làm phương pháp thu giảm số chiều và phương pháp này cũng hoạt động theo kiểu gia tăng để đáp ứng yêu cầu của môi trường luồng Độ đo Euclid tiếp tục được sử dụng làm độ đo tương tự Bên cạnh đó chúng tôi cũng đề xuất sử dụng cấu trúc chỉ mục Skyline thay thế cho cấu trúc chỉ mục R*-Tree Qua thực nghiệm đã chứng tỏ cấu trúc chỉ mục này là hiệu quả hơn R*-Tree trong môi trường luồng

Trang 7

as dimensional reduction and this dimensional reduction works in an incremental manner to satisfy the demands of streaming environment Euclide distance continued to be used as similarity measure Moreover, we also proposed using Skyline index to replace for R*-Tree Experiment results have shown that the proposed index is more effective than R*-Tree in streaming environment

Trang 8

MỤC LỤC

LỜI CAM ĐOAN i 

LỜI CẢM ƠN ii 

TÓM TẮT LUẬN VĂN iii 

ABSTRACT iv 

MỤC LỤC v 

DANH MỤC HÌNH viii 

CHƯƠNG 1:  GIỚI THIỆU ĐỀ TÀI 1 

1.1  Dữ liệu chuỗi thời gian 1 

1.2  Dữ liệu chuỗi thời gian dạng luồng 2 

1.3  Bài toán tìm kiếm tương tự trên chuỗi thời gian 3 

1.4  Mục tiêu và giới hạn của đề tài 5 

1.5  Cấu trúc luận văn 5 

CHƯƠNG 2:  TỔNG HỢP CÁC CÔNG TRÌNH LIÊN QUAN 7 

2.1  Các độ đo tươ‰–ự 7 

2.1.1  Độ đo Minkowski 8 

2.1.2  Độ đo xoắn thời gian động 9 

2.1.3  Độ đo chuỗi con chung dài nhất 10 

2.2  Các phương pháp thu giảm số chiều 11 

2.2.1  Các phương pháp biến đổi sang miền tần số 12 

2.2.2  Các phương pháp xấp xỉ từng đoạn 14 

2.3  Cấu trúc chỉ mục 17 

2.3.1  Cấu trúc chỉ mục R-Tree/R*-Tree 17 

2.3.2  Cấu trúc chỉ mục VA-Stream/VA+-Stream 20 

2.3.3  Cấu trúc chỉ mục Skyline 21 

2.4  Các công trình về tìm kiếm tương tự trên chuỗi thời gian dạng luồng 21 

2.5  Kết luận 24 

Trang 9

CHƯƠNG 3:  CƠ SỞ LÝ THUYẾT VÀ HƯỚNG TIẾP CẬN 25 

3.1  Phương pháp biến đổi Fourier rời rạc 25 

3.2  Cấu trúc chỉ mục R*-Tree 26 

3.2.1  Tính chất của R*-Tree: 26 

3.2.2  Xây dựng R*-Tree 27 

3.2.3  Tìm kiếm trên R*-Tree 28 

3.3  Cấu trúc chỉ mục để tính toán DFT gia tăng 29 

3.3.1  Tính toán DFT gia tăng 31 

3.3.2  Chính sách cập nhật trì hoãn 34 

3.3.3  Lựa chọn ngưỡng cập nhật Δu 35 

3.3.4  Xử lý truy vấn 36 

3.4  Cấu trúc chỉ mục Skyline 38 

3.4.1  Vùng bao đường chân trời 38 

3.4.2  Tính chất của cấu trúc chỉ mục Skyline 39 

3.4.3  Xây dựng cấu trúc chỉ mục Skyline 40 

3.4.4  Hàm khoảng cách Skyline 41 

3.5  Phương pháp xấp xỉ gộp từng đoạn 42 

3.6  Kết luận 43 

CHƯƠNG 4:  HỆ THỐNG TÌM KIẾM TƯƠNG TỰ TRÊN CHUỖI THỜI GIAN DẠNG LUỒNG 44 

4.1  Đặt vấn đề 44 

4.2  Hướng giải quyết 45 

4.3  Kiến trúc hệ thống 46 

4.4  Cập nhật chỉ mục 47 

4.4.1  Rút trích đặc trưng 48 

4.4.2  Tổ chức lưu trữ trên cấu trúc chỉ mục 49 

4.5  Xử lý truy vấn 50 

4.6  Kết luận 51 

Trang 10

CHƯƠNG 5:  THỰC NGHIỆM 52 

5.1  Các tiêu chuẩn thực nghiệm 52 

5.2  Đánh giá các kết quả thực nghiệm 54 

5.2.1  Thực nghiệm trên truy vấn vùng 54 

5.2.2  Thực nghiệm trên truy vấn lân cận gần nhất 59 

5.2.3  Thực nghiệm trên số đoạn thu giảm 63 

5.3  Kết luận 71 

CHƯƠNG 6:  KẾT LUẬN 72 

6.1  Tổng kết 72 

6.2  Những đóng góp của đề tài 72 

6.3  Hướng phát triển 73 

TÀI LIỆU THAM KHẢO 75 

PHỤ LỤC 1: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT i 

PHỤ LỤC 2: LÝ LỊCH TRÍCH NGANG iv 

Trang 11

DANH MỤC HÌNH

Hình 1-1: Ví dụ về dữ liệu chuỗi thời gian (dữ liệu chứng khoán) (Nguồn [19]) 1 

Hình 1-2 Truy vấn so trùng toàn bộ 4 

Hình 1-3 Truy vấn so trùng chuỗi con 4 

Hình 2-1: Cách tính độ đo Euclid (Nguồn [16]) 8 

Hình 2-2: Nhược điểm của độ đo Minkowski (Nguồn [16]) 9 

Hình 2-3 Cách tính độ đo xoắn thời gian động (Nguồn [16]) 10 

Hình 2-4 Cách tính độ đo chuỗi con chung dài nhất (Nguồn [29]) 11 

Hình 2-5: Các phương pháp biến đổi sang miền tần số (Nguồn [10]) 14 

Hình 2-6: Các phương pháp xấp xỉ từng đoạn (Nguồn [10]) 17 

Hình 2-7: Ví dụ về R-Tree với 12 điểm (Nguồn [8]) 18 

Hình 2-8: Biến thể R-Tree thành RUL-Tree với liên kết trực tiếp (Nguồn [21]) 19 

Hình 2-9: Biến thể R-Tree hỗ trợ cập nhật thường xuyên theo hướng tiếp cận tự dưới lên (Nguồn [22]) 19 

Hình 2-10: VA+-Stream cho 6 chuỗi thời gian với b = 3 (Nguồn [17]) 20 

Hình 3-1 Ý tưởng chính của phương pháp biến đổi Fourier rời rạc (Nguồn [32]) 25 

Hình 3-2 Kiến trúc hệ thống xử lý truy vấn dựa trên IDC-Index (Nguồn [17]) 31 

Hình 3-3 Chính sách cập nhật trì hoãn (Nguồn [17]) 35 

Hình 3-4 Minh hoạ việc xác định ngưỡng cập nhật Δu (Nguồn [17]) 36 

Hình 3-5: Vùng bao đường chân trời của chuỗi thời gian (Nguồn [23]) 39 

Hình 3-6: Xấp xỉ vùng bao đường chân trời của chuỗi thời gian (Nguồn [23]) 40 

Hình 3-7: Quá trình hợp nhất 2 đường chân trời (Nguồn [23]) 41 

Hình 3-8 Minh họa phương pháp xấp xỉ gộp từng đọan (Nguồn [13]) 42 

Hình 4-1: Độ đo tương tự dựa trên cửa sổ trượt có chiều dài là W (Nguồn [23]) 45 

Hình 4-2: Mô hình kiến trúc hệ thống 47 

Hình 4-3: Các bước cập nhật chỉ mục 48 

Hình 4-4: Các bước xử lý truy vấn 50 

Trang 12

Hình 5-1: Hệ thống thực nghiệm 53 

Hình 5-2: Kết quả thực nghiệm thời gian CPU với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo bán kính truy vấn 54 

Hình 5-3: Kết quả thực nghiệm số lần truy cập đĩa với tập dữ liệu CHỨNG

KHOÁN trên R*-Tree và Skyline theo bán kính truy vấn 55 

Hình 5-4: Kết quả thực nghiệm thời gian cập nhật chỉ mục với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo bán kính truy vấn 55 

Hình 5-5: Kết quả thực nghiệm thời gian xậy dựng chỉ mục với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo bán kính truy vấn 56 

Hình 5-6: Kết quả thực nghiệm thời gian CPU với tập dữ liệu SỨC GIÓ trên chỉ mục R*-Tree và Skyline theo bán kính truy vấn 56 

Hình 5-7: Kết quả thực nghiệm số lần truy cập đĩa với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo bán kính truy vấn 57 

Hình 5-8: Kết quả thời gian cập nhật chỉ mục với tập dữ liệu SỨC GIÓ trên Tree và Skyline theo bán kính truy vấn 57 

Hình 5-9: Kết quả thời gian xậy dựng chỉ mục với tập dữ liệu SỨC GIÓ trên Tree và Skyline theo bán kính truy vấn 58 

R*-Hình 5-10: Kết quả thực nghiệm thời gian CPU với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo số lân cận gần nhất 59 

Hình 5-11: Kết quả thực nghiệm số lần truy cập đĩa với tập dữ liệu CHỨNG

KHOÁN trên R*-Tree và Skyline theo số lân cận gần nhất 60 

Hình 5-12: Kết quả thực nghiệm thời gian cập nhật chỉ mục với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo số lân cận gần nhất 60 

Hình 5-13: Kết quả thực nghiệm thời gian xây dựng chỉ mục với tập dữ liệu

CHỨNG KHOÁN trên R*-Tree và Skyline theo số lân cận gần nhất 61 

Hình 5-14: Kết quả thực nghiệm thời gian CPU với tập dữ liệu SỨC GIÓ trên Tree và Skyline theo số lân cận gần nhất 61 

Trang 13

R*-Hình 5-15: Kết quả thực nghiệm số lần truy cập đĩa với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lân cận gần nhất 62 

Hình 5-16: Kết quả thực nghiệm thời gian cập nhật chỉ mục với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lân cận gần nhất 62 

Hình 5-17: Kết quả thực nghiệm thời gian xây dựng chỉ mục với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lân cận gần nhất 63 

Hình 5-18: Kết quả thực nghiệm thời gian CPU với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo số lượng đoạn thu giảm 64 

Hình 5-19: Kết quả thực nghiệm số lần truy cập đĩa với tập dữ liệu CHỨNG

KHOÁN trên R*-Tree và Skyline theo số lượng đoạn thu giảm 64 

Hình 5-20: Kết quả thực nghiệm thời gian cập nhật chỉ mục với tập dữ liệu CHỨNG KHOÁN trên R*-Tree và Skyline theo số lượng đoạn thu giảm 65 

Hình 5-21: Kết quả thực nghiệm thời gian xây dựng chỉ mục với tập dữ liệu

CHỨNG KHOÁN trên R*-Tree và Skyline theo số lượng đoạn thu giảm 65 

Hình 5-22: Kết quả thực nghiệm số nút với tập dữ liệu CHỨNG KHOÁN trên Tree và Skyline theo số lượng đoạn thu giảm 66 

R*-Hình 5-23: Kết quả thực nghiệm chiều cao của cây với tập dữ liệu CHỨNG

KHOÁN trên R*-Tree và Skyline theo số lượng đoạn thu giảm 66 

Hình 5-24: Kết quả thực nghiệm kích thước tập tin với tập dữ liệu CHỨNG

KHOÁN trên R*-Tree và Skyline theo số lượng đoạn thu giảm 67 

Hình 5-25: Kết quả thực nghiệm thời gian CPU với tập dữ liệu SỨC GIÓ trên Tree và Skyline theo số lượng đoạn thu giảm 67 

R*-Hình 5-26: Kết quả thực nghiệm số lần truy cập đĩa với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lượng đoạn thu giảm 68 

Hình 5-27: Kết quả thực nghiệm thời gian cập nhật chỉ mục với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lượng đoạn thu giảm 68 

Hình 5-28: Kết quả thực nghiệm thời gian xây dựng chỉ mục với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lượng đoạn thu giảm 69 

Trang 14

Hình 5-29: Kết quả thực nghiệm số nút với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lượng đoạn thu giảm 69 

Hình 5-30: Kết quả thực nghiệm chiều cao của cây với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lượng đoạn thu giảm 70 

Hình 5-31: Kết quả thực nghiệm kích thước tập tin với tập dữ liệu SỨC GIÓ trên R*-Tree và Skyline theo số lượng đoạn thu giảm 70 

Trang 15

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

Chương giới thiệu đề tài này sẽ trình bày nội dung sơ lược và mục tiêu của đề tài Đồng thời chương này cũng nêu lên những động cơ trong nghiên cứu và trong thực tiễn đòi hỏi cần phải thực hiện đề tài này

1.1 Dữ liệu chuỗi thời gian

Chuỗi thời gian (time series) là dữ liệu có yếu tố thời gian được quan sát tuần tự

theo thời gian Dữ liệu này có thể có nhiều hơn hai chiều nhưng trong đó bắt buộc phải có một chiều là thời gian Có rất nhiều loại dữ liệu khác nhau có yếu tố thời gian và thông thường đây là những dữ liệu rất lớn Những tập dữ liệu chuỗi thời gian rất lớn xuất hiện trong nhiều lãnh vực khác nhau như y khoa, kỹ thuật, kinh tế, tài chính, …

Hình 1-1: Ví dụ về dữ liệu chuỗi thời gian (dữ liệu chứng khoán) (Nguồn [19])

E Keogh đã nêu lên những khó khăn và thách thức khi nghiên cứu dữ liệu chuỗi thời gian [11] như sau:

Trang 16

• Dữ liệu quá lớn

o Dữ liệu điện tâm đồ khoảng 1 Gigabyte/giờ, dữ liệu ghi nhận các lần truy cập của một website khoảng 5 Gigabytes/tuần

• Phụ thuộc nhiều vào cách đánh giá độ tương tự

o Độ tương tự được định nghĩa tùy thuộc vào người dùng, tập dữ liệu, miền bài toán …

• Dữ liệu thường không đồng nhất

o Định dạng dữ liệu khác nhau, tần số lấy mẫu khác nhau, bị nhiễu, thiếu giá trị, dữ liệu không sạch …

1.2 Dữ liệu chuỗi thời gian dạng luồng

M Kontaki và các cộng sự đã phân loại chuỗi thời gian thành 2 loại là chuỗi thời gian tĩnh (static time series) và chuỗi thời gian dạng luồng (streaming time

2004, thì chúng ta có thể xem đây là chuỗi thời gian tĩnh Nhưng nếu chúng ta có nhu cầu theo dõi giá chứng khoán liên tục theo thời gian thì đây chính là chuỗi thời gian dạng luồng

Chuỗi thời gian dạng luồng là một trường hợp đặc biệt của dữ liệu dạng luồng

(stream data) Ngày nay, một số lượng lớn ứng dụng đòi hỏi phải thao tác với dữ

liệu dạng luồng [2], [6], [7], [25], [26], [27], [31] Đặc trưng của dữ liệu dạng luồng

là khối lượng dữ liệu lớn thậm chí có thể là vô tận, thay đổi nhanh chóng đòi hỏi

Trang 17

đáp ứng nhanh, thời gian thực và truy xuất ngẫu nhiên là rất tốn kém J Han và M

Kamber đã tổng hợp các phương pháp xử lý dữ liệu dạng luồng như sau [9]: Lấy mẫu ngẫu nhiên (Random sampling), Biểu đồ tần số (Histograms), Cửa sổ trượt (Sliding windows), Mô hình đa phân giải (Multi-resolution model), Bản tóm tắt (Sketches), Thuật toán ngẫu nhiên (Randomized algorithms) Một loạt các giải

thuật xử lý chuỗi thời gian dạng luồng tập trung vào quá khứ gần nhất của chuỗi

thời gian dạng luồng bằng cách áp dụng cửa sổ trượt (sliding windows) đã được đề

xuất [7], [17], [26], [27], [31]

1.3 Bài toán tìm kiếm tương tự trên chuỗi thời gian

Khác với cơ sở dữ liệu truyền thống, cơ sở dữ liệu chuỗi thời gian có thể chứa

dữ liệu bị nhiễu và sai Do đó khả năng tồn tại hai chuỗi thời gian có cùng giá trị

trong cùng thời điểm là rất nhỏ Vì vậy, tìm kiếm tương tự (similarity search) là thích hợp hơn so với tìm kiếm chính xác (exact search)

Tìm kiếm tương tự (similarity search) trong cơ sở dữ liệu chuỗi thời gian là một

hướng nghiên cứu quan trọng Một số phương pháp đã được đề xuất để cung cấp những giải thuật xử lý truy vấn hiệu quả trong trường hợp của chuỗi thời gian tĩnh

và chuỗi thời gian dạng luồng

Các yêu cầu truy vấn trên dữ liệu chuỗi thời gian có thể chia làm 2 loại:

• So trùng toàn bộ (whole matching): Chiều dài của chuỗi dữ liệu truy vấn

và chiều dài chuỗi dữ liệu ban đầu là bằng nhau Minh họa truy vấn so trùng toàn bộ được thể hiện trong Hình 1-2 Bài toán này thường được dùng trong việc gom cụm, hay phân loại dữ liệu chuỗi thời gian Ví dụ, tìm giá chứng khoán của những công ty thay đổi giống nhau

Trang 18

Hình 1-2 Truy vấn so trùng toàn bộ

• So trùng chuỗi con (subsequence matching): Chiều dài của dữ liệu truy

vấn ngắn hơn rất nhiều so với chiều dài của dữ liệu ban đầu Vì vậy, nhiệm vụ chính là tìm những đoạn trong dữ liệu ban đầu tương tự với dữ liệu truy vấn Minh họa truy vấn so trùng toàn bộ được thể hiện trong Hình 1-3 Một số ứng dụng của bài toán này là tìm những mẫu dữ liệu quan trọng hay những thay đổi bất thường trong dữ liệu ban đầu

Hình 1-3 Truy vấn so trùng chuỗi con

M Kontaki và các cộng sự đã tổng kết được 3 loại truy vấn tương tự được sử dụng trong các công trình nghiên cứu [17], được định nghĩa như sau:

• Truy vấn tương tự vùng (similarity range query): cho đối tượng truy vấn

Q, tập các đối tượng A và khoảng cách e, lấy tất cả các đối tượng a A sao cho dist(q, a) ≤ e

Trang 19

• Truy vấn tương tự k-lân-cận-gần-nhất (similarity k-nearest neighbors

query): cho đối tượng truy vấn Q, tập các đối tượng A và giá trị nguyên k, lấy k đối tượng cơ sở dữ liệu a i A (1 ≤ i ≤ |A|) sao cho với bất kỳ a j A (1 ≤ j ≤ |A| và j ≠ i) dist(q, a i ) ≤ dist(q, a j )

• Truy vấn tương tự ghép nối (similarity join query): cho 2 tập các đối

tượng A và B và khoảng cách e lấy các cặp (a, b) với aA và bB sao cho dist(a,b) ≤ e

Rõ ràng từ 3 loại truy vấn tương tự nêu trên, để thể hiện sự tương tự giữa 2 chuỗi thời gian, cần phải dựa trên độ đo khoảng cách Bài toán tìm kiếm tương tự có thể được áp dụng so trùng toàn bộ cũng như so trùng chuỗi con và có thể áp dụng trên chuỗi thời gian tĩnh hoặc chuỗi thời gian dạng luồng

1.4 Mục tiêu và giới hạn của đề tài

Đề tài này dựa vào phương pháp tìm kiếm tương tự thích nghi trên chuỗi thời gian dạng luồng do M Kontaki và các cộng sự đề xuất năm 2007 [17] Mục tiêu chính của đề tài là mở rộng framework tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng mà M Kontaki đã đề xuất bằng cách thay thế phương pháp thu giảm số chiều và cấu trúc chỉ mục Đề tài sẽ tiếp cận với phương pháp xấp xỉ gộp từng đoạn PAA và tận dụng các ưu điểm của cấu trúc chỉ mục Skyline giới thiệu bởi

Q Li và các cộng sự năm 2004 [23] Cũng giống như công trình [17], đề tài chỉ khảo sát trên 2 dạng truy vấn tương tự là truy vấn tương tự vùng và truy vấn tương

tự lân cận gần nhất Các thông số đánh giá hiệu suất có thể được khảo sát bao gồm:

thời gian CPU (CPU time), số truy cập đĩa (disk access), thời gian tạo cấu trúc chỉ mục (index building time), thời gian đáp ứng truy vấn (query response time), số lượng đoạn thu giảm (number of segments)

1.5 Cấu trúc luận văn

Tổ chức của phần còn lại của luận văn theo cấu trúc như sau:

Trang 20

• Chương 2 trình bày tổng quan về các công trình liên quan đến bài toán tìm kiếm tương tự trên chuỗi dữ liệu thời gian Những công trình này nhằm cải tiến quá trình tìm kiếm tương tự và các công trình nghiên cứu này có thể chia làm 4 nhóm sau: nhóm các công trình nghiên cứu về độ tương tự, nhóm các công trình về thu giảm số chiều, nhóm các công trình

về xây dựng cấu trúc chỉ mục và nhóm các công trình về tìm kiếm tương

tự trên chuỗi thời gian dạng luồng

• Chương 3 giới thiệu những lý thuyết mà sẽ được sử dụng để thực hiện đề tài, đồng thời xác định rõ hướng tiếp cận của đề tài Trong phần này chúng tôi sẽ trình bày kỹ về framework đã được để xuất bao gồm phép biến đổi Fourier rời rạc cùng với cách tính toán gia tăng cho phép biến đổi này và cấu trúc chỉ mục IDC-Index dựa trên R*-Tree Sau đó cấu trúc chỉ mục Skyline và phương pháp xấp xỉ gộp từng đoạn sẽ được trình bày

• Chương 4 trình bày nội dung nghiên cứu

• Chương 5 trình bày về một số kết quả thực nghiệm

• Chương 6 trình bày kết luận và hướng mở rộng của đề tài

Trang 21

Vấn đề quan trọng nhất của bài toán tìm kiếm tương tự là cách tính khoảng cách

của 2 đối tượng x, y bất kỳ trong tập dữ liệu Trong trường hợp hai đối tượng này giống nhau thì khoảng cách này sẽ là 0 và ngược lại càng khác nhau thì khoảng

cách càng lớn Để có thể tính toán và so sánh thì cách khoảng cách này được biểu diễn thành các số thực

Độ đo khoảng cách giữa các đối tượng nên thỏa các tính chất sau:

1) dist (x, y) = 0 x = y

2) dist (x, y) = dist (y, x)

3) dist (x, y) ≥ 0 x, y

4) dist (x, y) < dist (x, z) + dist (y, z)

Trong các tính chất về độ đo tương tự, tính chất 1, 2 và 3 là trực quan dễ thấy Tính chất 4 không phải là tính chất mang tính bắt buộc nhưng cần thiết cho kỹ thuật lập chỉ mục

Trong bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian, dữ liệu được biểu diễn thành các dãy số thực, như một vector đa chiều

X = x 1 x 2 … x n

Y = y 1 y 2 … y n

Trang 22

Chúng ta cần phải tính độ tương tự Sim(X,Y) của 2 vector đa chiều này Những

phương pháp đánh giá mức độ tương tự đã được đề xuất sẽ được trình bày như sau

2.1.1 Độ đo Minkowski

Hầu hết các công trình nghiên cứu đều dựa trên độ đo khoảng cách này Khoảng cách Minkowski được định nghĩa như sau:

p n i

p i

x Y

) , (

Trong đó p có thể có nhiều giá trị khác nhau nhưng trong các công trình nghiên cứu p thường nhận các giá trị 1 (khoảng cách Manhattan), 2 (Euclid), ∞ (Max) Giá trị p = 2 được dùng phổ biến nhất trong các công trình nghiên cứu Cách tính độ đo

Euclid (độ đo khoảng cách Minkowski khi p = 2) được minh họa trong Hình 2-1

Hình 2-1: Cách tính độ đo Euclid (Nguồn [16])

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm

o Dễ tính toán

o Phù hợp với các phương pháp thu giảm số chiều DFT, DWT, PAA, APCA

Trang 23

• Nhược điểm:

o Nhạy cảm với nhiễu

o Không thích hợp khi dữ liệu có đường cơ bản (base line) khác

nhau Trường hợp này được minh họa trong Hình 2-2(a)

o Không thích hợp khi dữ liệu có biên độ dao động khác nhau

Trường hợp này được minh họa trong Hình 2-2(b)

(a) Dữ liệu có đường cơ bản khác

nhau

(b) Dữ liệu có biên độ giao động khác nhau

Hình 2-2: Nhược điểm của độ đo Minkowski (Nguồn [16])

2.1.2 Độ đo xoắn thời gian động

Độ đo xoắn thời gian động (Dynamic Time Warping – DTW) tương tự như độ

đo Minkowski nhưng thay vì 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 chuỗi thứ nhất so với điểm thứ i

của chuỗi thứ hai) 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 Cách tính độ đo xoắn thời gian động được minh họa trong Hình 2-3 Chi tiết về cách tính độ đo xoắn thời gian động được trình bày trong [4]

Trang 24

Hình 2-3 Cách tính độ đo xoắn thời gian động (Nguồn [16])

Một số ưu điểm và nhược điểm của phương pháp này:

2.1.3 Độ đo chuỗi con chung dài nhất

Độ đo chuỗi con chung dài nhất (Longest Common Subsequence – LCS) do

Vlachos và các cộng sự đề xuất năm 2004 [29] Ý tưởng chính của phương pháp tính độ đo này là tìm những chuỗi con chung giữa hai chuỗi, độ đo được tính trên chiều dài của chuỗi con chung dài nhất Hai chuỗi có chuỗi con chung càng dài thì càng giống nhau Cách tính độ đo chuỗi con chung dài nhất được minh họa trong

Hình 2-4

Để hiểu rõ cách tính độ đo chuỗi con chung dài nhất, chúng ta xét ví dụ sau:

Trang 25

Cho 2 chuỗi thời gian X = 5, 7, 2, 8, 1, 8, 6, 7 và Y = 7, 2, 4, 8, 2, 6, 8, 6 ⇒ LCS

= 7, 2, 8, 6 ⇒ Sim(X, Y) = |LCS| = 4

Hình 2-4 Cách tính độ đo chuỗi con chung dài nhất (Nguồn [29])

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm:

o Cho phép bỏ qua những điểm bất thường khi so sánh

o Thể hiện tính trực quan của dữ liệu

• Nhươc điểm:

o Dữ liệu ban đầu phải được chuẩn hóa

2.2 Các phương pháp thu giảm số chiều

Do đặc thù của chuỗi thời gian là khối lượng dữ liệu rất lớn dẫn đến chi phí cao trong việc truy xuất và tính toán trên dữ liệu thô Trong phương pháp thu giảm số chiều, chúng ta sẽ biểu diễn dữ liệu chuỗi thời gian thành những đường cơ bản đã

được định nghĩa trước Khi đó, thay vì lưu trữ chuỗi các giá trị x 1 , x 2 , …, x n, chúng

ta chỉ cần lưu trữ chuỗi y 1 , y 2 , ….,y k là k hệ số của các đường cơ bản Từ những đường cơ bản này chúng ta cũng có thể phục hồi lại dữ liệu ban đầu Giá trị k càng

lớn thì đường phục hồi này càng chính xác với đường ban đầu và ngược lại Thay vì

tính toán trên dữ liệu n chiều, chúng ta chỉ cần tính toán trên dữ liệu k chiều (k <<

Trang 26

n) Phương pháp mã hóa bằng cách biến đổi thành những đường cơ bản như vậy còn

được gọi là phương pháp thu giảm số chiều (dimensionality reduction)

2.2.1 Các phương pháp biến đổi sang miền tần số

2.2.1.1 Phương pháp biến đổi Fourier rời rạc

Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT)

được sử dụng rất phổ biến trong xử lý ảnh và xử lý tín hiệu số Phương pháp này do

R Agrawal và cộng sự đề nghị đề xuất năm 1993 [1] Phương pháp này biến đổi

dữ liệu ban đầu thành các đường cơ bản sin và cosin

k

A t

C

1

)) 2

( )

2 ( (

)

Trong đó C(t) là chuỗi dữ liệu ban đầu, A k , B k là các hệ số biến đổi, được xem là đặc trưng của chuỗi dữ liệu ban đầu Phương pháp này được minh họa trong Hình 2-5(a)

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm:

o Khả năng nén dữ liệu và chịu nhiễu tốt

o 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

o Hỗ trợ nhiều phương pháp lập chỉ mục như F-index, ST-index …

o Có thể tính DFT gia tăng khi xử lý cho chuỗi thời gian dạng luồng

Trang 27

2.2.1.2 Phương pháp biến đổi Wavelet rời rạc

Phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform – DWT)

do K Chan và W Fu đề xuất năm 1999 [5] Phương pháp DWT cũng giống phương pháp DFT, thay vì dùng đường cơ bản là đường lượng giác sin hay cosin như phương pháp DFT, phương pháp DWT dùng đường Haar Ngoài ra, phương pháp DWT cũng có thể sử dụng các đường cơ bản khác như đường Daubechies, Coiflet, Symmlet … Hình 2-5(b) minh họa phương pháp DWT được sử dụng với đường Haar

Một số ưu điểm và nhược điểm của phương pháp này:

2.2.1.3 Phương pháp phân rã giá trị riêng

Phương pháp phân rã giá trị riêng (Singular Value Decomposition - SVD) do

F Korn và cộng sự đề xuất [20], cũng giống như phưuơng pháp DFT và DWT Tuy nhiên, đường cơ bản trong SVD phụ thuộc vào dữ liệu Những đường cơ bản này

gọi là đường giá trị riêng (eigenwave) Phương pháp này được minh họa trong

Hình 2-5(c) Độ phức tạp của phương pháp này là rất lớn do phải tính toán với ma

trận lớn Vì vậy phương pháp SVD không được sử dụng rộng rãi

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm:

Trang 28

o Các đường giá trị riêng (eigenwave) cho phép thấy được hình dạng

2.2.2.1 Phương pháp xấp xỉ tuyến tính từng đoạn

Phương pháp xấp xỉ tuyến tính từng đoạn (Piecewise Linear Approximation -

PLA) do E Keogh và cộng sự đề nghị [11] [12] Trong phương pháp này dữ liệu

Trang 29

ban đầu biểu diễn lại 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 Hình 2-6(a) minh họa phương pháp xấp xỉ này

Một số ưu điểm và nhược điểm của phương pháp này:

Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation -

PAA) do E Keogh và cộng sự đề xuất năm 2001 [13] Ý tưởng chính của phương pháp này rất đơn giản, chúng ta tuần tự xấp xỉ k điểm liền kề nhau thành 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 thẳng có dạng bậc thang Hình 2-6(b) minh họa

phương pháp xấp xỉ này

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm:

o Thời gian tính toán nhanh

o Hỗ trợ nhiều độ đo tương tự (Minkowski, DTW …)

o Hỗ trợ đối tượng truy vấn có chiều dài khác nhau

Trang 30

• Nhược điểm:

o Khó xây dựng lại chuỗi ban đầu và thường sinh lỗi lớn

o Không quan tâm đến những điểm đặc biệt, chẳng hạn như điểm cực trị, trong từng đoạn xấp xỉ

2.2.2.3 Phương pháp xấp xỉ hằng số từng đoạn thích nghi

Phương pháp xấp xỉ hằng số từng đoạn thích nghi (Adaptive Piecewise Constant Approximation - APCA) được E Keogh và các cộng sự đề xuất năm 2001

[15] Phương pháp APCA giống như phương pháp PAA là 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 ở PAA có kích thước bằng nhau, còn ở APCA thì kích thước của các đoạn là khác

nhau tùy theo dữ liệu Những vùng nào trên chuỗi thời gian có biến động nhấp nhô nhiều thì được phân thành những đoạn ngắn, còn những vùng nào ít biến động thì

được phân thành những đoạn dài hơn Hình 2-6(c) minh họa phương pháp xấp xỉ

này

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm:

o Tỷ lệ nén cao hơn so với phương pháp PAA

o Tỷ lệ lỗi khi khôi phục lại dữ liệu nhỏ hơn so với phương pháp PAA

• Nhược điểm:

o Độ phức tạp của phương pháp này là O(nlog(n))

Trang 31

(a) PLA (b) PAA (c) APCA

Hình 2-6: Các phương pháp xấp xỉ từng đoạn (Nguồn [10])

2.3 Cấu trúc chỉ mục

2.3.1 Cấu trúc chỉ mục R-Tree/R*-Tree

R-Tree do A Guttman đề xuất năm 1984 [8] R-Tree là cấu trúc cây dựa trên

B-Tree Cũng giống như B-tree, R-Tree là cây cân bằng Mỗi nút trong R-Tree chứa từ

m đến M dữ liệu (m và M là 2 thông số trong quá trình xây dựng R-Tree) Mỗi dữ

liệu chứa một hình chữ nhật bao nhỏ nhất (Minimum Bounding Rectangles - MBR) có thể giao nhau Mỗi nút lá của cây R-Tree chứa con trỏ tới dữ liệu thật sự

Hình 2-7 minh họa biểu diễn R-Tree dựa trên kết quả sự phân chia 12 giá trị dữ liệu

2 chiều (R8 đến R19) thành 7 MBR

Trang 32

Hình 2-7: Ví dụ về R-Tree với 12 điểm (Nguồn [8])

Năm 1990, N Beckmann và các cộng sự đề xuất cấu trúc R*-Tree [3] R*-Tree

là một cấu trúc cải tiến những nhược điểm của R-Tree Điểm khác biệt chính trong cấu trúc R*-Tree so với R-Tree chính là thao tác thêm phần tử Chúng ta sẽ đi sâu tìm hiểu vể cấu trúc R*-Tree trong phần 3.2

Trang 33

Các biến thể khác của R-Tree/R*-Tree cũng được đề xuất Năm 2002, D Kwon

và các cộng sự đã đề xuất cấu trúc LUR-Tree (Lazy Updates R-Tree) [21] Trong

biến thể này, cấu trúc chỉ mục chỉ được cập nhật khi một đối tượng di chuyển ra

khỏi MBR tương ứng Minh họa cho LUR-Tree được thể hiện trong Hình 2-8 M

Lee và các cộng sự đề xuất chiến lược cập nhật từ dưới lên cho R-Tree tổng quát từ các kỹ thuật cập nhật hiện có nhằm mục tiêu cải thiện hiệu suất cập nhật của R-Tree

[22] trong năm 2003 Minh họa cho biến thể này được thể hiện trong Hình 2-9

Hình 2-8: Biến thể R-Tree thành RUL-Tree với liên kết trực tiếp (Nguồn [21])

Hình 2-9: Biến thể R-Tree hỗ trợ cập nhật thường xuyên theo hướng tiếp cận

tự dưới lên (Nguồn [22])

Trang 34

2.3.2 Cấu trúc chỉ mục VA-Stream/VA+-Stream

Năm 2003, X Liu và H Ferhatosmanoglu đề xuất cấu trúc chỉ mục Stream/VA+-Stream [26], là biến thể của VA-File /VA+-file do R Weber và các cộng sự đề xuất năm 1998 [30] VA-Stream/VA+-Stream là cấu trúc chỉ mục để vượt qua giới hạn về số chiều và hỗ trợ tìm kiếm tương tự hiệu quả cho dữ liệu không đồng nhất

VA-VA+-Stream chia không gian dữ liệu thành 2 b ô, trong đó b là tham số người

dùng chỉ định VA+-Stream phân bổ số lượng các bit khác nhau cho mỗi chiều

Tổng của các bit này bằng b Mỗi ô là một xấp xỉ của các điểm dữ liệu rơi vào trong

ô và được biểu diện bởi một chuỗi bit có chiều dài b Ví dụ về 6 chuỗi thời gian

trong không gian 2D với b = 3 được đưa ra trong Hình 2-10

Hình 2-10: VA+-Stream cho 6 chuỗi thời gian với b = 3 (Nguồn [17])

Hiệu suất của phương pháp này phụ thuộc nhiều vào số bit kết hợp với mỗi

chiều VA+-Stream chia không gian thành 2 b ô, trong đó b là tổng số bit Vì nhiều

trong số những ô không được sử dụng, để giảm số lượng ô các tác giả đề xuất một cấu trúc có tên là CSET Cấu trúc này lưu trữ các ô có chứa luồng dữ liệu Hạn chế

của cấu trúc này là kích thước của nó Để xác định một ô, nếu d chiều được sử dụng

Trang 35

(tức là kích thước cửa sổ trượt là d), thì cần d số nguyên Do đó, kích thước của cấu trúc CSET là n * d số nguyên, trong đó n là số luồng dữ liệu

Chi tiết về các giải thuật trên VA-Stream/VA+-Stream có thể tham khảo trong [26]

2.3.3 Cấu trúc chỉ mục Skyline

Cấu trúc chỉ mục Skyline là một cấu trúc chỉ mục dựa trên R-Tree Q Li và các cộng sự đã đưa ra định nghĩa SBR thay cho MBR trong R-Tree / R*-Tree [23] Chi tiết về cấu trúc chỉ mục này sẽ được trình bày trong phần 3.4

Những lợi ích của cấu trúc chỉ mục Skyline đã được Q Li và các cộng sự nêu ra năm 2004 và chứng minh bằng kết quả thực nghiệm trong [23] như sau :

• Giảm truy xuất chỉ mục

• Giảm truy cập dữ liệu

• Trực giao với xấp xỉ dữ liệu Các phương pháp xấp xỉ khác nhau (DFT, DWT, PAA, APCA, … ) có thể được sử dụng để biểu diễn cho các phần

tử dữ liệu và vùng bao đường chân trời

2.4 Các công trình về tìm kiếm tương tự trên chuỗi thời gian dạng luồng

Nhiều cách tiếp cận khác nhau đã được đề xuất cho bài toán tìm kiếm tương tự trên chuỗi thời gian nhưng hầu hết những cách tiếp cận đều dựa trên tiền đề chung

là độ đo tương tự, phương pháp thu giảm số chiều và cấu trúc chỉ mục không gian Tìm kiếm tương tự trên chuỗi thời gian dạng luồng đã được nghiên cứu trong [7] của L Gao và X S Wang năm 2002 Trong công trình này, tìm kiếm tương tự dùng truy vấn so trùng toàn bộ chuỗi và khoảng cách Euclid làm độ đo tương tự L Gao

và X S Wang đã sử dụng phép biến đổi Fourier nhanh (Fast Fourier Transform

Trang 36

– FFT) để tìm tương quan chéo giữa những chuỗi thời gian để tìm ra láng giềng gần

và gần nhất bằng cách xử lý hàng loạt (batch processing) Phương pháp tiên đóan

được áp dụng trong công trình này để dự đoán giá trị tương lai của chuỗi thời gian dạng luồng FFT được sử dụng để tính toán tương quan chéo giữa chuỗi dự đoán (với các giá trị đã đến) và các mẫu cơ sở dữ liệu, và để có được khoảng cách dự đoán giữa chuỗi thời gian đến tại các thời điểm trong tương lai và các mẫu cơ sở dữ liệu Khi giá trị dữ liệu thật đến, lỗi dự báo cùng với các khoảng cách dự đoán được

sử dụng để lọc ra những mẫu mà không thể là láng giềng gần hoặc gần nhất

Năm 2003, X Liu, H Ferhatosmanoglu đề xuất cấu trúc chỉ mục có thể thích ứng với sự thay đổi về chiều của các đối tượng dữ liệu Đó chính là cấu trúc chỉ

mục VA-Stream/VA+-Stream [26], dựa trên cấu trúc chỉ mục VA-File/VA+-File

(Vector Approximation file) do R Weber và các cộng sự đề xuất [30] Phương thức

xử lý truy vấn trên chuỗi thời gian dạng luồng dựa trên cấu trúc chỉ mục Stream/VA+-Stream được đã được áp dụng trên truy vấn k-lân-cận-gần-nhất Hai tác giả đã xét trường hợp sử dụng cửa sổ trượt và cửa sổ trượt có kích thước vô hạn (coi như không sử dụng cửa sổ trượt)

VA-Năm 2003, H.Wu và các cộng sự đã thực hiện so trùng chuỗi hướng-sự-kiện trên

dữ liệu tài chính dạng luồng sử dụng biểu diễn tuyến tính từng đoạn (piecewise

linear representation) của chuỗi thời gian [31] Để giảm gánh nặng cho hệ thống,

việc tìm kiếm hướng tương tự chỉ được thực hiện khi có sự kiện nào trong hệ thống

đó xảy ra H.Wu và các cộng sự đã đề xuất cách phân đoạn (segmentation) đồng

thời trực tuyến mới và giải thuật cắt tỉa cho biểu diễn tuyến tính từng đoạn của các luồng dữ liệu tài chính thô Các tác giả cũng định nghĩa độ đo tương tự mới thích hợp với việc so trùng chuỗi, gồm 2 phần là hoán vị và hàm khoảng cách Kết quả thực nghiệm cho thấy độ đo mới có hiệu suất tốt hơn so với độ đo Euclid Tuy nhiên, cách tiếp cận này chưa sử dụng cấu trúc chỉ mục

U Y Ogras và H Ferhatosmanoglu đã đề xuất framework tạo ra tóm tắt trực tuyến dựa trên biến đổi (transform-based online summary) cho dữ liệu chuỗi thời

Trang 37

gian quy mô lớn và động, chẳng hạn như dữ liệu luồng trong năm 2006 [27] Hai tác

giả này đã đề xuất kỹ thuật tổng hợp trực tuyến dựa trên biến đổi (online

transform-based summarization) cho luồng dữ liệu được cập nhật liên tục theo thời

gian và không gian với 2 phiên bản là phiên bản chính xác và xấp xỉ với giới hạn lỗi (error bounds) Kỹ thuật này được phát triển dựa trên nhận xét sau đây: Tính

toán dựa trên biến đổi tóm tắt của tập hợp dữ liệu tương đương với việc tìm kiếm

các hệ số giảm thiểu bình phương sai số (squared error) giữa chuỗi nguồn và chuỗi được xây dựng lại từ bản tóm tắt (synopsis) Công trình cũng tập trung sâu vào việc phân tích hiệu suất Hai tác giả đã phát triển một framework chung dựa trên dự đoán bình phương tốt thiểu đệ quy (Recursive Least Squares Estimation - RLSE)

để cập nhật động các hệ số chuyển đổi đầu tiên của các luồng dữ liệu Sau đó hai tác

giả mở rộng phương pháp duy trì các bản tóm tắt với cửa sổ trượt (sliding windows), các bản tóm tắt có thể được sử dụng để trả lời truy vấn liên tục

(continuous queries) với hiệu suất cao Các loại truy vấn được khảo sát trong công

trình bao gồm: truy vấn điểm (point queries), truy vấn vùng (range queries) và truy vấn k-lân-cận-gần-nhất (k-nn queries) U Y Ogras và H Ferhatosmanoglu đã

minh họa framework đề xuất phát sinh bản tóm tắt trên DFT duy trì bản tóm tắt trên cửa sổ trượt

Năm 2007, phương pháp tìm kiếm tương tự thích nghi trên chuỗi thời gian dạng luồng được M Kontaki và các cộng sự đã đề xuất [17] Phương pháp này tập trung vào 2 dạng truy vấn là truy vấn vùng và truy vấn lân cận gần nhất Phương pháp này

dựa trên cách tính toán DFT gia tăng để tạo cấu trúc chỉ mục IDC (Incremental DFT Computation) và áp dụng chính sách cập nhật trì hoãn trên cấu trúc chỉ mục

dựa trên R*-Tree này Một đặc tính quan trọng của phương pháp đề xuất là khả năng thích nghi với tần suất cập nhật của dữ liệu dạng luồng Bằng cách sử dụng heuristic đơn giản, các tác giả tìm cách giữ cho tần số cập nhật ở mức độ quy định

để đảm bảo hiệu quả

Trang 38

X Lian và L Chen đề xuất cách tiếp cận tiên đoán cho bài toán tìm kiếm tương

tự trên chuỗi thời gian dạng luồng vào năm 2008 [25] Hai tác giả đưa ra 3 cách để tiên đoán giá trị chưa biết của chuỗi thời gian dạng luồng bao gồm: đa thức, DFT và

dựa trên xác suất, cấu trúc chỉ mục được sử dụng là bảng băm đa phân giải

(multidimensional hash) và B+-Tree Cách tiếp cận đa thức có thể dự đoán giá trị

tương lai dựa trên các đường cong gần đúng của các giá trị gần nhất, trong khi đó,

kỹ thuật dự đoán dựa trên DFT dự đoán bằng cách sử dụng các giá trị xấp xỉ trong miền tần số X Lian và L Chen đề xuất phương pháp dự đoán theo cách tiếp cận xác suất để dự đoán giá trị tương lai theo tập hợp tất cả các dữ liệu trong lịch sử Hai tác giả này cũng đã mở rộng phương pháp xác suất thành phương pháp tiếp cận nhóm xác suất bằng cách sử dụng các mối tương quan giữa các chuỗi thời gian dạng luồng Lỗi dự báo trong các cách tiếp cận trên được xác định bằng bình phương khoảng cách Euclid giữa các giá trị dự báo và thực tế chia cho lỗi dự báo tối đa có thể

Tóm lại, trong các công trình trước đây việc tìm kiếm tương tự trên chuỗi thời gian dạng luồng được thực hiện hoặc là tìm kiếm tương tự dựa trên chuỗi thời gian được lưu trữ hoàn chỉnh hoặc là tiến hành dự đoán dữ liệu trước khi dữ liệu thực tế đến Đề tài sẽ tập trung theo hướng tìm kiếm tương tự dựa trên chuỗi thời gian được lưu trữ hoàn chỉnh

2.5 Kết luận

Độ đo tương tự, phương pháp thu giảm số chiều và cấu trúc chỉ mục không gian

là những vấn đề cần quan tâm trong bài toán tìm kiếm tương tự trên chuỗi thời gian tĩnh lẫn chuỗi thời gian dạng luồng M Kontaki và các cộng sự đã đề xuất cấu trúc IDC-Index, cấu trúc chỉ mục dựa trên cấu trúc R*-Tree có bổ sung thêm rút trích đặc trưng bằng tính toán DFT gia tăng và chính sách cập nhật trì hoãn [17] Tuy nhiên Q Li và các cộng sự cũng đã đề xuất cấu trúc chỉ mục Skyline mà kết quả thực nghiệm trên chuỗi thời gian tĩnh là tốt hơn so với R*-Tree

Trang 39

CHƯƠNG 3: CƠ SỞ LÝ THUYẾT VÀ

HƯỚNG TIẾP CẬN

Trong đề tài này để giải quyết bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng, một số vấn đề lý thuyết của các lĩnh vực khác sẽ được sử dụng Vì vậy, chương này sẽ trình bày những điểm cơ bản của các lý thuyết đó Trước tiên phương pháp biến đổi Fourier rời rạc cùng với cấu trúc chỉ mục R-Tree và R*-Tree được giới thiệu Phần tiếp theo của chương này trình bày sẽ cấu trúc chỉ mục IDC-Index và từng thành phần trong framework của M.Kontaki và các cộng sự sẽ được trình bày Cuối cùng, cấu trúc chỉ mục Skyline và phương pháp xấp xỉ gộp từng đoạn sẽ được nhắc đến

3.1 Phương pháp biến đổi Fourier rời rạc

Ý tưởng cơ bản của phương pháp biến đổi Fourier rời rạc (DFT) là bất kỳ tín

hiệu nào dù phức tạp đến đâu cũng có thể được biểu diễn là sự chồng chất của một

số hữu hạn của sóng sin (và / hoặc sóng cosin), trong đó mỗi sóng được biểu diễn bởi một số phức gọi là hệ số Fourier Ý tưởng của phương pháp biến đổi Fourier rời

rạc được tóm tắt lại trong Hình 3-1

Hình 3-1 Ý tưởng chính của phương pháp biến đổi Fourier rời rạc (Nguồn

[32])

Trang 40

Công thức biến đổi DFT N-điểm cho chuỗi chiều dài L được trình bày như sau:

( ) , 0 , 1 , 2 , , 1

1 )

n

N kn

2cos

1 W n

I R

R

N

kn n

x N

kn n

x N k

2 sin

1 W n

I R

I

N

kn n

x N

kn n

x N k

Phương pháp DFT đã được sử dụng thành công được cho việc so trùng toàn bộ

và so trùng chuỗi con trong chuỗi thời gian tĩnh [1] hoặc chuỗi thời gian dạng luồng

[17], [33] Cách tính toán DFT gia tăng (incremental DFT) cũng được đề xuất

trong [17] nhằm tránh tính toán lại các hệ số DFT đã tính trước đó (sẽ trình bày ở

Cấu trúc chỉ mục R*-Tree có các tính chất sau:

• Nút nội (internal node) chứa các phần tử (entry) có dạng (rectangle,

child-pointer), trong đó child-pointer là con trỏ đến nút con, rectangle là

hình chữ nhật bao nhỏ nhất chứa tất cả hình chữ nhật của các phần tử trong nút con

• Nút lá (leaf node) chứa các phần tử có dạng (object-identifier, rectangle),

trong đó object-identifier chỉ đến các mục dữ liệu cần lưu trữ chứa trong

Ngày đăng: 28/01/2021, 15:22

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] R. Agrawal, C. Faloutsos, A. Swami, Efficient similarity search in sequence databases, in Proceedings of the 4th International Conference on Foundations of Data Organization and Algorithms (FODO '93), Chicago, Illinois, USA, October 13-15, 1993, pp. 69-84 Sách, tạp chí
Tiêu đề: Proceedings of the 4th International Conference on Foundations of Data Organization and Algorithms (FODO '93)
[2] S. Babu, J. Widom, Continuous queries over data streams, in ACM SIGMOD Record, Volume 30, Issue 3, September 2001, pp. 109-120 Sách, tạp chí
Tiêu đề: ACM SIGMOD Record
[3] N. Beckmann, H.P. Kriegel, R. Schneider, B. Seeger, The R*-tree: an efficient and robust access method for points and rectangles, in Proceedings of the ACM SIGMOD, Atlantic City, New Jersey, USA, May 23-25, 1990, pp. 322-331 Sách, tạp chí
Tiêu đề: Proceedings of the ACM SIGMOD
[4] D. Berndt, J. Clifford, Using dynamic time warping to find patterns in time series, in Proceedings of AAAI Workshop on Knowledge Discovery in Databases (KDD94), Seattle, Washington, USA, pp. 359-370 Sách, tạp chí
Tiêu đề: Proceedings of AAAI Workshop on Knowledge Discovery in Databases (KDD94)
[5] K. Chan, A.W. Fu, Efficient time series matching by wavelets, in Proceedings of the 15th IEEE International Conference on Data Engineering (ICDE1999), March 23-26, 1999, pp. 126-133 Sách, tạp chí
Tiêu đề: Proceedings of the 15th IEEE International Conference on Data Engineering (ICDE1999)
[6] S. Chandrasekaran, M. J. Franklin, Streaming queries over streaming data, in Proceedings of the 28th International Conference on Very Large Databases (VLDB 2002), Hong Kong, China, August 20-23, 2002, pp. 203- 214 Sách, tạp chí
Tiêu đề: Proceedings of the 28th International Conference on Very Large Databases (VLDB 2002)
[7] L. Gao, X. S. Wang, Continually evaluating similarity-based pattern queries on a streaming time series, in Proceedings of the 2002 ACM SIGMOD international conference on Management of data (SIGMOD '02), Madison, Wisconsin, June 3-6, 2002, pp. 370-381 Sách, tạp chí
Tiêu đề: Proceedings of the 2002 ACM SIGMOD international conference on Management of data (SIGMOD '02)
[8] A. Guttman, R-tree: A dynamic index structure for spatial searching, in Proceedings of the 1984 ACM SIGMOD International Conference on Management of Data (SIGMOD ’84), Boston, Massachusetts, USA, June 18-21, 1984, pp. 47-57 Sách, tạp chí
Tiêu đề: Proceedings of the 1984 ACM SIGMOD International Conference on Management of Data (SIGMOD ’84)
[9] J. Han, M. Kamber, Mining stream, time-series, and sequence data, in Data Mining: Concepts and Techniques, Second Edition, Morgan Kaufmann, 2006, pp. 467-534 Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques, Second Edition
[10] E. Keogh, A decade of progress in indexing and mining large timeseries databases, in Proceedings of the 32nd international conference on Very large data bases (VLDB’2006), Seoul, Korea, September 12-15, 2006, pp.1268 - 1268 Sách, tạp chí
Tiêu đề: Proceedings of the 32nd international conference on Very large data bases (VLDB’2006)
[11] E. Keogh, M. J. Pazzani, An enhanced representation of time series which allows fast and accurate classification, clustering and relevance feedback, in Proceedings of the 4th International Conference on Knowledge Discovery and Data Mining, New York City, New York, USA, Aug 27-31, 1998, pp 239-241 Sách, tạp chí
Tiêu đề: Proceedings of the 4th International Conference on Knowledge Discovery and Data Mining
[12] E. Keogh, S. Chu, D. Hart, M. J. Pazzani, An online algorithm for segmenting time series, in Proceedings of the IEEE International Conference on Data Mining (ICDM '01), San Jose, California, USA, 29 Nov 2001 - 02 Dec 2001, pp. 289-296 Sách, tạp chí
Tiêu đề: Proceedings of the IEEE International Conference on Data Mining (ICDM '01)
[13] E. Keogh, K. Chakrabarti, M. Pazzani, S. Mehrotra, Dimensionality reduction for fast similarity search in large time series databases, in Knowledge and Information Systems, vol. 3, no. 3, 2000, pp.263-286 Sách, tạp chí
Tiêu đề: Knowledge and Information Systems
[14] E. Keogh, Exact indexing of Dynamic Time Warping, in Proceedings of 28th International Conference on Very Large Data Bases, 2002, pp.406- 417 Sách, tạp chí
Tiêu đề: Proceedings of 28th International Conference on Very Large Data Bases
[15] E. Keogh, K. Chakrabarti, M. Pazzani, S. Mehrotra, Locally adaptive dimensionality reduction for indexing large time series databases, in Proceedings of the 2001 ACM SIGMOD Conference on Management of Data,, May 21-24, 2001, pp. 151-162 Sách, tạp chí
Tiêu đề: Proceedings of the 2001 ACM SIGMOD Conference on Management of Data
[16] E. Keogh, Mining shape and time series databases with symbolic representations, in Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD’07), August 12-15, 2007 Sách, tạp chí
Tiêu đề: Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD’07)
[18] M. Kontaki, A. N. Papadopoulos, Y.Manolopoulos, Efficient similarity search in streaming time sequences, in: Proceedings of the 16th International Conference on Scientific and Statistical Database Management (SSDBM 2004), Santorini, Greece, 2004 Sách, tạp chí
Tiêu đề: Proceedings of the 16th International Conference on Scientific and Statistical Database Management (SSDBM 2004)
[19] M. Kontaki, A. N. Papadopoulos, Y.Manolopoulos, Similarity search in time series databases, Encyclopedia of Database Technologies &amp;Applications, IDEA Group Publishing, pp. 646-651, 2005 Sách, tạp chí
Tiêu đề: Encyclopedia of Database Technologies & "Applications
[20] F. Korn, H. Jagadish, C. Faloutsos, Efficiently supporting ad hoc queries in large datasets of time sequences, in Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOID’97), Tucson, Arizona, USA, May 13-15, 1997, pp 289-300 Sách, tạp chí
Tiêu đề: Proceedings of "the "ACM SIGMOD International Conference on Management of Data (SIGMOID’97)
[21] D. Kwon, S. Lee, S. Lee, Indexing the current positions of moving objects using the lazy update R-tree, in Proceedings of the 3rd International Conference on Mobile Data Management, Washington, DC, USA, 2002, pp.113-120 Sách, tạp chí
Tiêu đề: Proceedings of the 3rd International Conference on Mobile Data Management

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm