Phát hiện motif xấp xỉ dựa trên phƣơng pháp MP_C với sự hỗ trợ của chỉ mục

Một phần của tài liệu Khai thác dữ liệu chuỗi thời gian dựa vào rút trích đặc trưng bằng phương pháp điểm giữa và kỹ thuật xén = time series data mining based on feature extraction with middle points and clipping method (Trang 102 - 105)

mục đƣờng chân trời.

Ý tƣởng chính.

Ý tƣởng cơ bản của cách tiếp cận này là sử dụng phƣơng pháp MP_C để thu giảm số chiều chuỗi thời gian và chỉ mục đƣờng chân trời để tìm kiếm lân cận gần nhất hay các lân cận trong phạm vi ngƣỡng tƣơng tự cho trƣớc của một chuỗi. Chúng tôi chọn chỉ mục đƣờng chân trời vì chỉ mục này có nhiều ƣu điểm hơn chỉ mục đa chiều truyền thống, đặc biệt là khi đƣợc dùng cho chuỗi thời gian là dữ liệu có số chiều cao. Thực nghiệm trong bài báo [49] đã cho thấy chỉ mục đƣờng chân trời làm việc thích ứng với dữ liệu có số chiều cao tốt hơn so với R-tree dựa vào MBR.

Trong phƣơng pháp phát hiện motif này, đầu tiên chúng tôi thu giảm số chiều của mỗi chuỗi con si trong một chuỗi thời gian dài hơn bằng phƣơng pháp thu giảm số chiều MP_C. Sau đó, với mỗi biểu diễn MP_C s’i của si, chúng tôi tìm kiếm các lân cận của nó trong phạm vi ngƣỡng tƣơng tự cho trƣớc dựa vào chỉ mục đƣờng chân trời.

Trong bài toán phát hiện những motif bậc k hàng đầu với một ngƣỡng R cho

trƣớc theo định nghĩa căn bản của motif (Định nghĩa 2.5, chƣơng 2), khi một danh sách X chứa vị trí các chuỗi con lân cận không tầm thƣờng của si đƣợc tìm thấy, mỗi chuỗi con sx tƣơng ứng với phần tử x trong danh sách X đƣợc truy xuất. Nếu có chuỗi con sx nào có khoảng cách với chuỗi si lớn hơn R thì ta xóa phần tử x đó khỏi X. Nếu X thỏa các điều kiện trong định nghĩa căn bản của motif (Định nghĩa 2.5), nó sẽ đƣợc chèn vào danh sách những motif bậc k hàng đầu sao cho các phần tử trong danh sách luôn đƣợc sắp thứ tự giảm dần theo số đối tƣợng của các phần tử trong danh sách.

85

Tiến trình trên đƣợc lặp lại cho đến khi không còn chuỗi hay chuỗi con nào cần đƣợc xem xét. Chúng tôi dùng hàm tính khoảng cách DIS_EARLY_ABAN(sj, sx, BestSoFar)là hàm tính khoảng cách Euclid kết hợp với ý tƣởng từ bỏ sớm. Kỹ thuật từ bỏ sớm đã đƣợc mô tả ở mục 4.1.

Các lân cận tầm thƣờng của một chuỗi con đƣợc loại bỏ trong thuật toán này bằng cách dùng vị trí tƣơng quan của các chuỗi con. Nghĩa là, một cặp chuỗi con là một cặp lân cận không tầm thƣờng nếu chúng là hai chuỗi con tƣơng tự nhau và cách nhau một khoảng ít nhất là w vị trí (w đƣợc xác định bởi ngƣời dùng).

Mô tả giải thuật.

Hình 4.5 minh họa thuật toán phát hiện những motif bậc k hàng đầu xấp xỉ theo định nghĩa căn bản của motif (Định nghĩa 2.5, chƣơng 2) với sự hỗ trợ của chỉ mục đƣờng chân trời. Trong thuật toán này, thủ tục NEAR_THRES_SKYLINE_R(i, Sky- line index, R) đƣợc dùng để tìm các lân cận không tầm thƣờng của chuỗi con si ở vị trí

i trong phạm vi ngƣỡng R. Đối với nút không phải nút lá, thủ tục

NEAR_THRES_SKYLINE_R(i, Skyline index, R) sử dụng hàm tính khoảng cách Dre-

gion(s, R) giữa một chuỗi MP_C s và một vùng bao MP_C_BR R trong cấu trúc chỉ

mục, đƣợc xác định bởi Định nghĩa 3.3 (chƣơng 3) và thỏa bổ đề chặn dƣới nhóm (Bổ đề 3.2, chƣơng 3). Đối với nút lá, thủ tục này sử dụng hàm tính khoảng cách DMP_C

cho ở công thức (3.2) và thỏa bổ đề chặn dƣới (Bổ đề 3.1, chƣơng 3). Nói cách khác, thủ tục NEAR_THRES_SKYLINE_R(i, Skyline index, R) vận dụng tất cả những kết quả chính yếu đã đạt đƣợc ở chƣơng 3.

Hình 4.6 minh họa hai thủ tục phụ trợ NEAR_THRES_SKYLINE_R(s’i, Skyline in- dex, R) và INSERT_SKYLINE(s’i, MP_C_BRi , Skyline index).

Thủ tục NEAR_THRES_SKYLINE_R trả về danh sách X chứa vị trí các chuỗi

lân cận gần nhất với s’i (biểu diễn MP_C của chuỗi con si). Khi có danh sách X, lần

lƣợt các chuỗi con sx tƣơng ứng với các phần tử x trong X sẽ đƣợc truy xuất và gọi hàm DIS_EARLY_ABAN(si, sx, R) (xem Hình 4.4) để tính khoảng cách Euclid giữa hai

chuỗi con si, sx có áp dụng ý tƣởng từ bỏ sớm. Nếu có DIS_EARLY_ABAN(si, sx, R) > R thì x sẽ đƣợc xóa khỏi X. Sau đó X sẽ đƣợc đƣa vào danh sách những motif bậc k

hàng đầu nếu thỏa các điều kiện trong định nghĩa căn bản của motif (Định nghĩa 2.5, chƣơng 2). Cuối cùng s’i đƣợc đƣa vào chỉ mục đƣờng chân trời thông qua thủ tục In-

86

sert_Skyline(s’i, MP_C_BRi, Skyline_Index) phục vụ cho việc tìm kiếm tiếp theo ở

vòng lặp kế. Quá trình trên đƣợc lặp lại cho đến khi không còn chuỗi con nào cần đƣợc xem xét.

Thuật toán. Phát hiện những motif bậc k hàng đầu xấp xỉ (theo Định nghĩa 2.5) với sự hỗ trợ

của chỉ mục đƣờng chân trời.

// S là một chuỗi thời gian có chiều dài n, Si là một chuỗi con có chiều dài m trong S

// L là danh sách k-motifs, Ck là motif thứ k, R là ngƣỡng tƣơng tự

// X là danh sách vị trí các chuỗi lân cận không tầm thƣờng tìm đƣợc của một chuỗi si

Procedure L = FINDING_TOP_k_MOTIF(S, k, m, R) (adsbygoogle = window.adsbygoogle || []).push({});

Fori = 1 ton-m+1 {

Dùng một cửa sổ có chiều dài m trƣợt qua chuỗi S để trích chuỗi con Si bắt đầu tại vị trí i. Biến đổi chuỗi con Si thành dạng biểu diễn MP_C, S’i và tìm MP_C_BRicủa S’i. If (Skyline index != null)

X = NEAR_THRES_SKYLINE_R (S’i, MP_C_BRi,Skyline index, R) For mỗi phần tử x trong X

if (DIS_EARLY_ABAN(Si, Sx,R) > R) Xóa phần tử x khỏi X if (X is null) Break else { if (L is null) L1 = X else if (DIS_EARLY_ABAN(Si, Cj, 2R) > 2RCj in L) { if (số phần tử trong L < k)

Chèn X vào L sao cho các phần tử trong L luôn theo thứ tự giảm dần của số đối tƣợng có trong mỗi phần tử

ElseIf (số đối tƣợng trong X > số đối tƣợng trong phần tử Lk) {

Xóa phần tử Lk khỏi L.

Chọn vị trí y trong L có số đối tƣợng lớn nhất thỏa điều kiện

số đối tƣợng trong phần tử Ly < số đối tƣợng trong X Chèn X vào L tại vị trí y

} } }

INSERT_SKYLINE(S’i, MP_C_BRi, Skyline index) }

Hình 4.5 Thuật toán phát hiện những motif bậc k hàng đầu(theo Định nghĩa 2.5) với sự hỗ trợ của chỉ mục đường chân trời.

87

// Tìm các lân cận không tầm thƣờng của chuỗi con S’i trong phạm vi ngƣỡng R bằng chỉ mục đƣờng chân trời.

NEAR_THRES_SKYLINE_R(S’i, Skyline index, R)

Duyệt Skyline index bắt đầu từ gốc để tìm các nút lá mk có Dregion(S’i, MP_C_BRk) ≤ R. Với mỗi nút lá mk tìm đƣợc,

Tìm phần tử x trong mk là lân cận không tầm thƣờng của s’i trong phạm vi ngƣỡng R. Đƣa vị trí của x vào danh sách (X) các lân cận không tầm thƣờng của chuỗi s’i. Trả về X.

//Chèn chuỗi s’i vào chỉ mục đƣờng chân trời dựa vào MP_C_BR.

INSERT_SKYLINE(S’i, MP_C_BRi , Skyline index)

Chọn cây con trong chỉ mục đƣờng chân trời sao cho MP_C_BR của nó cần mở rộng ít nhất khi chèn vào MP_C_BRi.

Thêm S’i vào nút lá của cây con. Nếu nút lá bị đầy

-Tách nút thành hai nút con sao cho tổng diện tích của hai vùng bao của hai nút con sau khi tách là nhỏ nhất.

- Tiến trình tách nút đƣợc lặp lại cho các nút cha nếu nút cha bị đầy do việc tách nút con gây ra.

Hình 4.6 Minh họa các bước chính trong hai thuật toán: tìm các lân cận không tầm thường của một chuỗi bằng chỉ mục đường chân trời và chèn chuỗi mới vào chỉ mục.

Một phần của tài liệu Khai thác dữ liệu chuỗi thời gian dựa vào rút trích đặc trưng bằng phương pháp điểm giữa và kỹ thuật xén = time series data mining based on feature extraction with middle points and clipping method (Trang 102 - 105)