ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINHĐẠI HỌC CÔNG NGHỆ THÔNG TIN Chuyên đề KHAI PHÁ DỮ LIỆU Tiểu Luận TÍNH SỰ TƯƠNG ĐỒNG CỦA CHUỖI DỮ LIỆU THỜI GIAN MỘT ỨNG DỤNG TRONG CHỨNG KHOÁN VỚI MÔ HÌNH
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Chuyên đề KHAI PHÁ DỮ LIỆU
Tiểu Luận
TÍNH SỰ TƯƠNG ĐỒNG CỦA CHUỖI DỮ LIỆU THỜI GIAN
MỘT ỨNG DỤNG TRONG CHỨNG KHOÁN
VỚI MÔ HÌNH PAIR-TRADING
Giảng viên: PGS.TS ĐỖ PHÚC Học viên : HUỲNH LÊ
Mã số : CH0901026 Lớp: CH CNTTQM K4
TP.HCM - 12/2014
Trang 2LỜI NÓI ĐẦU
Sự phát triển vượt bậc của các thiết bị lưu trữ cho phép con người lưu trữ lại một lượngkhổng lồ dữ liệu mà họ đã tạo ra trong quá trình sử dụng các hệ thống ứng dụng trongthực tế Con người có thể truy xuất nguồn dữ liệu này để trích xuất các báo cáo, thống kêphục vụ nhu cầu của mình Bên cạnh đó, dữ liệu bản thân nó còn tìm ẩn những tri thức
mà các kỹ thuật trích xuất, thống kê truyền thống khó có thể tìm ra được Kỹ thuật khai
phá dữ liệu (Data Mining – DM) đã được nghiên cứu nhằm giúp con người phát hiện
những tri thức tìm ẩn bên trong đó Những kỹ thuật này có thể kể đến như : tìm luật kết
hợp (association rule), tìm mẫu (pattern), episode, phân lớp (classification), gom cụm (cluster analysis), dò tìm các phần tử dị biệt (outlier dection)…
Một trong số các bài toán liên quan đến khai phá dữ liệu thời gian (time series data) đó là vấn đề đo lường sự tương đồng (similarity) của các chuỗi dữ liệu Nhiều độ đo và giải
thuật đã được các nhà nghiên cứu đưa ra như : độ đo Eucliden, phương pháp xoắn thời
gian động (Dynamic Time Warping -DTW), chuỗi con chung dài nhất (Longest Common Subsequence – LCSS),…
Một vấn đề khi tính toán sự tương đồng theo các độ đo đó là sự phức tạp của các thuậttoán do phải xử lý trên một chuỗi số liệu rất lớn Nhiều giải thuật đã đưa ra nhằm khắcphục nhược điểm đó nhưng lại giảm bớt các tiêu chí khác như : độ chính xác, sai số dữliệu
Tiểu luận này giới thiệu một giải thuật mới : SparseDTW do tác giả Ghazi H Al-Naymat đưa ra năm 2009 [Gha08] nhằm đo lường sự tương đồng của dữ liệu theo độ đo DTW.
Đây là một giải thuật hiệu quả cả về không gian bộ nhớ xử lý và độ chính xác tuyệt đốicủa kết quả Trái ngược với các giải thuật nghiên cứu trước đó hi sinh bớt sự chính xáccủa kết quả để giảm bớt không gian xử lý Ý tưởng chính của giải thuật này tận dụng sựtương đồng nếu có giữ 2 chuỗi dữ liệu theo nguyên lý : nếu hai chuỗi dữ liệu càng tươngđồng thì càng ít thao tác tính toán và càng cần ít không gian tính toán Giải thuật nàyđược thử nghiệm cho thấy kết quả vượt trội hơn so với các giải thuật tính toán trước đó
cả về thời gian xử lý và độ chính xác của kết quả tìm được
Trang 3Giải thuật này được ứng dụng vào việc tìm kiếm các cập chứng khoán tương đồng cho 50
mã chứng khoán được chọn ngẫu nhiên của sàn giao dịch chứng khoán TP.HCM
(HOSE) Dữ liệu tính toán là dữ liệu cuối ngày EOD (End of Day) của các chứng khoán
tính từ 5/2009 đến 12/2010 Tiểu luận cũng đưa ra một mô hình cho đầu tư chứng khoán
theo chiến lược Pair-Trading mà một phần trong mô hình này là module dò tìm các cập chứng khoán tương đồng theo giải thuật SparseDTW đã đưa ra.
Em xin gởi lời cảm ơn chân thành đến PGS.TS Đỗ Phúc đã giành thời gian quí báo củamình truyền đạt những kiến thức bổ ích cũng như truyền cảm hứng cho em trong lĩnh vựcnày
Tp.HCM, tháng 12 năm 2010
Trang 4MỤC LỤC
CHƯƠNG 1 5
TỔNG QUAN 5
1 GIỚI THIỆU 5
1.1 Khai phá dữ liệu thời gian 5
1.2 Tìm kiếm mã chứng khoán tương đồng (pair trading) 6
1.3 Quá trình khai phá dữ liệu 7
2 DỮ LIỆU THỜI GIAN VÀ CÁC ĐỘ ĐO SỰ TƯƠNG ĐỒNG 8
2.1 Dữ liệu thời gian 8
2.2 Đo sự tương đồng 9
2.3 Các độ đo sự tương đồng 10
2.3.1 Độ đo Euclidean 10
2.3.2 Xoắn thời gian động (Dynamic Time Warping – DTW) 12
2.3.3 Phương pháp chuỗi con chung dài nhất (LCSS) 16
2.3.4 So sánh các độ đo 16
2.3.5 Một số độ đo khác 17
CHƯƠNG 2 19
TIẾP CẬN MỚI TRONG TÍNH TOÁN DTW VÀ ỨNG DỤNG TRONG CHỨNG KHOÁN 19
1 Giới thiệu 19
2 Ma trận sparse 20
2.1 Lưu trữ theo dòng (Compressed Row Storage – CRS) 21
2.2 Lưu trữ theo cột (Compressed Column Storage – CCS) 21
2.3 Lưu trữ theo khối (Block compressed row storage– BCRS) 22
3 Các khái niệm 22
4 Giải thuật SparseDTW 23
4.1 Mô hình Pair-Trading trong chứng khoán 26
4.1.1 Một số khái niệm 26
4.1.2 Pair-trading framework 26
4.1.3 Kết hợp DTW với phương pháp cận dưới 28
4.1.4 Phát hiện các cơ hội đầu tư 30
4.1.5 Tìm cập chứng khoán tương đồng của sàn HOSE 30
4.2 Thiết kế chương trình 36
4.2.1 Cơ sở dữ liệu 36
4.2.2 Các lớp 37
4.2.3 Giao diện & hướng dẫn sử dụng 38
4.2.4 Cài đặt 39
KẾT LUẬN 40
TÀI LIỆU THAM KHẢO 42
Trang 5CHƯƠNG 1 TỔNG QUAN
1 GIỚI THIỆU
1.1 Khai phá dữ liệu thời gian
Một chuỗi dữ liệu thời gian (Time series) là một chuỗi các điểm dữ liệu thông thường
được đo lường ở một chu kỳ thời gian nhất định nào đó, trong đó mỗi điểm dữ liệu được
đặc trưng bởi một giá trị và vì vậy dữ liệu thời gian (TSD – time series data) là bao gồm
tập các chuỗi này Trong tiểu luận này, khi đề cập đến chuỗi dữ liệu tức là chuỗi dữ liệu
pháp DTW được chấp nhận nhiều hơn
DTW sử dụng mô hình lập trình động để tính toán sự so khớp giữ 2 chuỗi dữ liệu Giải
thuật DTW truyền thống có độ phức tạp là O(nm) với n, m là chiều dài của 2 chuỗi dữ
liệu cần tính toán
Để giảm thiểu độ phức tạp này, các nhà nghiên cứu đã đưa ra nhiều giải thuật để tăng tốctính toán DTW Về mặt tổng quan có thể nhóm các kỹ thuật này thành 3 loại :
- Phương pháp bổ sung thêm các ràng buộc để giảm bớt không gian tìm kiếm (công
trình của Sakoe & Chiba (1978), Itakura (1975)) Các phương pháp này giảm
thiểu không gian tìm kiếm nhưng lại không đảm bảo cho kết quả tốt nhất
- Phương pháp dựa trên việc biến đổi dữ liệu qua đó dữ liệu gốc được biến đổi và
tính toán trên đó, sau đó sẽ chuyển lại thành dữ liệu ban đầu (Salvador & Chan 2007) Phương pháp này cũng không đảm bảo cho ra kết quả tối ưu nhất.
- Phương pháp dựa vào kỹ thuật đánh chỉ mục (index) được đưa ra bởi Keogh & Ratanamahatana (2004) và Sakurai et (2005) Phương pháp này không trực tiếp
tăng tốc tính toán DTW nhưng nó giới hạn số lần tính DTW
Trang 6Rất nhiều ứng dụng có thể thừa hưởng từ kết quả của việc nghiên cứu sự tương đồng củachuỗi dữ liệu như :
- Trong ứng dụng tài chính (chứng khoán, vàng,…) : qua đó nhà đầu tư sẽ tìm các
mã chứng khoán tương đồng Ứng với mỗi cập sẽ theo dõi sự thay đổi giá của một
mã để có quyết định đầu tư đúng đắn cho mã còn lại (gọi là kỹ thuật Pair-trading).Tiểu luận này ứng dụng để tìm các cập chứng khoán tương đồng của sàn giao dịchchứng khoán HCM (HOSE)
- Trong các ứng dụng nhận dạng giọng nói ví dụ : tìm các clips có chứa giọng nóicủa người nào đó, so sánh giọng nói trong các hệ thống bảo mật,
Hầu kết các nghiên cứu trước đây đều tập trung vào tăng tốc tính toán DTW bằng cáchhoặc giảm không gian tìm kiếm nhưng lại giảm độ chính xác của kết quả hay đưa ra kỹthuật đường biên dưới nhằm giảm tính toán trên những chuỗi không cần thiết nhưng lạikhông giảm được tính toán DTW
Để khắc phụ 2 nhược điểm đó, giải thuật SparseDTW được đưa ra nhằm giảm thiểu tính
toán DTW nhưng vẫn luôn cho được kết quả tối ưu nhất
1.2 Tìm kiếm mã chứng khoán tương đồng (pair trading)
Nhiều nhà nghiên cứu đã đưa ra các giải thuật cũng như mô hình tập trung vào vấn đề tìm
kiếm các mẫu (pattern) ứng dụng trong thị trường chứng khoán Tiểu luận này đưa ra mô
hình Pair-trading, đây là một chiến lượt đầu tư liên quan đến việc tìm kiếm các mã chứngkhoán tương đồng, theo dõi sự thay đổi giá của chúng để có quyết định đầu tư đúng đắn
qua kỹ thuật short-sell và long buying.
Luật kết hợp cũng đã được ứng dụng trong chứng khoán để dự đoán sự dịch chuyển giá
cổ phiếu dựa trên dữ liệu thu thập trước đó, giúp nhà đầu tư tìm ra được điểm hội tụ của
giá cổ phiếu (Lu et al., 1998 ; Ellatif, 2007) Tuy nhiên, luật kết hợp lại cho ra quá nhiều luật do vậy gây khó khăn cho nhà đầu tư khi quyết định Basalto et al.-2004 [bas04] đã đưa ra giải thuật gom cụm để tìm sự tương quan giữa các cổ phiếu Cao et al.-2006 đã đưa ra giải thuật di truyền mờ (fuzzy genetic) để tìm ra các cập có quan hệ và xếp hạng
các quan hệ đó
Trang 7Các nhà đầu tư khi theo dõi bảng chứng khoán là nhằm quan sát sự thay đổi giá của cácchứng khoán mà họ nghĩ là sẽ đem lại lợi nhuận Như vậy, nếu ta xây dựng được một hệthống qua đó tự động dò tìm các cập chứng khoán tương đồng, sau đó tự động theo dõi sựthay đổi giá giữa chúng và tự động đưa ra các đề nghị (dựa vào các quy luật đầu tư chứngkhoán) cho nhà đầu tư thì đây là một hệ thống rất hữu ích.
1.3 Quá trình khai phá dữ liệu
Khai phá dữ liệu là quá trình trích xuất các thông tin quan tâm hay các mẫu trong CSDL
lớn (CSDL quan hệ, nhà kho dữ liệu – data warehouse, XML) (theo định nghĩa của Piatetsky-Shapiro & Frawley – 1991).
Tri thức Và Thông tin
Hình 1: Quá trình khai phá tri thức trong CSDL (KDD)
Mặc dù khai phá dữ liệu chỉ là một bước quan trong tiến trình khai phá tri thức trong
CSDL (knowledge discovery in databases - KDD) nhưng hầu như nó được ngằm hiểu
như quá trình KDD Quá trình KDD bao gồm 4 bước :
- Bước 1 (chọn lọc, tích hợp dữ liệu) : Công đoạn này bắt buộc phải thực hiện vì dữ
liệu có thể được thu thập từ nhiều nguồn khác nhau do đó có thể dư thừa, khôngđầy đủ hoặc nhiễu Quá trình này sẽ loại bỏ những thành phần không mong muốnđó
- Bước 2 (Tiền xử lý) : mặt dù dữ liệu sau khi qua bước 1 đã bị loại bỏ sự dư thừa,
nhiễu nhưng đây là dữ liệu thô và thực sự không cần thiết để khai phá Vì vậybước 2 là trích lọc ra các thông tin liên quan và chuyển đổi chúng về đúng địnhdạng phù hợp để có thể khai phá
Trang 8- Bước 3 (khai phá) : sau khi dữ liệu đã sẵn sàn, rất nhiều kỹ thuật khai phá khác
nhau được áp dụng nằm tìm ra tri thức mong muốn Các kỹ thuật khác nhau chophép khai phá các tri thức khác nhau tùy thuộc từng ứng dụng
- Bước 4 (hậu xử lý) : tri thức sau khi tìm được cần được ước lượng, đánh giá, giải
thích cho người dùng Bên cạnh đó còn phải hiện thực (thể hiện trực quan) đểngười dùng dễ hiểu và nắm được tri thức trong nó
Hình sau mô tả quan hệ giữa các đối tượng liên quan trong khai phá dữ liệu và mức độ hỗtrợ tri thức :
Hình 2: Data Mining và BI
- DBA : người quản trị CSDL sẽ thu thập, tích hợp các hệ thống CSDL đã có để
hình thành kho dữ liệu phục vụ cho khai phá dữ liệu
- Data Analyst : nhân viên phân tích dữ liệu dựa vào nguồn dữ liệu do DBA cung
cấp để tiến hành các phân tích thống kê, truy vấn, thiết lập báo cáo và thực hiện tiến trình khai phá dữ liệu
- Tri thức có được sẽ đến nhân viên phân tích nghiệp vụ sẽ hiện thực, giải thích các kết quả đó và chuyển cho lãnh đạo để ra quyết định
2 DỮ LIỆU THỜI GIAN VÀ CÁC ĐỘ ĐO SỰ TƯƠNG ĐỒNG
Trang 92.1 Dữ liệu thời gian
Định nghĩa 1 : một chuỗi dữ liệu thời gian S được định nghĩa như sau :
s t N
Trang 10,trong đó s t là điểm dữ liệu tại thời điểm t.
Định nghĩa 2 : một CSDL dữ liệu thời gian TSD là một tập các chuỗi được mô tả như
sau :
S i N
Trang 11,trong đó Si là chuỗi thứ i trong tập các chuỗi dữ liệu.
Ví dụ một chuỗi dữ liệu thời gian như Hình 3 :
Hình 3:Hai chuỗi dữ liệu của mã chứng khoán DPM và GMD
- Đánh chỉ mục (indexing) hay truy vấn theo nội dung của dữ liệu (query by
content) : có 2 cách tiếp cận theo hướng này gồm :
(1) : Theo khoảng (by range) : tìm tất cả các chuỗi dữ liệu có khoảng cách
nhỏ hơn với các chuỗi dữ liệu chỉ định
Trang 12Định nghĩa 3 : cho D là không gian tìm kiếm được định nghĩa trên tập chuỗi dữ liệu thời
gian và 2 điểm x, y D, một hàm đo khoảng cách dist trên D được định nghĩa là :
R DxD
Trang 13,trong đó R là tập số thực Hàm dist là hàm đối xứng nếu nó thỏa mãn các tính chất sau :
- Không âm (nonnegativity) :
0 ) , (x y
- Phản xạ (reflexivity) :
- Đối xứng (symmetry) :
- Bất đẳng thức tam giác (triangle inequality) :
Định nghĩa 4 : cho D là không gian tìm kiếm , 2 điểm x, y D, hàm dist và một ngưỡng
thì : x, y được xem là tương đồng nếu dist(x,y) và không tương đồng nếu
dist(x,y)>
Sự tương đồng của hai chuỗi được tính bằng cách so sánh từng cập điểm của hai chuỗi
bằng hàm khoảng cách dist Hàm đo khoảng cách trên là hàm độc lập dữ liệu do vậy cần
được thiết kê riêng, chuyên biệt cho từng loại dữ liệu và từng ứng dụng khác nhau
2.3.1 Độ đo Euclidean
Độ đo Euclidean là độ đo khoảng cách đầu tiên được sử dụng để đo sự tương đồng của chuỗi dữ liệu thời gian (các công trình của Agrawal et al 1993, Faloutsos et al 1994, Rafiei & Mendelzon 1998) Ta có 2 định nghĩa về đọ đo này tùy thuộc vào loại và chiều
x x x
s q
s EucDist
1
2 2
2 1
Trang 142.3.1.1 Giới hạn của độ đo Euclidean
Hai lợi điểm của độ đo này là dễ tính toán và chi phí tính toán là tuyến tính theo chiều dàichuỗi dữ liệu Tuy nhiên độ đo này lại có một giới hạn lớn đó là : hai chuỗi dữ liệu phải
có cùng chiều dài và như vậy nó không hỗ trợ phương pháp dịch chuyển điểm cục bộ
(local time shifting)
Local time shifting xảy ra khi một phần tử của một chuỗi được dịch chuyển theo trục thời
gian để so khớp với một điểm kia của chuỗi còn lại ở thời điểm khác (2 cập điểm có thểkhác vị trí trong chuỗi dữ liệu) Kỹ thuật này rất hữu ích khi đo lường hai chuỗi dữ liệugiống nhau nhưng lệch pha nhau Dịch chuyển này là cục bộ bởi vì không phải tất cả cácphần tử của chuỗi dữ liệu sẽ bị dịch chuyển và hơn nữa các phần tử bị dịch chuyển nàycòn có các độ dịch chuyển khác nhau
Global time shifting – dịch chuyển toàn cục : tất cả các phần tử trong chuỗi dữ liệu đều được dịch chuyển theo trục thời gian với cùng một độ dịch Hình 4 mô tả cách so khớp của đọ đo Euclidean :
Hình 4:Cách so khớp 2 chuỗi dữ liệu theo Euclidean 2.3.2 Xoắn thời gian động (Dynamic Time Warping – DTW)
Phương pháp xoắn thời gian động là một kỹ thuật lập trình động cho phép đo lường sựtương đồng của hai chuỗi dữ liệu có thể lệch pha nhau hay khác nhau về chiều dài Ví dụnhư đo lường sự tương đồng của hai đoạn video được quay bởi hai người với tốc độ di
chuyển khác nhau Hình 5 mô tả cách so khớp theo phương pháp DTW
Trang 15Hình 5:Cách so khớp 2 chuỗi dữ liệu theo DTW
Đặc điểm quan trọng của DTW là : không yêu cầu hai chuỗi có cùng chiều dài và nó hỗ
trợ phương pháp local time shifting Tuy nhiên DTW không đối xứng vì nó không thỏa
mãn bất đẳng thức tam giác đã nêu trên
Định nghĩa 7 : DTW là một phương pháp lập trình động trong đó phân chia chuỗi ban
đầu thành các chuỗi con và tính toán độ đo trên các chuỗi con đó :
) 1 , 1 (
) , 1 ( min ) , ( ) , (
j i D
j i D
j i D j
i d j i
Trang 16Ví dụ : cho S, Q có 10 điểm dữ liệu như sau :
S={3,4,5,3,3,2,3,4,2,3}
Q={1,2,2,1,0,1,1,2,1,2}
Hình sau mô tả các so khớp chuỗi S, Q
Và ma trận D được tạo ra theo công thức tính DTW như sau, các ô tô màu là đường sokhớp tối ưu giữa S và Q
Trang 17Định nghĩa 8 : Công thức tính DTW của 2 chuổi S, Q có chiều dài M và N bất kỳ là :
) , (
0 0
0
0 0
) , (
' ' ' ' 1
1
Q S DTW
Q S DTW
Q S DTW q
s d
M and N
if
M or N if Q
S
Trang 182.3.2.3 Độ phức tạp của DTW
Độ phức tạp tính toán của DTW là O(MN) với M, N là chiều dài của hai chuỗi dữ liệu.
Do đó khi chiều dài của chuỗi dữ liệu tăng ta phải mất rất nhiều thời gian để tính toán Cóhai phương pháp khắc phục vấn đề này :
- Sử dụng phương pháp đánh chỉ mục (index) để giảm số lần tính toán.
- Cải tiến các kỹ thuật tính toán
2.3.2.4 Các phương pháp đẩy nhanh tính toán DTW
a) Bổ sung các ràng buộc
Nhiều phương pháp đã nghiên cứu theo hướng này nhưng nổi bậc là phương pháp của
Itakura 1975, Sakoe & Chiba 1978 nhằm giới hạn đường so khớp tối ưu phải nằm trong
cận trên và cận dưới Hình sau mô tả 2 phương pháp này
Với r là bán kính cho phép được định nghĩa trước Đường so sánh tối ưu được định nghĩa
là :
w w i j j r i j r
W k | k ( , ) ,
b) Giới hạn cận dưới (Lower bound)
- Tính cận dưới theo phương pháp của Kim et al 2001 : chỉ tính 4 khoảng cách
gồm : khoảng cách ở điểm đầu A, điểm cuối D, Điểm lớn nhất C và nhỏ nhất B
Trang 19) , , , max(
- Phương pháp của Keogh & Ratanamahatana 2004 :
) , min(
) , max(
r i r i i
r i r i i
q q L
q q U
i i i i
L c L c
U c U c C
Q Keogh LB
1
2 2
0
, ) (
, ) ( )
, ( _
(11)
Trang 202.3.3 Phương pháp chuỗi con chung dài nhất (LCSS)
Độ đo LCSS (longest common subsequence) được đưa ra nhằm đo lường sự tương đồng của chuỗi dữ liệu bị nhiễu cao (các công trình của Hirschberg 1975, Boreczky & Rewe 1996), và được tính theo công thức sau :
Với dist(s1,q1) là khoảng cách EucDist được tính theo công thức 8 đã nêu và S ’ và Q ’ là
phần còn lại của chuỗi S, Q ; là ngưỡng cho trước
2.3.4 So sánh các độ đo
Bảng sau so sánh các độ đo đã nêu :
Độ đo Khác chiều dài ? Local time shifting Nhiễu ngưỡng e Thông số Độ phức tạp xứng Đối
EucDis
Trang 212.3.5 Một số độ đo khác
Độ đo dựa trên độ dốc (slope-based similarity)
Trong [Alt06], tác giả đã đưa ra một độ đo mới theo độ dốc giữa hai chuỗi dữ liệu nhằmkhai phá dữ liệu về các thử nghiệm lâm sàn Tác giả chia ra 5 độ dốc là : 0, 0.25, 0.5,
0.75 và 1 Cho a 1 và a 2 và b 1 , b 2 lần lượt là các điểm nằm trên hai chuỗi dữ liệu A, B thì
độ dốc SA và SB được tính như sau :
a a
a a SA
b b
b b SB
Sau đó 2 hệ số này sẽ so sánh với một ngưỡng ngằm xác định thuộc loại nào trong 5 loại
trên Gọi pt ký hiệu cho ngưỡng dương và nt ký hiệu cho ngưỡng âm và giả sửa SA<nt thì độ dốc của chúng được phân loại theo giá trị của SB như sau:
- nếu SB<nt, diff=0
- nếu SBnt, diff=0.25
- nếu SB<pt, diff=0.75
- nếu SBpt, diff=1
Envelope : phương pháp này sẽ phân chia chuỗi dữ liệu thành các đoạn gọi là các
envelope sau đó tính toán độ tương tự cho từng đoạn bằng cách xác định khoảngcách của từng điểm là lớn hơn hay nhỏ hơn một ngưỡng cho trước Nếu lớn hơn thìđánh Yes và ngược lại là No Sau đó đó đếm số lượng Yes trên toàn bộ các đoạn đểtính độ tương tự của chúng ([Agr96], [Bol97])
Các độ đo khác : dưới đây mô tả sơ lượt một số độ đo khác gồm :
- DISSIM [Fre07] : tính độ đo của 2 chuỗi dữ liệu với tần số lẫy mẫu của 2 chuỗi cóthể khác nhau
- EDR [Che05] : đưa ra khái niêm edit distance nhằm ước lượng khoảng cách của
hai chuỗi bằng cách sử dụng một ngưỡng để ước lượng độ đo là 0 hay 1
- ERP [Che04b] : một điểm tham chiếu cố định được sử dụng để đo khoảng cách các khoảng trống của hai chuỗi
Trang 22- TQuEST [Aβf06]f06] : chuyển chuỗi dữ liệu gốc sang chuỗi khác theo một ngưỡng cho trước.
- SpADe [Che07] : tính độ tương đồng bằng cách tìm các mẫu tương tự trong 2 chuỗi
- Một số độ đo theo mô hình sác xuất
- Multivariate time series similarity measures
- Similarity of multiattribute motions
Trang 23CHƯƠNG 2 TIẾP CẬN MỚI TRONG TÍNH TOÁN DTW VÀ
ỨNG DỤNG TRONG CHỨNG KHOÁN
1 Giới thiệu
Để đẩy nhanh tính toán DTW nhiều nghiên cứu đã đưa ra các phương pháp khác nhaunhưng các phương pháp đó lại có các nhược điểm như : tăng thời gian tính DTW nhưnglại không đảm bảo cho kết quả tối ưu
Phần này giới thiệu giải thuật SparseDTW được thiết kế nhằm đẩy nhanh tính toán DTW
nhưng vẫn luôn luôn cho kết quả tối ưu nhất Ý tưởng chính trong cách tiếp cận mới này
đó là tận dụng sự tương đồng (nếu có) của chuỗi dữ liệu để tính toán Hai chuỗi càngtương đồng thì càng ít tính toán và ngược lại Cách tiếp cận này tương tự như tiếp cận
theo phương pháp đánh chỉ số của [Sak78] nhưng có thêm 3 điểm nổi bậc sau :
- Vùng giới hạn (bands) của SparseDTW được tính toán tự động và xét về trung
bình thì nó nhỏ hơn nhiều so với cách tiếp cận truyền thống Ma trận sparse được
sử dụng để tính toán thay cho ma trận truyền thống do vậy giảm thiểu về yêu cầu
bộ nhớ cũng như độ phức tạp khi tính toán trên ma trận
- Giải thuật SparseDTW luôn luôn cho ra kết quả tối ưu nhất.
- Có thể kết hợp SparseDTW với cách tiếp cận về cận dưới (lower bounds) đã đề
cập phần trên nhằm giới hạn các chuỗi thực sự cần tính toán do vậy giảm thiểu số lượng chuỗi so sánh
Như đã nói trong phần 2.2.2.4 thì công thức tính đường so khớp là
|)
|
|, max(|S Q K S Q
Mọi đường W phải thỏa mãn 3 đặc tính sau :
- Tăng đều : cho 2 phần tử bất kỳ w k =(w i , w j ) và w k-1 =(w i ’, w j ’) thì w i -w i ’ 0 và w j
-w ’ 0 Tức i và j là chính nó hoặc tăng chứ không được giảm.
Trang 24- Liên tục : cho 2 phần tử bất kỳ w k =(w i , w j ) và w k-1 =(w i ’, w j ’) thì w i -w i ’ 1 và w j
-w j ’1 Tức i và j chỉ tăng 1 ở mỗi bước tính.
- Giới hạn : W phải bắt đầu từ phần tử đầu tiên w 1 =(1,1) và kết thúc ở phần tử cuối cùng w k (n,m).
Có thể có rất nhiều đường nằm trong kênh (bands) được xét nhưng chỉ có 1 đường có
khoảng cách nhỏ nhất được chọn theo công thức sau :
S DTW
K k k
1
min ) ,
Với K là tổng số phần tử của W
Các ý tưởng sau được sử dụng trong phương pháp SparseDTW :
- Định lượng chuỗi dữ liệu để tìm sự tương đồng giữa các điểm của 2 chuỗi
- Sử dụng ma trận sparse có kích thước k=m * n trong trường hợp xấu nhất Tuy nhiên nếu 2 chuỗi là tương đồng thì k<<n * m
- Tối ưu các giải thuật xử lý trên ma trận sparse về bộ nhớ lưu trữ cũng như các phép toán xử lý trên ma trận này theo các phương pháp như CRS, CCS, BCRS,…
2 Ma trận sparse
Ma trận sparse là một dạng ma trận đặc biệt với đa phần các phần tử của nó đều bằng 0
Do vậy, đối với dạng ma trận này cần yêu cầu các phương pháp tổ chức lưu trữ hiệu quảnhằm tối ưu không gian bộ nhớ và đặc biệt khi xử lý trên chuỗi dữ liệu lớn
Dưới đây mô tả một số phương pháp biểu diễn ma trận sparse, để thuận tiện trong cácphần trình bày sau ta xem xét một ma trận sparse như sau :
- Số hàng N=6
- Số cột M=6