Luận văn thạc sĩ khoa học máy tính về tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng

Luận văn thạc sĩ nghiên cứu máy tính tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện pháp hoàn thiện trong lĩnh vực .

Chuyên ngành

Khoa Học Máy Tính

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2011

97
5
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về dữ liệu chuỗi thời gian

Dữ liệu chuỗi thời gian là một loại dữ liệu được tổ chức theo thứ tự thời gian, cho phép phân tích và nhận diện các mẫu trong quá trình xảy ra. Trong bối cảnh hiện đại, dữ liệu chuỗi thời gian có mặt trong nhiều lĩnh vực như tài chính, y tế, và kỹ thuật. Việc xử lý và phân tích dữ liệu này gặp phải nhiều thách thức, đặc biệt là khi dữ liệu có kích thước lớn và không đồng nhất. E. Keogh đã chỉ ra rằng, "Dữ liệu quá lớn và phụ thuộc vào cách đánh giá độ tương tự" là những vấn đề chính mà các nhà nghiên cứu phải đối mặt. Điều này dẫn đến nhu cầu cấp thiết cho các phương pháp tìm kiếm tương tự hiệu quả hơn trong các cơ sở dữ liệu chuỗi thời gian.

1.1. Dữ liệu 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 chuỗi thời gian, trong đó dữ liệu được cập nhật liên tục theo thời gian. M. Kontaki đã phân loại dữ liệu này thành hai loại: chuỗi thời gian tĩnh và chuỗi thời gian dạng luồng. Việc xử lý dữ liệu dạng luồng đòi hỏi các thuật toán có khả năng hoạt động trong thời gian thực và có thể xử lý khối lượng dữ liệu lớn. Các phương pháp như cửa sổ trượt (sliding windows) đã được đề xuất để giải quyết bài toán này. Như Kamber đã tổng hợp, "Các phương pháp xử lý dữ liệu dạng luồng bao gồm lấy mẫu ngẫu nhiên và mô hình đa phân giải".

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

Bài toán tìm kiếm tương tự trong dữ liệu chuỗi thời gian đã trở thành một lĩnh vực nghiên cứu quan trọng, đặc biệt trong việc phát hiện các mẫu và xu hướng. Các phương pháp hiện tại đã phân loại truy vấn thành hai loại chính: so trùng toàn bộ và so trùng chuỗi con. M. Kontaki đã tổng kết ba loại truy vấn tương tự: truy vấn tương tự vùng, truy vấn k-lân-cận gần nhất, và truy vấn tương tự ghép nối. Điều này cho thấy rằng, để thể hiện sự tương tự giữa hai chuỗi thời gian, cần phải dựa trên độ đo khoảng cách. "Tìm kiếm tương tự là một hướng nghiên cứu quan trọng trong khai phá dữ liệu", điều này khẳng định tầm quan trọng của việc phát triển các phương pháp hiệu quả cho bài toán này.

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

Phương pháp thu giảm số chiều là một trong những kỹ thuật quan trọng nhằm tối ưu hóa việc xử lý dữ liệu chuỗi thời gian. Bằng cách áp dụng các phương pháp như xấp xỉ gộp từng đoạn (PAA), có thể giảm thiểu kích thước dữ liệu mà vẫn giữ lại thông tin quan trọng. Kỹ thuật này không chỉ giúp giảm tải cho hệ thống mà còn cải thiện hiệu suất tìm kiếm. "Xấp xỉ gộp từng đoạn hoạt động theo kiểu gia tăng, đáp ứng yêu cầu của môi trường luồng", điều này cho thấy tính linh hoạt và hiệu quả của phương pháp này trong việc xử lý dữ liệu chuỗi thời gian dạng luồng.

III. Cấu trúc chỉ mục và ứng dụng

Cấu trúc chỉ mục đóng vai trò quan trọng trong việc tối ưu hóa quá trình tìm kiếm tương tự trên dữ liệu chuỗi thời gian. Trong luận văn, cấu trúc chỉ mục Skyline được đề xuất như một giải pháp thay thế cho R*-Tree. Cấu trúc này cho phép truy xuất dữ liệu nhanh chóng và hiệu quả hơn trong môi trường luồng. Các thực nghiệm cho thấy rằng, "Cấu trúc chỉ mục Skyline là hiệu quả hơn R*-Tree trong môi trường luồng", điều này khẳng định giá trị thực tiễn của nghiên cứu. Việc áp dụng cấu trúc chỉ mục này có thể giúp cải thiện đáng kể thời gian đáp ứng truy vấn và giảm thiểu số lượng truy cập đĩa.

3.1. Đánh giá hiệu suất và kết quả thực nghiệm

Đánh giá hiệu suất của các phương pháp tìm kiếm tương tự được thực hiện thông qua các tiêu chí như thời gian CPU, số truy cập đĩa, và thời gian tạo cấu trúc chỉ mục. Kết quả thực nghiệm đã chứng minh rằng, các phương pháp mới đề xuất không chỉ cải thiện thời gian xử lý mà còn nâng cao độ chính xác trong việc tìm kiếm tương tự. "Các kết quả thực nghiệm cho thấy rằng, phương pháp mới có thể xử lý hiệu quả hơn trong môi trường dữ liệu lớn", điều này mở ra hướng đi mới cho các nghiên cứu tiếp theo trong lĩnh vực này.

07/01/2025

Trích đoạn nội dung tài liệu

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 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: Nguyễn Trường Mạnh Hùng 1 Tìm kiếm tương tự trên chuỗi thời gian dạng luồng • 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 series) [19].

Chuỗi thời gian tĩnh là chuỗi thời gian bao gồm một số lượng hữu hạn các giá trị mẫu. Còn đối với chuỗi thời gian dạng luồng kích thước bài toán tăng lên rất nhiều vì giá trị mới được cập nhật liên tục. Tùy theo nhu cầu mà chúng ta có thể tiếp cận một chuỗi thời gian như là chuỗi thời gian tĩnh hay chuỗi thời gian dạng luồng. Trong ví dụ Hình 1-1 (a), nếu dữ liệu tương ứng với giá cổ phiếu trong năm 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 Nguyễn Trường Mạnh Hùng 2 Tìm kiếm tương tự trên chuỗi thời gian dạng luồng đáp ứng nhanh, thời gian thực và truy xuất ngẫu nhiên là rất tốn ké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].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. Nguyễn Trường Mạnh Hùng 3 Tìm kiếm tương tự trên chuỗi thời gian dạng luồng 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.

Nguyễn Trường Mạnh Hùng 4 Tìm kiếm tương tự trên chuỗi thời gian dạng luồng • 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 ai ∈ A (1 ≤ i ≤ |A|) sao cho với bất kỳ aj ∈ A (1 ≤ j ≤ |A| và j ≠ i) dist(q, ai) ≤ dist(q, aj). • 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 a∈A và b∈B 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.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).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: Nguyễn Trường Mạnh Hùng 5 Tìm kiếm tương tự trên chuỗi thời gian dạng luồng • 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 Nguyễn Trường Mạnh Hùng 6 Tìm kiếm tương tự trên chuỗi thời gian dạng luồng CHƯƠNG 2: TỔNG HỢP CÁC CÔNG TRÌNH LIÊN QUAN Chương 2 sẽ tổng hợp các công trình về độ đo tương tự, các phương pháp thu giảm số chiều và các cấu trúc chỉ mục không gian.1 Các độ đo tương tự 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài luận văn thạc sĩ "Tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng" của tác giả Nguyễn Trường Mạnh Hùng, dưới sự hướng dẫn của PGS. Dương Tuấn Anh, được thực hiện tại Đại Học Quốc Gia Thành Phố Hồ Chí Minh vào năm 2011. Bài viết khám phá các phương pháp và kỹ thuật nhằm tìm kiếm thông tin tương tự trong các chuỗi thời gian, đặc biệt là trong bối cảnh dữ liệu dạng luồng, giúp người đọc hiểu rõ hơn về cách thức xử lý và phân tích dữ liệu phức tạp này. Những lợi ích từ nghiên cứu này không chỉ mang lại cái nhìn sâu sắc về công nghệ mà còn mở ra hướng đi mới cho các ứng dụng trong lĩnh vực khoa học máy tính.

Để mở rộng thêm kiến thức của bạn về chủ đề này, bạn có thể tham khảo các bài viết liên quan sau: Nghiên cứu tìm kiếm tương tự trên dữ liệu chuỗi thời gian sử dụng phép biến đổi PLA và chỉ mục Skyline, trong đó cũng đề cập đến việc tìm kiếm tương tự trong dữ liệu chuỗi thời gian. Bạn cũng có thể tìm hiểu thêm về Nghiên Cứu Khai Phá Luật Trên Chuỗi Thời Gian Trong Khoa Học Máy Tính, bài viết này sẽ giúp bạn nắm bắt được các phương pháp khai thác dữ liệu trong chuỗi thời gian. Cuối cùng, bài viết Cải tiến giải thuật KMeans cho bài toán gom cụm dữ liệu chuỗi thời gian sẽ mang lại cái nhìn sâu sắc về kỹ thuật gom cụm trong phân tích dữ liệu chuỗi thời gian. Những tài liệu này sẽ giúp bạn mở rộng thêm kiến thức và góc nhìn về lĩnh vực khoa học máy tính.