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

Luận văn thạc sĩ Khoa học máy tính: Rút trích luật dự báo từ dữ liệu chuỗi thời gian dựa vào mô típ và nguyên lý MDL

101 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Cấu trúc

  • Chương 1. GIỚI THIỆU VẤN ĐỀ (15)
    • 1.1. Giới thiệu về Luật Dự Báo (15)
    • 1.2. Nguyên nhân dự báo (15)
    • 1.3. Phương pháp dự báo (16)
      • 1.3.1. Nguyên lý MDL (16)
      • 1.3.2. Mô típ (16)
    • 1.4. Mục tiêu và giới hạn của đề tài (17)
    • 1.5. Các kết quả đạt được (18)
    • 1.6. Cấu trúc luận văn (18)
  • Chương 2. CƠ SỞ LÝ THUYẾT (19)
    • 2.1. Nguyên lý MDL (19)
      • 2.1.1. Giới thiệu nguyên lý MDL (19)
      • 2.1.2. Ý tưởng chính của nguyên lý MDL (20)
      • 2.1.3. Ví dụ đơn giản về MDL (21)
    • 2.2. Chuỗi thời gian và các khái niệm liên quan (22)
      • 2.2.1. Chuỗi thời gian (Time Series) (22)
      • 2.2.2. Khung cửa sổ trượt (Sliding Window) (22)
      • 2.2.3. Cơ sở dữ liệu chuỗi thời gian (Time Series Database) (22)
      • 2.2.4. Trùng khớp (Match) (23)
      • 2.2.5. Trùng khớp tầm thường (Trivial Match) (23)
      • 2.2.6. Mô típ bậc K (kí hiệu K-Motif(n, R)) (24)
      • 2.2.7. Mô típ bậc K với độ sai lệch d (kí hiệu K-Motif(n, R, d)) (25)
      • 2.2.8. Mô típ toàn chuỗi (Time Series Motif) (25)
      • 2.2.9. Mô Típ Toàn Chuỗi Bậc K của chuỗi thời gian (K th Time Series Motif) 12 2.2.10. Tầm của mô típ (Motif Range) (26)
      • 2.2.11. Biến đổi chuỗi thời gian thành cơ sở dữ liệu chuỗi thời gian (26)
      • 2.2.12. Mô típ của chuỗi con (26)
      • 2.2.13. So sánh hai khái niệm mô típ bậc K của B. Chiu và A. Mueen (27)
    • 2.3. Bài toán phát hiện Mô típ (27)
      • 2.3.1. Giới thiệu bài toán Mô típ (27)
      • 2.3.2. Các nghiên cứu đi trước về bài toán tìm kiếm Mô típ (28)
    • 2.4. Bài toán phát hiện Luật Dự Báo (28)
    • 2.5. Khung làm việc Luật dự báo (Rule Framework) (30)
      • 2.5.1. Chuỗi con Tiền đề (Antecedent) (31)
      • 2.5.2. Chuỗi con Kết quả (Consequent) (31)
      • 2.5.3. Luật Dự Báo của chuỗi thời gian (31)
      • 2.5.4. Điểm phân tách (Split Point) (32)
  • Chương 3. CÁC CÔNG TRÌNH LIÊN QUAN (33)
    • 3.1. Phát hiện mô típ bằng giải thuật Chiếu Ngẫu Nhiên (33)
    • 3.2. Tìm kiếm chính xác Mô típ chuỗi thời gian (37)
    • 3.3. Rút trích luật có ý nghĩa trong chuỗi thời gian (41)
    • 3.4. Các công trình tham khảo khác (46)
      • 3.4.1. Về luật dự báo (46)
      • 3.4.2. Về nguyên lý MDL (47)
    • 3.5. Tổng kết (48)
  • Chương 4. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ (49)
    • 4.1. Điểm cực trị quan trọng (Important Extreme Points) (49)
      • 4.1.1. Điểm cực tiểu quan trọng (50)
      • 4.1.2. Điểm cực đại quan trọng (50)
      • 4.1.3. Giải thuật tìm điểm cực trị quan trọng (51)
    • 4.2. Nhận diện mô típ dựa vào Điểm cực trị quan trọng và Gom cụm phân cấp (52)
      • 4.2.1. Độ đo khoảng cách có ràng buộc (53)
      • 4.2.2. Tìm ứng viên mô típ (54)
      • 4.2.3. Giải thuật gom cụm phân cấp theo hướng từ dưới lên (Hierarchical Bottom-Up Algorithm) (55)
      • 4.2.4. Giải thuật gom cụm K-Means (56)
  • Chương 5. HIỆN THỰC VÀ THỬ NGHIỆM (57)
    • 5.1. Hợp nhất các điểm cực trị quan trọng (57)
    • 5.2. Lấy mẫu các ứng viên bằng phương pháp Nội suy tuyến tính (59)
    • 5.3. Lấy mẫu các ứng viên bằng Phép biến hình vị tự (60)
      • 5.3.1. Khái niệm về Phép biến hình vị tự (60)
      • 5.3.2. Giải thuật phép biến hình vị tự (62)
    • 5.4. Mô hình hiện thực phương pháp rút trích luật dự báo sử dụng thuật toán phát hiện mô típ EP_C|HAC (63)
    • 5.5. Kết quả thực hiện của hai giải thuật (64)
      • 5.5.1. Dữ liệu xe điện 40 ngày (40daytrain) với kích thước 3000 điểm (0)
      • 5.5.2. Tập dữ liệu memory với kích thước 6875 điểm (68)
  • Chương 6. KẾT LUẬN (84)
    • 6.1. Tổng kết (84)
    • 6.2. Những đóng góp của đề tài (84)
    • 6.3. Hướng phát triển đề tài (84)

Nội dung

Nếu như tiền đề bên trái trùng khớp với một chuỗi con của một luồng dữ liệu với khoảng cách bé hơn 7.58 thì chúng ta dự báo sự xuất hiện tức thời của chuỗi kết quả bên phải.. Hình 1-1: M

GIỚI THIỆU VẤN ĐỀ

Giới thiệu về Luật Dự Báo

Dự báo là một trong những vấn đề được quan tâm ngay từ những ngày đầu khi nền khoa học của loài người bắt đầu phát triển Dự báo gắn với những gì tự nhiên nhất như dự báo chuyển động của mặt trăng và các hành tinh của các nhà chiêm tinh học Maya Để có thể dự báo chính xác, người ta phải tìm ra các quy luật của hiện tượng đang phân tích Ví dụ đơn giản trong dân gian như khi chuồn chuồn xuất hiện và bay thấp thì nhiều khả năng sẽ có mưa xảy ra Đây chính là một dạng luật dự báo, luật này nói rằng khi tiền đề là có nhiều chuồn chuồn bay thấp xảy ra thì dự báo xác suất có mưa sẽ rất cao

Rất nhiều công trình nghiên cứu khoa học về dự báo đã được thực hiện Hầu hết các công trình này dự báo trên một luồng dữ liệu, ở đây có thể coi là một chuỗi thời gian, và đều cố gắng để dự báo tương lai dựa vào giá trị hiện thời của chuỗi thời gian đó Tuy nhiên, đối với một số vấn đề thực tế, giá trị hiện thời đơn lẻ không thể giúp cho việc dự báo chính xác Thay vào đó, chính hình dạng hiện tại của một phần chuỗi thời gian mới quyết định được giá trị tiếp theo của chuỗi Vì vậy, việc rút trích ra các luật dựa trên hình dạng của chuỗi thời gian để có thể suy ra hình dạng xuất hiện tiếp theo của chuỗi chính là một hướng đi được quan tâm rất nhiều trong thời gian gần đây.

Nguyên nhân dự báo

Có nhiều phương pháp để đưa ra dự báo nhưng trực quan nhất chính là dựa vào sự xuất hiện của các mẫu hình đã xảy ra trong quá khứ Nếu trong hiện tại, một phần của hình mẫu đó xuất hiện, ta có thể suy luận khả năng cao mẫu đó sẽ được tái hiện lại trong chuỗi thời gian

Việc dự báo giúp đỡ rất nhiều cho con người trong việc phòng chống các hiện tượng và sự kiện không may mắn có thể xảy ra, chẳng hạn như dự báo khi nhịp tim

Lâm Tuấn Anh - 1570202 2 bắt đầu rối loạn hay dự báo câu chữ sẽ phát ra tiếp theo trong một đoạn văn Thậm chí có thể áp dụng để dự báo một phần thời tiết hay thị trường chứng khoán…

Phương pháp dự báo

Phương pháp được sử dụng trong đề tài dựa vào 2 lý thuyết là nguyên lý MDL và Mô Típ của Chuỗi Thời Gian, được sơ lược và khái quát như sau:

MDL là chữ viết tắt của Minimum Description Length Đây là một nguyên lý tổng thể hiện tính chất của lưỡi dao cạo Occam trong đó: giả thuyết tốt nhất (về mô hình và các thông số) cho một tập dữ liệu cho trước chính là giả thuyết có thể dùng để nén dữ liệu của tập đó một cách tốt nhất Đây là một khái niệm được sử dụng trong lí thuyết thông tin và lí thuyết máy học Khi ứng dụng nguyên lý vào thực tế, ý tưởng chính của nguyên lý này thể hiện như sau [1]:

Nếu xem các tập dữ liệu chính là giá trị của một phân bố xác xuất cộng với nhiễu

Ta có thể coi nhiều tập dữ liệu chính là một lớp các phân bố xác suất với thông số khác nhau Bằng việc biểu diễn lớp các mô hình phân bố xác suất trên bằng một mô hình biểu diễn chung nhất mà nó có thể mô phỏng bất cứ mô hình nào trong lớp các mô hình nêu trên, ta có thể nén lớp các mô hình trên bằng cách biểu diễn theo mô hình chung nhất kèm theo các thông số nhất định Mô hình biểu diễn chung tốt nhất chính là mô hình cho phép biểu diễn lớp các mô hình của dữ liệu bằng ít thông tin (thông số đi kèm) nhất

Mô típ của chuỗi thời gian là một cặp chuỗi thời gian riêng lẻ hoặc các chuỗi con của một chuỗi thời gian dài hơn mà chúng rất giống nhau Trong tự nhiên, sự giống nhau của mẫu những chuỗi nucleotid hay amino acid rời rạc trong sinh học gợi ý cho ta một kiến trúc đã được giữ lại (qua quá trình tiến hoá) vì một lí do nào đó

Chẳng hạn như đối với mô típ N-glycosylation, amino acid Asn không bao giờ đứng trước amino acid Pro Đây chính là nghĩa gốc của từ mô típ, vốn được dùng trong sinh học Vì bản chất tương đồng nên từ mô típ được mở rộng nghĩa ra như định nghĩa đi kèm với chuỗi thời gian nói trên Mô típ đóng góp rất quan trọng trong việc nhận ra cấu trúc giống nhau của một sự vật hay sự việc Kể từ khi mô típ chuỗi thời gian được định nghĩa chính xác từ năm 2002 [2], rất nhiều nhà nghiên cứu đã ứng dụng

Lâm Tuấn Anh - 1570202 3 chúng trong nhiều lĩnh vực khác nhau như dược thuật, giải trí, sinh học, … và các ứng dụng dự báo thời tiết Hình 1-1 minh hoạ mô típ trong một chuỗi thời gian

Hình 1-1: Mô típ trong một chu ỗ i d ữ li ệ u th ờ i gian , hình dạng gần giống nhau

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

Mục tiêu của đề tài là thay đổi thuật toán Mueen – Keogh [2] (viết tắt là MK) dùng để tìm kiếm mô típ bậc K trong Khung sườn rút trích luật dự báo của Shokoohi- Yekta bằng thuật toán EP_C|HAC được nêu ở phần mở đầu

Trong Khung sườn của thuật toán rút trích luật dự báo có ý nghĩa trong chuỗi thời gian, nhóm tác giả đề cập đến việc sử dụng thuật toán tìm kiếm Mô típ MK để tìm ra tập hợp các mô típ từ bậc nhất cho đến bậc K và duyệt trên các mô típ đó để tìm ra luật dự báo [3]

Tuy nhiên, thuật toán MK tìm kiếm các mô típ từ bậc nhất đến bậc K có thời gian thực thi tốn kém vì là một thuật toán tìm kiếm chính xác Đối với các tập dữ liệu thực tế, giá trị trong chuỗi thời gian thường biến thiên rất rõ rệt Chính vì thế phương pháp xấp xỉ dùng điểm cực trị quan trọng có khả năng mang lại kết quả chính xác, đồng thời rút ngắn thời gian thực thi của Khung sườn của thuật toán rút trích luật dự báo

Giới hạn của đề tài là đề tài chỉ thực hiện trên chuỗi thời gian đơn biến

Các kết quả đạt được

Sau khi hiện thực thuật toán trên các tập dữ liệu có kích thước khác nhau và tăng dần, kết quả thực nghiệm cho thấy trong hầu hết các tập dữ liệu, các luật tìm ra bởi thuật toán đề xuất cho kết quả khá tương đồng với thuật toán gốc Từ 80% - 100% các luật được rút ra khi sử dụng thuật toán đề xuất giống với thuận toán gốc với trên 50% thể hiện giống nhau Trong khi đó thời gian thực thi cuả thuật toán đề xuất nhanh hơn thuật toán gốc từ 8 đến 120 lần tuỳ tính chất biến thiên của tập dữ liệu.

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

Luận văn được phân thành 6 chương với nội dung chính như sau:

• Chương 1 của luận văn sẽ giới thiệu tổng thể về luận văn, cũng như cho độc giả một cái nhìn tổng quát về đề tài chúng tôi sẽ thực hiện

• Chương 2 chúng tôi nói về các cơ sở lý thuyết, chủ yếu tập trung vào việc giải thích các khái niệm và thuật ngữ có liên quan đến đề tài

• Chương 3 sẽ trình bày một cách vắn tắt các công trình liên quan đến đề tài

• Chương 4 là một chương trọng yếu khi diễn giải về các khái niệm có liên quan đến thuật toán chúng tôi sử dụng để thay thế thuật toán MK

• Chương 5 giải thích quá trình hiện thực cũng như kết quả thực nghiệm trên các tập dữ liệu khác nhau

• Chương 6 đưa ra kết luận của chúng tôi về đề tài này cũng như nói đến các hướng phát triển tiếp theo của đề tài

CƠ SỞ LÝ THUYẾT

Nguyên lý MDL

Theo bài báo hướng dẫn nhập môn Minimal Description Length, Grünwald cho rằng[4]:

Minimum Description Length (MDL) tạm dịch là Độ dài Miêu tả Tối thiểu là một phương pháp gần đây dành cho suy luận quy nạp để đưa ra một giải pháp tổng quát cho vấn đề lựa chọn mô hình như sau: Làm thế nào để quyết định chọn ra trong rất nhiều cách giải thích về một tập dữ liệu, nếu như việc khảo sát dữ liệu đó bị giới hạn?

Nguyên lý MDL dựa vào lập luận sau: Bất kì sự giống nhau nào trong dữ liệu đều có thể dùng để nén dữ liệu đó, nghĩa là để biểu diễn dữ liệu đó, cần dùng ít kí tự hơn là số kí tự dùng để biểu diễn một cách thuần tuý nguyên gốc Nếu coi việc “học hỏi” tương đồng với việc “tìm điểm giống nhau” hay “tìm điểm bình thường” của dữ liệu, ta có thể nói càng nén được nhiều dữ liêu, ta càng học nhiều hay hiểu rõ hơn về dữ liệu đó Việc biểu diễn một cách chính thống ý tưởng này dẫn đến một lý thuyết tổng quát về phương pháp suy luận quy nạp với nhiều tính chất nổi trội [4]:

Lưỡi dao của Occam từ lâu đã là kim chỉ nam cho việc phát triển các mô hình lý thuyết Nguyên lý này nói rằng: giữa các giả thuyết có thể chọn, ta nên chọn giả thuyết với ít giả định nhất

Tuy nhiên, người ta không bắt buộc phải theo lưỡi dao của Occam khi lựa chọn giữa các mô hình vì lưỡi dao Occam không phải là một kết quả khoa học hay một nguyên lý luận lý Đối với mỗi lý giải được chấp nhận về một hiện tượng, có hàng trăm triệu cách giải thích khác phức tạp hơn Người ta cũng có thể chọn giả thuyết đơn giản để có thể khó bị phản biện hay phủ định Do đó vậy việc chọn sự đơn giản là do các lý thuyết đơn giản có thể kiểm chứng dễ dàng hơn chứ không phải vì lưỡi dao Occam Một điều ngạc nhiên là lịch sử đã chứng minh sự phát huy của lưỡi dao Occam Một ví dụ cho điều đó là vào thế kỉ XVII con người có thể tính toán chính

Lâm Tuấn Anh - 1570202 6 xác vị trí của mặt trời, mặt trăng và các hành tinh trong hệ mặt trời bằng hai mô hình: địa tâm (geocentric) là mô hình mà Trái Đất là trung tâm và nhật tâm (heliocentric) là mô hình Mặt Trời là trung tâm Cả hai đều cho ra kết quả chính xác như nhau nhưng mô hình địa tâm phức tạp hơn rất nhiều so với mô hình nhật tâm Đây cũng là heuristic mà các nhà khoa học lớn như Albert Einstein, Euler, Max Planck,

Heisenberg, Broglie … dùng để định hướng cho việc phát triển mô hình cũng như các nguyên lý của mình

Quay lại vấn đề, nguyên lý MDL chọn ra mô hình mà mô hình đó sẽ đánh đổi sự chính xác của mô hình đối với dữ liệu quan sát được lấy tính tổng quát của mô hình

Như vậy, đây chính là một dạng lưỡi dao Occam, cạo đi những chi tiết không cần thiết để tìm ra mô hình đơn giản nhất mà vẫn giải thích được hiện tượng từ tập dữ liệu Chính vì thế nguyên lý MDL mang tính chất của lưỡi dao cạo Occam

2.1.1.2 Nguyên lý MDL không bị quá khít (quá chính xác)

Nguyên lý MDL tự động điều chỉnh để bảo vệ khỏi hiện tượng quá khít (overfitting) và có thể dùng để ước đoán cả thông số lẫn cấu trúc của một mô hình

2.1.1.3 Nguyên lý MDL có thể chuyển thành xác suất Bayes

Nguyên lý MDL rất gần với suy luận Bayes, tuy nhiên tránh được một số điểm phức tạp của hướng Bayes, đặc biệt trong trường hợp không có mô hình nào đang xét là đúng, do đó:

2.1.1.4 Nguyên lý MDL không cần sự tồn tại của sự thật ẩn bên trong dữ liệu

Khác với các phương pháp thống kê khác, MDL tạo ra một lời giải thích không lệ thuộc vào việc có tồn tại hay không một mô hình “đúng” bên dưới dữ liệu

2.1.1.5 Nguyên lý MDL có thể dùng để tiên đoán

Bởi vì việc nén dữ liệu tương đương với một dạng tiên đoán theo xác suất, phương pháp MDL có thể hiểu là đi tìm một mô hình có khả năng tiên đoán tốt đối với dữ liệu không có trong tập mẫu

2.1.2 Ý tưởng chính của nguyên lý MDL

Mục đích của suy luận thống kê (statistic inference) có thể xem như việc cố gắng tìm kiếm càng nhiều điểm “bình thường”(regularity) trong dữ liệu “Bình thường” ở đây có thể hiểu là “có thể nén được” và thường là giống nhau ở các điểm nào đó Nguyên lý MDL kết hợp hai điểm này lại bằng cách xem việc “học về dữ

Lâm Tuấn Anh - 1570202 7 liệu” như thể “nén dữ liệu” Nguyên lý nói rằng, cho một tập các giả thiết H và tập dữ liệu D, ta phải tìm ra giả thuyết hay tổ hợp các giả thiết trong H mà nó nén D nhiều nhất

2.1.3 Ví dụ đơn giản về MDL

Cho 3 chuỗi sau Chúng ta giả định rằng mỗi chuỗi dài 10000 bits và ta chỉ liệt kê phần bắt đầu cũng như kết thúc của mỗi chuỗi:

Chuỗi đầu tiên của cả ba chứa 2500 lần lặp lại của 0001 Ta có thể thấy chuỗi này có vẻ “bình thường” và có một quy luật bên dưới nó Ta nghiễm nhiên nghĩ rằng dữ liệu trong tương lai cũng tuân theo quy luật này và sẽ dùng luật đó để tiên đoán

Chuỗi B chính là giá trị tung đồng xu Dĩ nhiên, chuỗi này sẽ ngẫu nhiên hết sức có thể và không có sự “bình thường” nào trong nó

Chuỗi C chứa số lượng bit 0 nhiều gấp 4 lần số lượng bit 1 và vì vậy trông có vẻ ít “bình thường” hơn Chuỗi C ngẫu nhiên hơn chuỗi A và ít ngẫu nhiên hơn chuỗi B

Chuỗi thời gian và các khái niệm liên quan

Định nghĩa 1: Chuỗi Thời Gian, kí hiệu T=(t 1 , t 2 , …, t n ) là một tập có thứ tự của n số thực [2]

Thứ tự của tập thường lệ thuộc vào thời gian, tuy nhiên một số kiểu dữ liệu khác như sự phân bố của màu sắc, hình dạng và đồ thị các dải tần số cũng được định nghĩa rõ ràng về thứ tự và có thể được coi như là một chuỗi thời gian để tạo chỉ mục và khai phá Khoảng thời gian giữa những điểm của chuỗi thời gian cũng có thể không bằng nhau, tuy nhiên để đơn giản ta có thể xét chúng là bằng nhau mà vẫn không ảnh hưởng đến tính tổng quát Có một ví dụ đơn giản là T = (40, 05, 93, 18) chính là chuỗi thời gian thể hiện kết quả số xố kiến thiết của thành phố Hồ Chí Minh trong tháng 11 năm 2017

2.2.2 Khung cửa sổ trượt (Sliding Window)

B Chiu và các cộng sự [5] đặt ra một khái niệm để xử lí chuỗi thời gian dài bằng cách cắt thành những chuỗi thời gian con và đặt chúng trong một ma trận:

Cho trước một chuỗi thời gian T có độ dài m, và một chuỗi con chiều dài n, một ma trận S chứa tất cả các chuỗi con có thể xây dựng bằng cách trượt một khung cửa sổ có kích thước n dọc theo thời gian T và đặt các chuỗi con C p trong hàng thứ p của

S Ma trận S có độ lớn là (m – n + 1) x n Ví dụ:

A T G X A T A T G A T T A G (chuỗi con có độ dài 14) Khung cửa sổ trượt có độ dài 4

Ma trận S có kích thước 11 x 4 thu được khi trượt khung cửa sổ A T G X

Khái niệm này được tổng quát hoá ở định nghĩa về cơ sở dữ liệu chuỗi thời gian sau đây:

2.2.3 Cơ sở dữ liệu chuỗi thời gian (Time Series Database)

Trong thực tế, ta thường phải xét đến nhiều chuỗi thời gian một lúc và do đó cần định nghĩa về khái niệm cơ sở dữ liệu chuỗi thời gian Định nghĩa 2: Một Cơ Sở Dữ Liệu chuỗi thời gian (D) là một tập không có thứ tự chứa m chuỗi thời gian với độ dài tuỳ biến, nghĩa là chúng có thể chứa các chuỗi thời gian với độ dài khác nhau [2] Để cho đơn giản, ta lại giả thiết rằng tất cả các chuỗi thời gian đều có độ dài giống nhau và D sẽ chứa vừa trong bộ nhớ chính (RAM), như vậy có thể truy cập D mà không vướng phải khó khăn

Như vậy, D chính là một ma trận số thực và D i chính là dòng thứ i trong ma trận

D, cũng chính là chuỗi thời gian thứ i kí hiệu T i trong cơ sở dữ liệu D ij chính là giá trị tại thời điểm j của chuỗi thời gian T i Một cách trực quan, D sẽ giống như sau:

Cho số thực R (gọi là khoảng giới hạn của sự trùng khớp) và chuỗi thời gian

T chứa chuỗi con C bắt đầu tại vị trí p và chuỗi con M bắt đầu tại vị trí q, nếu như D(C,M) ≤ R thì M là chuỗi con trùng khớp của C [5] Trong Hình 2-1, M là một chuỗi con trùng khớp với C

Hình 2-1: Ví dụ trực quan về chu ỗ i th ờ i gian T , chu ỗ i con C và M là một chu ỗ i con trùng kh ớ p với C

2.2.5 Trùng khớp tầm thường (Trivial Match)

Cho chuỗi thời gian T, chứa chuỗi con C bắt đầu tại vị trí p và một chuỗi con trùng khớp của C là M bắt đầu tại q, M trùng khớp tầm thường với C nếu như p = q

Lâm Tuấn Anh - 1570202 10 hoặc không tồn tại chuỗi con M’ bắt đầu tại q’ mà D(C, M’) > R và q < q’ < p hoặc là p < q’ < q Hình 2-2 thể hiện một cách trực quan các chuỗi trùng khớp tầm thường của một chuỗi thời gian C

Hình 2-2: Đối với mỗi chu ỗ i con C trong m ộ t chu ỗ i th ờ i gian , chuỗi giống nhất chính là chuỗi trùng kh ớ p t ầ m th ườ ng nằm ngay bên cạnh trái và phải của C

Từ đây, ta có thể định nghĩa mô típ b ậ c K của m ộ t chu ỗ i th ờ i gian như sau:

2.2.6 Mô típ bậc K (kí hiệu K-Motif(n, R))

Cho một chuỗi thời gian T, một chuỗi con có độ dài n và một quãng giới hạn

R, mô típ bậc nhất (có ý nghĩa nhất, kí hiệu là 1-Motif(n,R)) là chuỗi con C 1 có số trường hợp trùng khớp quan trọng (nghĩa đen là trùng khớp không tầm thường – non- trivial match) đếm được cao nhất (nếu bằng nhau thì chọn mô típ có phương sai bé hơn) Mô típ bậc K trong T (kí hiệu là K-Motif(n, R)) là chuỗi con C k mà có số trường hợp trùng khớp quan trọng đếm được lớn nhất và thoả điều kiện sau:

Lưu ý, định nghĩa này bắt buộc tập của các chuỗi con trong mỗi mô típ phải không phủ lấy lên nhau Điều này rất quan trọng vì nếu không có tính chất này, hai mô típ có thể có chung phần lớn các thể hiện tạo thành chúng và do đó có thể chính là cùng một mô típ

Hình 2-3 A giải thích nguyên do mà định nghĩa K-Mô típ yêu cầu mỗi mô típ phải cách nhau ít nhất một khoảng bằng 2R Nếu các mô típ chỉ cần cách nhau một khoảng

R như hình 2-3 A thì hai mô típ có thể phủ lấy nhau Ngược lại, hình 2-3 B minh hoạ điều kiện khoảng cách giữa hai mô típ phải lớn hơn hoặc bằng 2R đảm bảo các mô típ sẽ độc lập với nhau

Hình 2-3 Minh hoạ giải thích lý do định nghĩa K-mô típ yêu cầu mỗi mô típ phải cách nhau ít nhất một khoảng 2R

2.2.7 Mô típ bậc K với độ sai lệch d (kí hiệu K-Motif(n, R, d))

Mô típ bậc K với độ sai lệch d trong T là một chuỗi con C k mà số lượng chuỗi trùng khớp quan trọng đếm được cao nhất và thoả mãn điều kiện D(C k , C i ) > 2R và d chính là số điểm dữ liệu (có thể không liên tục) được phép loại bỏ khi tính khoảng cách giữa C k , C i với mọi 1≤ i < K Tổng quát hoá ta có d best-so-far với mọi 1≤ j ≤ m-w và w>offset

Nói cách khác; với một biến offset nguyên dương và với j=1,2 ,m-offset nếu{D I(j) ,D I(j+offset) } có các cận dưới lớn hơn best-so-far thì với mọi số nguyên dương w>offset và với mọi j=1,2, ,m-w, {D I(j) ,D I(j+w) } cũng sẽ có cận dưới lớn hơn best-so- far Điều này được suy ra từ định nghĩa của I: d(ref,D I(j) ) ≤ d(ref,D I(j+offset) ) ≤ d(ref,D I(j+w) ) chuyển vế cả hai bên, d(ref,D I(j+offset) ) - d(ref,D I(j) ) ≤ d(ref,D I(j+w) ) - d(ref,D I(j) ).

Như vậy nếu bên trái lớn hơn best-so-far thì bên phải cũng như thế

Bổ đề 2: Nếu offset=1,2, ,m-1 và j=1,2, ,m-offset thì {D I(j) , D I(j+offset) } sinh ra tất cả /(/e,)

Nếu chúng ta tìm kiếm trong cơ sở dữ liệu D cho toàn bộ offset mà hai chuỗi trong D có thể cách nhau một khoảng đó, chúng ta sẽ xét hết toàn bộ các cặp có thể Vì I không lặp lại nên {D I(j) , D I(j+offset) } sẽ sinh ra các cặp không lặp lại Ứng dụng 2 điều trên, ta xây dựng một thuật toán tìm kiếm như sau: thuật toán bắt đầu với offset = 1và tìm kiếm các cặp cách nhau 1 khoảng offset Sau khi tìm kiếm xong, thuật toán tăng offset và tìm kiếm lại Thuật toán tiếp tục lặp lại như trên cho đến khi tìm được một offset mà không có cặp nào cách nhau một khoảng offset đó mà cận dưới lớn hơn best-so-far Lúc đó thuật toán dừng lại Dòng 8 đến dòng 12 của đoạn mã giả bên dưới thể hiện điều trên Ta cũng thấy trong trường hợp xấu nhất, thuật toán có độ phức tạp O(m 2 ) và trở thành vét cạn

Nguyên toàn bộ thuật toán tìm kiếm sẽ như trong Bảng 3-1:

Bảng 3-1: Cải tiến thuật toán Vét cạn để tìm mô típ

Từ dòng 1 đến dòng 6 chính là hiện thực ánh xạ về 1 chiều, tính khoảng cách và cập nhật biến best-so-far cùng các khoảng cách Dòng 7 tính ma trận chỉ mục I

Dòng 12 xét cận dưới bằng cách thực hiện phép trừ trong bất đẳng thức tam giác

Dòng 14 nếu cận dưới nhỏ hơn thì tính giá trị khoảng cách đúng và cập nhật biến best-so-far còn nếu lớn hơn thì lướt qua

Sau cùng, bài báo tổng quát hoá lên việc tìm kiếm mô típ với nhiều điểm mốc như trong Bảng 3-2:

Bảng 3-2: Thuật toán tìm kiếm Mô típ MK với nhiều điểm mốc

Cách làm này cơ bản là tính nhiều điểm mốc nên ma trận Dist mở rộng thành 2 chiều lưu khoảng cách đến tất cả các điểm mốc và tăng số lượng chỉ mục lên thành 2 mảng.

Rút trích luật có ý nghĩa trong chuỗi thời gian

Công trình “Discovery of Meaningful Rules in Time Series” của M.Yekta và các cộng sự [3] cho phép tìm kiếm luật trong chuỗi thời gian với giá trị thực Lấy cảm hứng từ nguyên lý MDL, bài báo xét một chuỗi con tiềm năng làm chuỗi giả thuyết H sau đó so sánh với một chuỗi trong tương lai Để lưu lại chuỗi trong tương lai theo

Lâm Tuấn Anh - 1570202 28 chuỗi giả thuyết H cần tốn kém một số bit, kí hiệu là DL (Description Length) Nếu như chuỗi thời gian đơn giản chỉ là một mảng số nguyên thì [3]:

Hình 3-10: Chuỗi dữ liệu màu xanh là chuỗi giả thuyết H có thể dùng để tính điểm của các chuỗi khác bằng cách trừ chúng với nhau và mã hoá hiệu đó bằng mã

Huffman Ở đây chuỗi xanh dương tốn 57 bit còn chuỗi đỏ tốn 84 bit

Số bit tiết kiệm được đối với chuỗi con ứng viên m và giả thuyết H là:

Tổng số bit tiết kiệm được cho tập hợp M chứa nhiều chuỗi con ứng viên là:

Hình 3-10 minh hoạ về số bit tiết kiệm khi sử dụng chuỗi thời gian giả thuyết H để nén các chuỗi thời gian khác

Chương trình con Tìm Luật Tốt Nhất sẽ duyệt qua tất cả các luật có thể tạo ra từ chuỗi, tính điểm chia, trả về một tiền đề và một kết quả sẽ xảy ra và điểm cho luật đó:

Bảng 3-3: Thuật toán tìm luật tốt nhất

Dòng 1 tới 4, thuật toán duyệt qua hết tất cả các điểm ngắt có thể để tìm ra một ứng viên chuỗi con thời gian R và tính điểm tốt nhất dựa vào Bảng 3-4 Ở đây biến splitPoint là điểm ngắt dùng để chia chuỗi thời gian thành 2 phần: tiền đề và kết quả Khi tiền đề xuất hiện thì nhiều khả năng kết quả sẽ xảy ra với số điểm là c

Dòng 5 chúng ta tìm điểm chất lượng tốt nhất của s

Từ dòng 6 đến 8 chúng ta truy ngược để tìm điểm tách mà tại đó điểm đánh giá chất lượng của luật là cao nhất và tách R thành tiền đề và kết quả Thuật toán trả về tiền đề, kết quả và điểm chất lượng của luật Để tìm điểm số tốt nhất cho luật, bài báo làm như sau: với mỗi tiền đề có thể tìm thấy trong R, chúng ta tìm các vị trí trong chuỗi thời gian gốc mà luật ứng với tiền đề đó có thể xảy ra Với mỗi lần như thế, |c| điểm dữ liệu tiếp theo (c là kí hiệu cho kết quả rút ra từ thuật toán ở Bảng 3-3) theo sau tiền đề vớ sẽ được xem như là chuỗi tiên đoán và thuật toán sẽ tính số lượng bit có thể tiết kiệm khi ứng dụng nguyên lý MDL nêu trên để nén Càng nén được nhiều thì dự đoán càng chính xác Tổng của tất cả số bit tiết kiệm được trên toàn bộ chuỗi thời gian T với ứng viên R chính là điểm chất lượng của R

Bảng 3-4: Thuật toán tìm số lượng bit tiết kiệm được với ứng viên R và điểm tách sp

Dòng đầu tìm các chuỗi con trong T giống với tiền đề được chọn, dòng 2 sẽ tìm một giới hạn cho khoảng cách dẫn đến giá trị điểm chất lượng của R lớn nhất Cuối cùng tính tổng số bit tiết kiệm được khi sử dụng chuỗi ứng viên R cùng các tiền đề, kết quả trên

Chúng ta sẽ tìm một tập các chuỗi con giống với tiền đề nhất sử dụng thuật toán trong Bảng 3-5 Dĩ nhiên phần tử đầu của tập chính là tiền đề, phần tử tiếp theo sẽ có khoảng cách với tiền đề lớn 0 nhưng là bé nhất và tương tự như vậy

Bảng 3-5: Thuật toán tìm một tập các chuỗi con trong T giống với tiền đề

Dòng 1, 2 ta tìm tiền đề của luật R Dòng 3 ta dịch tiền đề dọc theo chuỗi thời gian

T và tính khoảng cách Euclid cho các chuỗi con có cùng độ dài Dòng 4 tìm cực tiểu lân cận và sắp xếp dựa theo độ lớn của khoảng cách (bỏ qua trùng khớp tầm thường)

Dòng 5 tìm vị trí của các chuỗi con trên và chúng cũng chính là ứng viên giống với tiền đề cần tìm

Số lượng ứng viên giống với tiền đề phụ thuộc vào ngưỡng (threshold) chúng ta đặt ra cho sự khác nhau về khoảng cách Tuy nhiên chúng ta chưa biết được giá trị nào là tốt nhất Do đó chúng ta phải thử các gía trị khác nhau của chúng bằng thuật toán trong Bảng 3-6 sau:

Bảng 3-6: Thuật toán dùng để lọc lại danh sách các ứng viên tiền đề để đưa ra danh sách tốt nhất

Dòng 3 đến 6, chúng ta duyệt qua số lượng các ứng viên và mỗi lần như vậy tính số bit tiết kiệm được Nếu như số bit tiết kiệm được giảm thì thuật toán sẽ kết thúc Ở đây áp dụng hướng tham lam để giảm bớt tính toán

Dòng 7 tính tổng số bit tiết kiệm được và dòng 8 tìm ra các ứng viên tiền đề vượt qua vòng sát hạch trên Để tính số bit tiết kiệm được, bài báo dùng thuật toán trong Bảng 3-7:

Bảng 3-7: Thuật toán tìm số bit tiết kiệm được

Dòng 1-2 thuật toán tìm kết quả của luật R Dòng 3, thuật toán rời rạc hoá chuỗi thành các giá trị nguyên khác nhau và z-normalize chúng Dòng 6 tách tiền đề ra khỏi luật R để chuẩn bị cho tính toán Dòng 7 đến 10, đối với mỗi ứng viên giống tiền đề chúng ta tìm kết quả trong T Dòng 11, thuật toán rời rạc hoá và z-normalize các chuỗi kết quả vừa tìm được Dòng 12 tính lượng bit cần để mã hoá bằng mã Huffman Dòng 13 dùng kết quả luật R để tính lượng bit tiết kiệm được Dòng 14 và 15 tính tổng lượng bit tiết kiệm được trên danh sách các ứng viên giống tiền đề

Thuật toán tổng kết để tìm mô típ trong một chuỗi thời gian trong Bảng 3-8:

Bảng 3-8: Thuật toán tìm kiếm luật trong chuỗi thời gian

Trong đó đầu vào của thuật toán là chuỗi thời gian T và độ dài L của luật, thuật toán sẽ trả về các luật tìm được và chọn ra luật tốt nhất

Dòng 3 tới 8 duyệt qua các mô típ để tìm ra luật tốt nhất Ở dòng 4, thuật toán gọi chương trình con thuật toán MK để phát hiện mô típ bậc K Tuy nhiên ở bài báo gốc thuật toán MK chỉ tìm được mô típ bậc nhất.

Các công trình tham khảo khác

Bài báo “A stock recommendation system exploiting rule discovery in stock databases” của Min Ha và các cộng sự [12] ứng dụng phát hiện luật vào dữ liệu chứng khoán Bài báo này đưa ra một định nghĩa luật hơi biến đổi:

H và B kí hiệu cho đầu (head) và thân của một luật Luật này dự báo B sẽ xảy ra sau khoảng thời gian t từ lúc H xuất hiện Trong ứng dụng chứng khoán, B là một sự kiện gắn liền với tính chất của cổ phiếu như tăng, giảm RH-Start và RH-End lần lượt là kí hiệu thời điểm mà đầu luật xuất hiện và kết thúc

Tương tự cho RB-Start và RB-End đối với thân luật Hình 3-11 minh hoạ cho một luật dự báo trong ứng dụng chứng khoán

Hình 3-11: Minh hoạ luật dự báo trong ứng dụng chứng khoán

Kí hiệu s trong luật nghĩa là độ hỗ trợ (support) chính là số lần xuất hiện của mẫu

P tương ứng với đầu luật H trong dữ liệu lịch sử chứng khoán

Kí hiệu c chính là độ tin cậy (confidence) là số lần mà các chuỗi con trong chuỗi thời gian cần xét khi khớp với đầu luật H thì thân cũng khớp với thân B Để rút trích luật cho dữ liệu chuỗi thời gian chứng khoán, nhóm tác giả sử dụng giải thuật Apriori

Rakthanmanon và cộng sự đưa ra một hướng ứng dụng của MDL trong bài báo MDL-based time series clustering [13] Nguyên lí của nó có thể được hiểu qua ví dụ sau:

Cho một chuỗi D sau gồm các biến thể của tên David và Peter, mỗi tên ba biến thể:

David enjoyed Peter who identified Davud son of Petar friend to Dovid and Peder, to do what… Để giống chuỗi thời gian hơn, ta xoá bỏ khoảng trắng và dấu câu: davidenjoyedpeterwhoidentifieddavudsonofpetarfriendtodovidandpedertodowhat

Chuỗi này tốn DL(D) (DL là độ dài miêu tả tương tự như các phần trên) bit để biểu diễn dưới dạng nhị phân Ta có thể ứng dụng nguyên lý MDL để tìm ra kiến trúc giống nhau nằm bên trong nó Ví dụ khi ta thấy chữ david lặp lại nhiều lần ta có thể đưa ra giả thuyết H để nén chuỗi lại:

Số bit cần để nén chuỗi đã giảm do ta đã tách phần giống nhau ra lưu vào từ điển, tuy nhiên vẫn cần một lượng nhỏ bit để lưu con trỏ đến vị trí của chữ david

Tiếp theo, ta thêm vào giả thuyết H chuỗi peter :

Lại thấy độ dài miêu tả của chuỗi giảm chứng tỏ ta đã đi đúng hướng

Sau đó ta lại thêm một giả thuyết khác là ono nhưng giả thuyết này chỉ xuất hiện 2 lần tại sonof và todo nên độ dài miêu tả của chuỗi không những giảm mà còn tăng lên Thử tương tự với các chuỗi giả thuyết khác, cuối cùng ta kết luận H2 = {1:david 2:peter} chính là mô hình tốt nhất để diễn tả dữ liệu D

Như vậy bằng cách áp dụng nguyên lý MDL, ta đã tìm được giả thuyết của dữ liệu.

Tổng kết

Trong các công trình trên, chúng tôi sẽ thực hiện luận văn dựa trên khung sườn rút trích luật dự báo được nêu trong công trình “Discovery of Meaningful Rules in Time Series” của M.Yekta và các cộng sự ở mục 3.3 Và chỉnh sửa khung sườn đó bằng cách sử dụng thuật toán khác để tìm kiếm mô típ thay cho thuật toán gốc MK

PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ

Điểm cực trị quan trọng (Important Extreme Points)

Kevin B.Pratt và Eugene Fink đã đưa ra kỹ thuật nén một chuỗi dữ liệu dựa bằng cách chọn ra những điểm cực đại và cực tiểu, gọi chung là điểm cực trị quan trọng [17] Hình 4-1 minh hoạ các điểm cực trị quan trọng

Hình 4-1 Minh hoạ về một chuỗi thời gian với những điểm cực trị quan trọng được khoanh tròn

Trong một chuỗi thời gian của một tập dữ liệu thực, do nhiễu môi trường được tạo ra bởi thiết bị ghi lại chuỗi dữ liệu thời gian hoặc các yếu tố khách quan khác, ta có thể tìm thấy rất nhiều điểm cực trị lân cận

4.1.1 Điểm cực tiểu quan trọng

Một chuỗi thời gian đơn biến T có điểm cực tiểu quan trọng tại vị trí m với 1 aiMax then iMax = i i = i + 1 if iMin < iMax then output (aiMin , iMin); output (aiMax , iMax) else output (aiMax , iMax); output (aiMin , iMin) return i

FIND_MINIMUM(i) | iMin = i while i < n and ai/aiMin < R do if ai < aiMin then iMin = i i = i + 1 output (aiMin ; iMin) return i

FIND_MAXIMUM(i) | iMax = i while i < n and aiMax /ai < R do if ai > aiMax then iMax = i i = i + 1 output (aiMax ; iMax) return i

Nhiệm vụ của các chương trình con như sau:

FIND_FIRST_TWO tìm hai điểm cực trị quan trọng đầu tiên của chuỗi dữ liệu

FIND_MINIMUM(i) tìm điểm cực tiểu quan trọng bắt đầu ở vị trí thứ i

FIND_MAXIMUM(i) tìm điểm cực đại quan trọng bắt đầu ở vị trí thứ i

Giải thuật tìm những điểm cực đại và cực tiểu quan trọng hiện thực trong thời gian tuyến tính và bộ nhớ cần dùng là hằng số Thủ tục này chỉ xử lý những điểm mà nó xem xét, không cần lưu lại những giá trị trước đó, đồng thời cũng không cần phải đợi cho đến khi kết thúc chuỗi dữ liệu.

Nhận diện mô típ dựa vào Điểm cực trị quan trọng và Gom cụm phân cấp

Gruber và các cộng sự đã tìm ra được các ứng viên mô típ [18] bằng cách tìm các điểm cực trị quan trọng để phân đoạn chuỗi thời gian thành các chuỗi con Các chuỗi con này sẽ bắt đầu bằng một điểm cực trị quan trọng và kết thúc bằng điểm cực trị quan trọng cách điểm bắt đầu 1 điểm cực trị quan trọng Nghĩa là nếu có một danh

Lâm Tuấn Anh - 1570202 39 sách các điểm cực trị quan trọng kí hiệu là EP thì từ vị trí EP(i) đến vị trí EP(i+2) chính là một chuỗi con ứng viên mô típ

Nếu độ dài của các chuỗi ứng viên trên khác nhau thì sẽ chúng sẽ được lấy mẫu lại dựa trên phép nội suy spline

Sau đó, các tác giả sử dụng phương pháp gom cụm phân cấp để chia các chuỗi con ứng viên mô típ trên thành các cụm ứng viên mô típ với khoảng cách được tính bằng hàm đo khoảng cách có ràng (Constrained Distance Measure)

4.2.1 Độ đo khoảng cách có ràng buộc Đối với việc phân cụm để tìm mô típ, cách tính khoảng cách có ý nghĩa vô cùng quan trọng trong kết quả của quá trình phân cụm Độ đo thông dụng Euclid và độ đo xoắn thời gian động DWT thường nhạy cảm với biên độ của hai chuỗi dữ liệu, mà ở đây sau khi dùng phép biến hình vị tự để lấy mẫu, hiện tượng lệch biên độ sẽ xảy ra

Chính vì thế nhóm tác giả trên đã đưa ra độ đo sau:

Cho hai chuỗi dữ liệu thời gian 𝑇 = (𝑡 , , 𝑡 - … , 𝑡 7 ) và 𝑄 = (𝑞 , , 𝑞 - … , 𝑞 7 ) cùng có chiều dài N Độ đo cực tiểu 𝑑 /B7 (𝑇, 𝑄) của T và Q được cho bởi :

Các giá trị a min , a max và b min , b max được định nghĩa bởi người dùng

Trong trường hợp hai, 𝑎 = 1 và 𝑏 = 0 độ đo sẽ suy giảm trở thành độ đo Euclide và 𝑑 /B7 (𝑇, 𝑄) = 0 nếu hai chuỗi thời gian T và Q giống hệt nhau Rõ ràng công thức trên không có tính đối xứng, nghĩa là 𝑑 /B7 (𝑇, 𝑄) ≠ 𝑑 /B7 (𝑇, 𝑄)

Từ công thức trên, tác giả định nghĩa độ đo tương tự hai chuỗi thời gian T và Q như sau:

Công thức trên phụ thuộc vào chiều dài của T và Q Chuẩn hóa công thức trên ta có công thức sau:

Lâm Tuấn Anh - 1570202 40 Để ý rằng 𝐷 7hz/ EF không thỏa mãn bất đẳng thức tam giác

Do việc lựa chọn các điểm cực trị quan trọng phụ thuộc vào tính chất của chuỗi thời gian mà hai chuỗi dữ liệu T và Q sẽ thường không có cùng chiều dài Do đó để áp dụng công thức trên, chúng ta phải biến đổi hai chuỗi về cùng một chiều dài quy ước Phương pháp biến đổi được thực hiện như sau:

Cho hai chuỗi T = (T 1 T N ) và Q = (Q 1 … Q M ) với M>N Khi đó chuỗi có chiều dài lớn hơn Q sẽ được lấy mẫu lại để có cùng chiều dài với T bằng phương pháp nội suy spline (spline interpolation technique) Độ đo tương tự của T và Q được cho bởi công thức sau :

𝐷 z{| EF (𝑇, 𝑄) = 𝐷 7hz/ EF (𝑇, 𝑄𝑟𝑒𝑠𝑎𝑚𝑝𝑙𝑒𝑑) (4.4) Cụ thể, chúng tôi sử dụng phương pháp nội suy spline bậc nhất để lấy mẫu lại chuỗi Q Giải thuật lấy mẫu lại như sau:

Trong khi chiều dài Q vẫn còn lớn hơn T thì làm các bước sau:

Q[i] = (Q[i] + Q[i+1] ) /2 nếu i < length(Q) length(Q) = length(Q)-1 Ý tưởng chính của giải thuật này là lặp lại việc lấy giá trị trung điểm của Q cho đến khi chiều dài bằng với chuỗi T Sau mỗi lần lặp, chiều dài của Q sẽ giảm đi 1

4.2.2 Tìm ứng viên mô típ

Phương pháp này tìm ra các điểm cực trị quan trọng của chuỗi thời gian T, kí hiệu là EP(T) Mô típ ứng viên MC i (T) với i=1,….l-2 là những chuỗi con của T nằm giữa hai điểm cực trị EP i và EP i+2 Tham số MAX_MOTIF_LENGTH do người dùng định nghĩa thể hiện chiều dài tối đa của mô típ cần tìm Khi chiều dài của ứng viên mô típ lớn hơn tham số này, mô típ sẽ được lấy mẫu lại nhờ phương pháp nội suy Kết quả của thuật toán là một chuỗi các ứng viên mô típ:

MCS(T) = ( MC 1 (T), MC 2 (T)… MC l-2 (T) ) của một chuỗi thời gian đơn biến

Sau đây là phần trình bày mã giả của thuật toán trên:

4 maxLength = MAX MOTIF LENGTH ; 5 for i = 1 to (length (EP)−2) do

7 | if length (motifCandidate)> maxLength then 8 | | addMotifCandidate (resample(motifCandidate, maxLength));

4.2.3 Giải thuật gom cụm phân cấp theo hướng từ dưới lên (Hierarchical Bottom-Up Algorithm)

Sau khi trích lược các ứng viên mô típ bằng cách lấy mẫu lại các chuỗi con tạo ra từ các điểm cực trị quan trọng, ta được một tập các ứng viên mô típ MCS = {MCS(T 1 ),… MCS(T k )} Sau đó, giải thuật sẽ phân loại các ứng viên mô típ bằng giải thuật gom cụm phân cấp từ dưới lên như sau:

3 while size (C) > u do 4 | [Ci, Cj ]=getMostSimilarClusters ();

Trái ngược với phương pháp gom cụm phân cấp từ dưới lên là gom cụm phân cấp từ trên xuống Phương pháp này đi theo chiến lược từ trên xuống bằng cách khởi đầu, ta cho tất cả các đối tượng dữ liệu thuộc về một cụm Sau đó, ta tách cụm dữ liệu này ra thành các cụm dữ liệu nhỏ hơn, quá trình này cứ tiếp tục cho đến khi các đối tượng dữ liệu là một cụm hoặc thỏa điều kiện dừng (ví dụ: số cụm cần gom…)

Hình 4-4 mô tả cả hai giải thuật gom cụm phân cấp: từ dưới lên (đi từ trái qua phải) và từ trên xuống (đi từ phải qua trái)

Hình 4-4 Giải thuật gom cụm phân cấp từ dưới lên và trên xuống HAC

Sau khi giải thuật gom cụm thực hiện xong, số phần tử trong cụm đông nhất chính là các thể hiện (instance) của mô típ

4.2.4 Giải thuật gom cụm K-Means

Chúng ta cũng có thể gom cụm ứng viên mô típ bằng giải thuật K-Means như sau:

Thuật toán K-Means gom cụm các chuỗi thời gian 1 Chọn một giá trị k, với k là số cụm cần gom cụm các chuỗi thời gian

2 Tạo ngẫu nhiên k trung tâm cụm bằng cách chọn k giá trị trong dữ liệu đại diện trong tập các chuỗi thời gian

3 Áp dụng hàm tính toán trên N đối tượng chuỗi thời gian trong tập dữ liệu để đưa chúng vào cụm gần nhất

4 Nếu N đối tượng chuỗi thời gian trong vòng lặp sau cùng không làm thay đổi trung tâm cụm, dừng thuật toán, ngược lại, quay lại bước 3

HIỆN THỰC VÀ THỬ NGHIỆM

Hợp nhất các điểm cực trị quan trọng

Nhận thấy các điểm cực trị quan trọng có chiều dài quá ngắn so với chiều dài mô típ tối đa cần tìm thì sau khi lấy mẫu lại cũng sẽ gây mất chính xác cho thuật toán tìm mô típ nên chúng tôi đưa ra giải pháp sau:

Sau khi tìm ra các điểm cực trị quan trọng, chúng tôi sẽ hợp nhất các điểm liên tiếp lại nếu như tổng khoảng cách của các điểm đó bé hơn MAX_MOTIF_LENGTH

Hình 5-1 Các điểm cực trị quan trọng trước khi hợp nhất, max_motif_length = 150

Hình 5-2 Các điểm cực trị quan trọng sau khi hợp nhất, max_motif_length = 150

Việc hợp nhất này giúp giảm đáng kể số lượng các chuỗi ứng viên mô típ như được minh hoạ ở Hình 5-1 và 5-2 Quá trình hợp nhất là cần thiết để giúp cho thuật toán thực thi được nhanh hơn và chính xác.

Lấy mẫu các ứng viên bằng phương pháp Nội suy tuyến tính

Phương pháp nội suy tuyến tính sẽ dùng tỉ lệ R giữa chiều dài gốc của chuỗi và chiều dài cần lấy mẫu lại, từ đó suy ra được vị trí tương ứng của các điểm trong chuỗi lấy mẫu dựa vào các điểm trong chuỗi gốc Phương pháp sẽ lấy 2 điểm gần nhất trong chuỗi gốc so với chuỗi cần lấy mẫu rồi tính theo tỉ lệ tuyến tính của đường thẳng đi qua hai điểm đó Vị trí điểm mới sẽ bằng

Phương pháp này có ưu điểm về tốc độ nhưng trong một số trường hợp sẽ làm thay đổi hình dạng của chuỗi thời gian có thể thấy ở minh hoạ trong Hình 5-3 và Hình 5-4 sau đây:

Hình 5-3 Chuỗi thời gian lấy mẫu bằng phép nội suy tuyến tính

Hình 5-4 Chuỗi thời gian gốc

Phép nội suy này có thể không gây ảnh hưởng lớn đến quá trình tìm kiếm luật do thay đổi thường nằm ở phần đuôi chuỗi thời gian và thuật toán tìm kiếm luật dự báo sẽ hoạt động dựa vào chuỗi con gốc chứ không phải là chuỗi đại diện bằng cách lấy mẫu nhưng rõ ràng chúng ta thấy chuỗi con mất đi hình dạng ban đầu khi dùng phép nội suy tuyến tính Do đó chúng tôi sẽ sử dụng phương pháp sau để lấy mẫu lại chuỗi con ứng viên mô típ.

Lấy mẫu các ứng viên bằng Phép biến hình vị tự

Để giữ nguyên hình dạng của chuỗi con ứng viên, chúng tôi sử dụng phép biến hình vị tự Phép vị tự (Homothetic Transformation) là một phép biến hình trong không gian affine

Cho một điểm O và một số k ≠ 0 Một phép biến đổi điểm M thành M’ sao cho 𝑂𝑀′••••••••⃗ = 𝑘 𝑂𝑀••••••⃗ được gọi là phép vị tự tâm O với tỷ số k Hình 5-5 mô tả một phép vị tự tâm O với tỷ số vị tự k=1/2 Qua phép vị tự này, tam giác MNP trở thành tam giác

Hình 5-5: Minh họa phép vị tự tâm O, hệ số vị tự k =1/2 Đặc điểm của phép vị tự:

• Ảnh của 3 điểm thẳng là 3 điểm thẳng hàng

• Ảnh của hình tròn là hình tròn với bán kính R’=k.R

• Ảnh của đoạn thẳng AB là đoạn thẳng A’B’= k.AB

Hình 5-6 Chuỗi thời gian sau khi sử dụng phép biến hình vị tự

Hình 5-7 Chuỗi thời gian gốc

Nhìn vào Hình 5-6 và Hình 5-7 trên, chúng tôi thấy rằng phép vị tự không bảo toàn về kích thước nhưng lại bảo toàn về hình dạng của đường cong ban đầu

Dựa vào đặc điểm trên, chúng tôi đã ứng dụng phép vị tự để lấy mẫu lại các ứng viên mô típ

5.3.2 Giải thuật phép biến hình vị tự

Các ứng viên mô típ của chúng ta sẽ bắt đầu từ điểm cực đại (hay cực tiểu) và kết thúc bằng điểm cực đại (hay cực tiểu) tiếp theo Như thế chúng ta sẽ dễ dàng tìm được hình chữ nhật bao quanh ứng viên mô típ này Tâm của phép vị tự sẽ là tâm của hình chữ nhật bao này Hệ số vị tự sẽ là tỷ số giữa chiều dài mong muốn với chiều dài thực của ứng viên mô típ

Giải thuật tìm các mô típ đại diện bằng phép biến hình của ứng viên mô típ có chiều dài N: T={Y 1 … Y n } thành T’ có chiều dài N’

2 Tìm kiếm tâm I của phép biến hình vị tự:

3 Thực hiện phép biến hình vị tự với tâm I, hệ số vị tự k=N’/N

Mô hình hiện thực phương pháp rút trích luật dự báo sử dụng thuật toán phát hiện mô típ EP_C|HAC

Hình 5-8 Mô hình thuật toán EP_C|HAC

Chuỗi thời gian cần rút trích luật dự báo

Tìm các điểm cực trị quan trọng

Hợp nhất các điểm gần nhau

Tập các ứng viên mô típ có độ dài khác nhau

Lấy mẫu về cùng độ dài

Danh sách các mô típ bậc 1 đến n

Rút trích luật dự báo

Hình 5-8 cho thấy mô hình của toàn bộ giải thuật, trong đó thuât toán sẽ tìm ra các điểm cực trị quan trọng từ chuỗi thời gian cần rút trích luật dự báo Từ các điểm này, thuật toán sẽ hợp nhất các điểm gần nhau để giảm số lượng các điểm Mỗi ba điểm liền kề nhau trong tập các điểm còn lại sẽ tạo thành một chuỗi con các ứng viên mô típ Các chuỗi con này sẽ được lấy mẫu về cùng độ dài rồi phân cụm HAC

Từ các cụm phân được, thuật toán sẽ chọn ra mô típ đại diện cho mỗi cụm theo thứ bậc tăng dần Các mô típ này sẽ đi qua khung sườn rút trích luật dự báo để tìm ra luật.

Kết quả thực hiện của hai giải thuật

Dữ liệu này có kích thước 3000 điểm, được minh hoạ ở Hình 5-9

Hình 5-9 Đồ thị của tập dữ liệu 40DayTrain

Thời gian chạy trung bình: 0,636s Bậc mô típ: 5

Các luật phát hiện bằng giải thuật gốc được minh hoạ trong ba hình sau: Hình 5-10, Hình 5-11 và Hình 5-12 Chuỗi thời gian bên phải của ba hình sau chính là tiền đề và chuỗi bên trái chính là kết quả

Hình 5-10 Luật 1 trong tập dữ liệu 40DayTrain với mô típ bậc 5 chạy giải thuật gốc

Các luật ở Hình 5-11 và 5-12 được phát hiện nhưng bị loại bỏ do lượng bit save không đáng kể:

Hình 5-11 Luật 2 (loại) trong tập dữ liệu 40DayTrain với mô típ bậc 5 chạy giải thuật gốc

Hình 5-12 Luật 3 (loại) trong tập dữ liệu 40DayTrain với mô típ bậc 5 chạy giải thuật gốc

Thời gian chạy trung bình: 0,053s Bậc mô típ: 5

Chiều dài luật: 150 Các thông số của giải thuật EP_C|HAC

Thông số Giá trị Ý nghĩa

R 1.05 Hệ số nén trong việc tìm điểm cực trị quan trọng

MAX_MOTIF_LENGTH 150 Chiều dài tối đa của mô típ

CLUSTER_NUMBER 10 Số cụm được gom nhóm

Các luật phát hiện bằng giải thuật đề xuất được minh hoạ trong ba hình sau:

Hình 5-13, Hình 5-14 và Hình 5-15 Chuỗi thời gian bên phải của ba hình sau chính là tiền đề và chuỗi bên trái chính là kết quả

Hình 5-13 Luật 1 trong tập dữ liệu 40DayTrain với mô típ bậc 5 chạy giải thuật

Hình 5-14 Luật 2 trong tập dữ liệu 40DayTrain với mô típ bậc 5 chạy giải thuật

Luật sau phát hiện nhưng bị loại bỏ do lượng bit save không đáng kể:

Hình 5-15 Luật 3 (loại) trong tập dữ liệu 40daytrain với mô típ bậc 5 chạy giải thuật

5.5.1.1 Kết luận cho bộ dữ liệu 40DayTrain

Ta thấy được rằng ở giải thuật gốc, luật tìm thấy nằm ở vị trí 824 và 2624 tuy chính xác hơn do có số lượng bit save cao nhưng tính tổng quát không bằng luật nằm ở vị trí 829 và 2629 được tìm ra ở giải thuật đề xuất vì có thể áp dụng được cho 4 vị trí trong chuỗi ban đầu

Thời gian chạy của giải thuật gốc lâu hơn giải thuật EP_C|HAC rất nhiều gấp gần 9 lần

5.5.2 Tập dữ liệu Memory với kích thước 6875 điểm

Tập dữ liệu memory được thể hiện một cách trực quan ở hình 5-16 sau.

Hình 5-16 Đồ thị của tập dữ liệu Memory

Thời gian chạy trung bình: 0,820s Bậc mô típ: 5

Chiều dài luật: 300 Các luật phát hiện bằng giải thuật gốc được minh hoạ trong các hình từ Hình 5-16 đến Hình 5-20 Chuỗi thời gian bên phải của các hình sau chính là tiền đề và chuỗi bên trái chính là kết quả

Hình 5-17 Luật 1 trong tập dữ liệu Memory với mô típ bậc 5 chạy giải thuật gốc

Hình 5-18 Luật 2 trong tập dữ liệu Memory với mô típ bậc 5 chạy giải thuật gốc

Hình 5-19 Luật 3 trong tập dữ liệu Memory với mô típ bậc 5 chạy giải thuật gốc

Hình 5-20 Luật 4 trong tập dữ liệu Memory với mô típ bậc 5 chạy giải thuật gốc

Hình 5-21 Luật 5 trong tập dữ liệu Memory với mô típ bậc 5 chạy giải thuật gốc

Thời gian chạy trung bình: 0,118s Bậc mô típ: 5

Chiều dài luật: 300 Các thông số của giải thuật EP_C|HAC

Thông số Giá trị Ý nghĩa

R 1.05 Hệ số nén trong việc tìm điểm cực trị quan trọng

MAX_MOTIF_LENGTH 300 Chiều dài tối đa của mô típ

CLUSTER_NUMBER 10 Số cụm được gom nhóm

Các luật phát hiện bằng giải thuật EP_C|HAC được minh hoạ trong các hình từ Hình 5-21 đến Hình 5-25 Chuỗi thời gian bên phải của trong các hình sau chính là tiền đề và chuỗi bên trái chính là kết quả

Hình 5-22 Luật 1 trong tập dữ liệu Memory với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-23 Luật 2 trong tập dữ liệu Memory với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-24 Luật 3 trong tập dữ liệu Memory với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-25 Luật 4 trong tập dữ liệu Memory với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-26 Luật 5 trong tập dữ liệu Memory với mô típ bậc 5 chạy thuật toán đề xuất

5.5.2.3 Kết luận cho bộ dữ liệu Memory Để cho đọc giả dễ dàng so sánh, các luật được rút trích nên trên được nêu ra theo đúng trình tự mà chúng giống nhau, ví dụ như luật 1 bên giải thuật gốc sẽ tương ứng với luật 1 bên giải thuật EP_C|HAC

Chúng tôi nhận thấy trong 5 luật khác biệt phát hiện được có 4 luật tương quan giống nhau, nghĩa là giải thuật EP_C|HAC đã tìm giống 80% trên tập dữ liệu này với thời gian chạy nhanh hơn gần 8 lần

Cụ thể ở luật 1 trong 8 vị trí thể hiện của luật này, có 3 vị trí giống hệt nhau, 4 vị trí chênh lệch ở điểm bắt đầu với khoảng cách bé hơn 5 và 1 vị trí khác biệt Như vậy giải thuật EP_C|HAC đã tìm thấy các vị trí luật giống với giải thuật gốc với tỉ lệ 87.5% Ở luật 2, vị trí thể hiện của luật tìm thấy bởi giải thuật EP_C|HAC chênh lệch vị trí 38 đơn vị so với giải thuật gốc nhưng hình dáng vẫn giữ nguyên Ở luật 3, sau khi loại bỏ 2 vị trí cuối của giải thuật gốc do rất gần nhau, chúng tôi thấy giải thuật EP_C|HAC tìm ra 6/9 vị trí giống với giải thuật ban đầu tức gần 70%

Lâm Tuấn Anh - 1570202 62 Ở luật 4, sau khi loại bỏ 2 vị trí cuối của giải thuật gốc do rất gần nhau, chúng tôi thấy giải thuật EP_C|HAC tìm ra 4/7 vị trí chênh lệch 50 đơn vị khoảng cách so với giải thuật ban đầu tức gần 60%

5.5.3 Tập dữ liệu Power với kích thước 35040 điểm

Tập dữ liệu Power được thể hiện một cách trực quan ở hình 5-27 sau

Hình 5-27 Đồ thị của tập dữ liệu Power

Thời gian chạy trung bình: 122,273s (2 phút và 2.273s) Bậc mô típ: 5

Chiều dài luật: 1500 Các luật phát hiện bằng giải thuật gốc được minh hoạ trong các hình từ Hình 5-16 đến Hình 5-20 Chuỗi thời gian bên phải của các hình sau chính là tiền đề và chuỗi bên trái chính là kết quả

Hình 5-28 Luật 1 trong tập dữ liệu Power với mô típ bậc 5 chạy giải thuật gốc

Hình 5-29 Luật 2 trong tập dữ liệu Power với mô típ bậc 5 chạy giải thuật gốc

Hình 5-30 Luật 3 trong tập dữ liệu Power với mô típ bậc 5 chạy giải thuật gốc

Hình 5-31 Luật 4 trong tập dữ liệu Power với mô típ bậc 5 chạy giải thuật gốc

Hình 5-32 Luật 5 trong tập dữ liệu Power với mô típ bậc 5 chạy giải thuật gốc

Thời gian chạy trung bình: 1,084s Bậc mô típ: 5

Chiều dài luật: 300 Các thông số của giải thuật EP_C|HAC

Thông số Giá trị Ý nghĩa

R 1.05 Hệ số nén trong việc tìm điểm cực trị quan trọng

MAX_MOTIF_LENGTH 1500 Chiều dài tối đa của mô típ

CLUSTER_NUMBER 10 Số cụm được gom nhóm

Các luật phát hiện bằng giải thuật EP_C|HAC được minh hoạ trong các hình từ Hình 5-33 đến Hình 5-37 Chuỗi thời gian bên phải của trong các hình sau chính là tiền đề và chuỗi bên trái chính là kết quả

Hình 5-33 Luật 1 trong tập dữ liệu Power với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-34 Luật 2 trong tập dữ liệu Power với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-35 Luật 3 trong tập dữ liệu Power với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-36 Luật 4 trong tập dữ liệu Power với mô típ bậc 5 chạy thuật toán đề xuất

Hình 5-37 Luật 5 trong tập dữ liệu Power với mô típ bậc 5 chạy thuật toán đề xuất

5.5.3.3 Kết luận cho bộ dữ liệu Power Để cho đọc giả dễ dàng so sánh, các luật được rút trích nên trên được nêu ra theo đúng trình tự mà chúng giống nhau, ví dụ như luật 1 bên giải thuật gốc sẽ tương ứng với luật 1 bên giải thuật EP_C|HAC

Chúng tôi nhận thấy trong 5 luật khác biệt phát hiện được có 5 luật tương quan giống nhau, nghĩa là giải thuật EP_C|HAC đã tìm giống 100% trên tập dữ liệu này với thời gian chạy nhanh hơn gần 120 lần

Cụ thể ở luật 1 trong 8 vị trí thể hiện của luật này, có 5 vị trí (21196 và 21186), (2380 và 2370), (14476 và 14466), (17836 và 17826), (15820 và 15810) chênh lệch ở điểm bắt đầu với khoảng cách chỉ 10 đơn vị và 3 vị trí khác biệt Như vậy giải thuật EP_C|HAC đã tìm thấy các vị trí luật giống với giải thuật gốc với tỉ lệ 62.5% Tuy nhiên ở giải thuật gốc, chúng tôi dễ dàng nhìn thấy chuỗi thời gian cuối cùng của luật bắt đầu ở vị trí 12460 có chuỗi kết quả chỉ có 4 phần lồi nhưng vẫn được gom vào các chuỗi có 5 phần lồi trong chuỗi kết quả cho thấy sự thiếu chính xác so với thuật toán đề xuất Ở luật 2, trong 10 vị trí thể hiện của luật, có 5 vị trí (2023 và 2003), (20839 và 20818), (2695 và 2675), (15463 và 15443), (29575 và 29555) chênh lệch ở điểm bắt đầu từ 20-21 đơn vị Như vậy giải thuật EP_C|HAC đã tìm thấy các vị trí luật giống với giải thuật gốc với tỉ lệ 50% Tuy nhiên một cách trực quan ta có thể thấy các thể

Lâm Tuấn Anh - 1570202 69 hiện của luật ở cả 2 giải thuật đều giống nhau nhưng giải thuật đề xuất có lượng bit save cao hơn Ở luật 3, trong 10 vị trí thể hiện của luật, có 6 vị trí (29378 và 29312), (15266 và 15200), (2498 và 2432), (20641 và 20575), (14594 và 14528), (19297 và 19232), chênh lệch ở điểm bắt đầu từ 66 đơn vị Như vậy giải thuật EP_C|HAC đã tìm thấy các vị trí luật giống với giải thuật gốc với tỉ lệ 60% với số lượng bit save cao hơn giải thuật gốc Ở luật 4, trong 9 vị trí thể hiện của luật, có 5 vị trí (2498 và 2432), (17954 và 17888), (15266 và 15200), (15938 và 15872), (14594 và 14528), chênh lệch ở điểm bắt đầu từ 66 đơn vị Như vậy giải thuật EP_C|HAC đã tìm thấy các vị trí luật giống với giải thuật gốc với tỉ lệ 55% với giải thuật gốc Ở luật 5, trong 10 vị trí thể hiện của luật, có 5 vị trí (2398 và 2432), (15838 và 15872), (15166 và 15200), (33310 và 33344), (14494 và 14528), chênh lệch ở điểm bắt đầu từ 66 đơn vị Luật này có vẻ hơi giống luật 4 Như vậy giải thuật EP_C|HAC đã tìm thấy các vị trí luật giống với giải thuật gốc với tỉ lệ 50% với số lượng bit save cao hơn giải thuật gốc

Ngày đăng: 08/09/2024, 23:18