ĐẶT VẤN ĐỀ Như chúng ta đã biết, công nghệ trên thế giới ngày một phát triển và mức độ ảnh hưởng của nó đến con người là đều không thể phủ nhận. Có thể nói cho đến bây giờ hầu hết những gì chúng ta gặp xung quanh cuộc sống, những thứ chúng ta tiếp xúc và làm việc hàng ngày, trong gia đình và kể cả trong công việc đều liên quan đến công nghệ. Với sự phát triển nhanh như vậy, thì dữ liệu mà con người phải đối mặt hàng ngày cũng rất lớn. Vậy câu hỏi đặt ra là, “làm sao để có thể quản lý và tìm kiếm thông tin quan trọng và hữu ích trong một lượng dữ liệu lớn (Big Data) một cách nhanh nhất và chính xác nhất ?” Câu hỏi này chính là mấu chốt cho sự phát triển của ngành khai phá dữ liệu (Data Mining) một lĩnh vực mà rất nhiều nhà nghiên cứu trên thế giới quan tâm tới.
Một trong những loại dữ liệu rất quan trọng đó là dữ liệu chuỗi thời gian (Time Series Data) dữ liệu này có trong hầu hết các lĩnh vực trong cuộc sống như là thống kê, xử lý tín hiệu, kinh tế, tài chính, môi trường, năng lượng,. Như vậy làm thế nào để có thể từ một dữ liệu chuỗi thời gian ta có thể biết được những tri thức tiềm ẩn bên trong nó ? đây cũng là câu hỏi dẫn tới một loạt các bài toán về phân tích dữ liệu chuỗi thời gian (Time Series Analysis) như là bài toán kết chuỗi con (Subseries Join), phân loại (Classification), gom cụm (Clustering), dự báo (Predict), phát hiện bất thường (Novelty Detection), phát hiện mô típ (Motif Detection),… Trong đó bài toán kết chuỗi là một trong những bài toán được quan tâm nhất trong thời gian gần đây.2 - Ý NGHĨA PHÂN TÍCH DỮ LIỆU CHUỖI THỜI GIAN Việc phân tích dữ liệu chuỗi thời gian là điều rất quan trọng và có ý nghĩa rất lớn đối với từng lĩnh vực kể cả trong khoa học và thực tiễn. 1 Ví dụ như cho hai biểu đồ biểu diễn hai bản nhạc, làm thế nào để biết hai bản nhạc có giống nhau hay không ? (ứng dụng để có thể phát hiện đạo nhạc ) hoặc là cho hai biểu đồ về lưu lượng nước trên hai con sông, làm thế nào để biết khoảng thời gian nào thì lưu lượng nước ở hai con sông là giống nhau nhất (phục vụ cho công tác nghiên cứu và dự đoán). Làm thế nào biết được trong một biểu đồ điện tâm đồ, biểu đồ điện não đồ, giai đoạn nào là bất thường (anomaly) giai đoạn nào là ổn định ? lời giải của bài toán nhằm mục đích phục vụ cho quá trình chẩn đoán và đưa ra kết luận dựa trên các kết quả đó.
Phân tích chuỗi thời gian bao gồm các phương pháp để phân tích dữ liệu chuỗi thời gian, để từ đó trích xuất ra được các thuộc tính thống kê có ý nghĩa và đặc trưng của dữ liệu. Dự đoán chuỗi thời gian là việc sử dụng mô hình để dự đoán các sự kiện thời gian dựa vào các sự kiện đã biết trong quá khứ để từ đó dự đoán các điểm dữ liệu trước khi nó xảy ra.3 - HƯỚNG TIẾP CẬN Vấn đề chúng ta cần xem xét là việc kết hai chuỗi thời gian dựa trên độ tương quan lớn nhất giữa chúng. Hai chuỗi thời gian có thể được kết hợp ở bất kỳ vị trí và bất kỳ độ dài nào, một cặp vị trí và độ dài có thể cho ta những tri thức hữu ích trong nhiều lĩnh vực khác nhau như tài chính, kinh tế, giám sát môi trường, theo dõi bệnh nhân và các vấn đề liên quan đến năng lượng… Ví dụ trong Hình 1.1 minh họa tỉ giá hối đoái của hai đồng tiền Indian Rupee (INR) và Singapore Dollar (SGD) từ năm 1996 tới năm 2013, đoạn được tô đậm trong hình chính là đoạn được kết và chúng có hệ số tương quan là 0.1 – Hai chuỗi thời gian về tỉ giá hối đoái của hai đồng tiền Indian Rupee (INR) và Singapore Dollar (SGD) trong giai đoạn 1996-2013 2 Tuy nhiên, việc tính toán độ tương quan của tất cả các đoạn con đòi hỏi một chi phí khá cao, đặc biệt là khi độ dài của chuỗi thời gian tương đối lớn. Giải thuật trực tiếp (Naive Algorithm) yêu cầu độ phức tạp là O(n4) với n là độ dài của chuỗi thời gian.
Trong đề tài này chúng tôi sử dụng kỹ thuật phân đoạn bằng phương pháp xấp xỉ đa thức bình phương tối thiểu (Least-Square Polynomial Approximate) kết hợp với phương pháp cửa sổ trượt (Sliding Window) và tiêu chí phân đoạn là sai số toàn phương trung bình (Mean Square Error) để tìm ra các đoạn mang tính chất đặc trưng nhất, sau đó tôi tìm minLen dựa vào các đoạn đặc trưng này, quá trình kết chuỗi con chúng tôi sử dụng hệ số tương quan Pearson để tìm ra sự tương quan của tất cả các đoạn con có độ dài lơn hơn hoặc bằng minLen. Bên cạnh đó chúng tôi có sử dụng phương pháp quy hoạch động (Dynamic Programing) nhằm mục đích cải tiến độ phức tạp của bài toán kết chuỗi con. Đề tài sử dụng các phép toán liên quan tới thống kê như là giá trị trung bình (Mean), phương sai (Variance), độ lệch chuẩn (Standard Deviation), phép biến đổi Fourier nhanh (Fast Fourier Transform) các phương pháp chuẩn hóa như là chuẩn hóa Z, (Z-Normalization) chuẩn hóa min- max (Min-Max-Normalization), khái niệm về hệ số tương quan Pearson (Pearson Correlation Coefficient), các độ đo như Minkowski, Euclid, Dynamic Time Warping, các khái niệm về hàm số, đa thức trực giao (Orthogonal Polynomial), đa thức (Polynomial), tích vô hướng (Dot Product), tích trong (Inner Product), bài toán xấp xỉ đa thức bình phương tối thiểu (Least-Square Polynomial Approximate).4 – MỤC TIÊU VÀ GIỚI HẠN CỦA ĐỀ TÀI Mục tiêu chính của đề tài là nghiên cứu phương pháp kết chuỗi con dựa vào hệ số tương quan Pearson với một vài cải tiến so với nghiên cứu của A. Mueen và các cộng sự, phương pháp đề xuất có ba công đoạn chính : (i) ứng dụng phương pháp phân đoạn chuỗi thời gian dựa vào xấp xỉ đa thức bình phương tối thiểu kết hợp với cửa sổ trượt của E.
Fuchs, (ii) sử dụng kỹ thuật quy hoạch động để tiền xử lý quá trình tính toán, (iii) tăng tốc quá trình kết chuỗi con bằng cách trượt mỗi phân đoạn của chuỗi thời gian A trên chuỗi thời gian B. Kết quả thu được sẽ so sánh với giải thuật JOCOR [2] do A. Mueen và các cộng sự đề xuất về hai phương diện là độ hữu hiệu (thời gian chạy) và độ chính xác. Bên cạnh đó chúng tôi có sử dụng ý tưởng của quá trình kết chuỗi con và lý thuyết đồ thị để giải quyết bài toán đồng thời phát hiện motif và chuỗi con bất thường trên chuỗi thời gian.
3 Đối với bài toán phát hiện motif sẽ được so sánh với giải thuật Brute Force và phương pháp chiếu ngẫu nhiên (Random Project) [28]. Bài toán phát hiện bất thường sẽ được so sánh với giải thuật HOT_SAX, tất cả đều so sánh với hai phương diện, thời gian chạy và độ chính xác.5 – NHỮNG KẾT QUẢ ĐẠT ĐƯỢC Trong giới hạn thời gian thực hiện luận văn, chúng tôi đã hiện thực chương trình giải quyết hai bài toán như sau (i) kết chuỗi con cải tiến dựa vào hệ số tương quan Pearson, (ii) đồng thời phát hiện motif và chuỗi con bất thường dựa vào kết quả kết chuỗi con. Đối với bài toán (i) chúng tôi chạy thực nghiệm với các thông số khác nhau cho từng loại dữ liệu để đánh giá và so sánh hiệu quả của giải thuật cải tiến so với giải thuật Jocor gốc. Qua thực nghiệm chúng tôi thấy được những ưu điểm của cách tiếp cận mới về độ chính xác, thời gian cũng như là độ phức tạp của việc hiện thực giải thuật.
Đối với bài toán (ii) chúng tôi cũng chạy thực nghiệm trên các bộ dữ liệu khác nhau cùng với các bộ thống số đầu vào khác nhau, kết quả thực nghiệm cũng cho thấy được hiệu quả của việc sử dụng lý thuyết đồ thị và mối liên hệ của các chuỗi con tương quan với nhau để xây dựng nên cách tiếp cận giải quyết đồng thời bài toán phát hiện motif và chuỗi con bất thường. Như vậy chương trình đã đáp ứng những yêu cầu và nhiệm vụ của luận văn.6 – CẤU TRÚC LUẬN VĂN Chương hai của luận văn sẽ điểm qua các cơ sở lý thuyết cũng như các khái niệm cơ bản liên quan đến bài toán chuẩn hóa dữ liệu đây là giai đoạn đầu tiên trước khi bước vào giai đoạn thứ hai là phân đoạn chuỗi thời gian, sau khi phân đoạn chuỗi thời gian hoàn thành thì sẽ là quá trình kết chuỗi con trên dữ liệu chuỗi thời gian dựa vào hệ số tương quan Pearson. Chương ba sẽ đi qua các công trình liên quan đến bài toán kết chuỗi con như là luận án tiến sĩ của Y. Lin về phương pháp kết chuỗi con dựa vào sự phân đoạn không đồng nhất, quá trình phân đoạn chuỗi thời gian bằng phương pháp xấp xỉ đa thức bình phương tối thiểu kết hợp phương pháp cửa sổ trượt của E.
Fuchs và các cộng sự, phương pháp kết chuỗi con của A. Mueen và các cộng sự, luận văn thạc sĩ của Võ Đức Vĩnh nghiên cứu về bài toán kết chuỗi con trên dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động (Dynamic Time 4 Warping). Lý thuyết đồ thị và giải thuật cho bài toán maximum clique được đề xuất bởi Konc and Janezic in 2003 [29] Chương bốn của luận văn sẽ trình bày phương pháp mà chúng tôi đề nghị để giải quyết bài toán kết chuỗi con trên dữ liệu chuỗi thời gian dựa vào hệ số tương quan Pearson và ý tưởng sử dụng kết quả của bài toán kết chuỗi con trong bài toán phát hiện đồng thời motif và chuỗi con bất thường. Chương năm sẽ là kết quả thực nghiệm và so sánh giữa kết quả nghiên cứu với các công trình liên quan.
Chương sáu là kết luận và hướng mở rộng của đề tài. 5 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT Chương hai của luận văn sẽ đi qua các khái niệm liên quan đến chuỗi thời gian, xác suất thống kê, cũng như là các phương pháp chuẩn hóa, các độ đo sử dụng trong bài toán kết chuỗi con. Bên cạnh đó chương này còn trình bày ý tưởng của phép biến đổi Fourier nhanh nhằm mục đích tăng tốc quá trình kết chuỗi con trong công trình của A. Mueen và các cộng sự, các khái niệm về đa thức, đa thức trực giao, bài toán xấp xỉ đa thức bình phương tối thiểu được ứng dụng trong bài toán phân đoạn chuỗi thời gian của E.
Fuchs và các cộng sự.1 - CÁC KHÁI NIỆM CHÍNH 2.