Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 231 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
231
Dung lượng
14,31 MB
Nội dung
I H C QU C GIA TP H CHÍ MINH TR NG I H C BÁCH KHOA BÙI CÔNG GIAO TÌM KI M T NG T TRÊN CHU I TH I GIAN D NG LU NG (SIMILARITY SEARCH IN STREAMING TIME SERIES) LU N ÁN TI N S K THU T TP H CHÍ MINH N M 2019 TR I H C QU C GIA TP HCM NG I H C BÁCH KHOA TÌM KI M T NG T TRÊN CHU I TH I GIAN D NG LU NG (SIMILARITY SEARCH IN STREAMING TIME SERIES) Chuyên ngành: Khoa h c máy tính Mã s chuyên ngành: 62.48.01.01 Ph n bi n đ c l p 1: Ph n bi n đ c l p 2: Ph n bi n 1: Ph n bi n 2: Ph n bi n 3: NG I H PGS TS D PGS TS Võ ình B y PGS TS Nguy n ình Thuân PGS TS Lê Hoài B c PGS TS Phúc TS Lê V n Qu c Anh NG D N KHOA H C ng Tu n Anh L I CAM OAN Tác gi xin cam đoan cơng trình nghiên c u c a b n thân tác gi Các k t qu nghiên c u k t lu n lu n án trung th c, không chép t b t k m t ngu n d có) đ i b t k hình th c Vi c tham kh o ngu n tài li u (n u c th c hi n trích d n ghi ngu n tài li u tham kh o quy đ nh Tác gi lu n án Ch ký Bùi Công Giao i TÓM T T Trong khai phá d li u chu i th i gian, tốn tìm ki m t ng t chu i th i gian d ng lu ng m t thách th c l n cho nhà nghiên c u ph t ng t chu i th i gian t nh khó có th phù h p v i mơi tr cho t i cơng trình tìm ki m t ng pháp tìm ki m ng lu ng Thêm n a, ng t chu i th i gian d ng lu ng v n m t s h n ch nh chi phí tính tốn cao ho c khơng chu n hố d li u Trong lu n án đ xu t h cho nhi m v tìm ki m t ng nghiên c u ph ng pháp nh m nâng cao hi u qu ng t chu i th i gian d ng lu ng b ng đ đo Euclid đ đo DTW k t qu tìm ki m có ý ngh a xác, chu n hoá d li u chu i th i gian c n đ c th c hi n tr ki m t c tìm ki m t ng t Trong mơi tr ng t có đ ph c t p th i gian cao, v y ph ng lu ng, ho t đ ng tìm ng pháp đ xu t s d ng k thu t t ng t c cho tính tốn kho ng cách gi a hai chu i th i gian, s p đ t k thu t theo ki u x p t ng đ t b s m tính tốn khơng c n thi t Thêm n a, ph ng pháp tìm ki m t ng t chu i th i gian d ng lu ng nên s d ng k thu t tính tốn gia t ng nh chu n hố d li u gia t ng nh m t i thi u chi phí tính tốn K ti p, ph ng pháp tìm ki m t ng t đ c s d ng đ gi i quy t m t vài toán th c t nh d báo tr c n hay phát hi n b t th ng chu i th i gian d ng lu ng t i thi u th i gian th c hi n c a nhi m v d báo tr c n, ph ng pháp đ xu t s d ng m c c tr quan tr ng chu i th i gian d ng lu ng nh m m c cho tìm ki m t lu ng, ph ng t Còn đ i v i phát hi n b t th ng chu i th i gian d ng ng pháp đ xu t s d ng k thu t ch n d đ nh n di n chu i có ti m n ng b t th K t qu th c nghi m c a ph i tính tốn kho ng cách ng nh t ng pháp tìm ki m t ng t chu i th i gian d ng lu ng b ng đ đo Euclid đ đo DTW ch ng t s hi u qu c a ph xu t Các ph ng pháp tr v k t qu xác (khơng có l i tìm sót) v i chi phí tính tốn khơng gian b nh th p Còn đ i v i ng d ng s d ng ph ki m t ng pháp đ ng pháp tìm ng t , đánh giá qua th c nghi m ch ng t r ng ng d ng thu đ qu nh mong đ i có th i gian ph n h i nhanh ii ck t ABSTRACT In time-series data mining, the problem of similarity search in streaming time series is a big challenge for researchers because similarity search methods in static time series are hardly suitable for a streaming environment Also, so far research works on similarity search in streaming time series have some limitations such as high computational costs and no data normalization In the dissertation we propose research directions and methods to improve the effectiveness and the efficiency of similarity search in streaming time series under Euclidean measure and DTW measure In order to acquire meaningful and accurate search results, normalizing time-series data needs conducting prior to similarity search In the streaming environment, similarity search is of high time complexity, so the proposed methods have used speed-up techniques for calculating the distance between two time-series sequences, and arrange these techniques in a cascading fashion for early abandoning of unnecessary computations Furthermore, methods of similarity search in streaming time series should use incremental calculation techniques such as incremental data normalization to minimize the computational costs We then utilize the methods of similarity search to solve some real problems such as online forecasting or anomaly detection in streaming time series In order to minimize the execution time of online forecasting, the proposed method use major extrema in streaming time series as turning points for similarity search As for anomaly detection in streaming time series, the proposed method use lower-bounding techniques in distance computations to identify the most likely subsequences of anomaly The experimental results of the methods of similarity search in streaming time series under Euclidean measure and DTW measure indicate that these proposed methods are effective and efficient since they bring out accurate results (no false dismissals) with low computational time and memory space With respect to applications using the methods of similarity search, the experimental evaluations demonstrate that these applications obtain desirable results and have fast responses iii L I CÁM N Tơi xin bày t lịng bi t n sâu s c đ n Th y PGS TS D h ng Tu n Anh t n tình ng d n, đ ng viên, ch b o, đóng góp ý ki n đ tơi có th nghiên c u hoàn thành Lu n án ti n s Tôi xin g i l i c m n đ n Th y, Cô Khoa Khoa h c K thu t Máy tính tr ng i h c Bách khoa Tp H Chí Minh, nhóm nghiên c u v khai phá d li u chu i th i gian, b n nghiên c u sinh đóng góp nhi u ý ki n q báu cho tơi Tơi c ng xin c m n đ ng nghi p Khoa i n t Vi n thông c a tr ng ih c Sài Gịn Khoa Cơng ngh thơng tin c a H c vi n Cơng ngh B u Chính Vi n thơng c s Tp H Chí Minh ln đ ng viên, khích l t o u ki n thu n l i cho tơi hồn thành lu n án Tôi chân thành c m n Ban Giám hi u tr ng i h c Sài Gòn h tr kinh phí t o u ki n cơng tác thu n l i đ tơi có th hồn thành ch ng trình nghiên c u sinh Cu i cùng, tơi xin bày t lịng bi t n sâu s c mn vàn tình u đ n ba, m , v , con, nh ng ng i bên c nh h tr su t th i gian qua Tp H Chí Minh, tháng n m 2019 Nguyên c u sinh Bùi Công Giao iv M CL C L I CAM OAN i TÓM T T ii ABSTRACT iii L I CÁM N iv DANH M C CÁC HÌNH NH x DANH M C B NG BI U xiv DANH M C GI I THU T xvi DANH M C CÁC T CH NG VI T T T xvii GI I THI U 1.1 Chu i th i gian d ng lu ng thách th c x lý chu i th i gian d ng lu ng 1.2 M c tiêu, đ i t 1.3 Ph 1.4 Tóm t t k t qu đ t đ ng ph m vi nghiên c u ng pháp nghiên c u c 1.4.1 Tìm ki m t ng t chu i th i gian d ng lu ng b ng đ đo Euclid 1.4.2 Tìm ki m t ng t chu i th i gian d ng lu ng b ng đ đo DTW 11 1.4.3 D báo tr c n chu i th i gian d ng lu ng 12 1.4.4 Phát hi n k chu i b t th 1.5 CH ng nh t chu i th i gian d ng lu ng 12 C u trúc c a lu n án 13 NG 2.1 C S LÝ THUY T N N T NG 14 đo t ng t 14 2.1.1 đo Euclid 15 2.1.2 đo DTW 16 2.2 Chu n hoá d li u 19 2.3 nh ngh a tìm ki m t ng t chu i th i gian 21 2.4 nh ngh a tìm ki m t ng t chu i th i gian d ng lu ng 21 2.5 T ng t c tính tốn đ đo t ng t 22 ng kho ng cách 22 2.5.1 S d ng bình ph 2.5.2 T b s m tính kho ng cách Euclid 22 v 2.5.3 S p x p l i th t t b s m 23 2.5.4 Hàm ch n d 2.5.5 Ki u x p t ng 23 2.6 i 23 Các k thu t t ng t c chuyên bi t cho đ đo DTW 24 2.6.1 Gi i h n s ghép đôi m 24 2.6.2 Hàm ch n d 2.6.3 T b s m tính kho ng cách DTW 27 2.7 i cho DTW 25 Các phép bi n đ i thu gi m s chi u 28 2.7.1 Bi n đ i DFT 29 2.7.2 Bi n đ i DWT 32 2.7.3 Bi n đ i PAA 34 2.8 C u trúc ch m c R-tree 35 2.8.1 Tính ch t c a R-tree 35 2.8.2 Các thao tác R-tree 36 2.8.2.1 Xây d ng R-tree 36 2.8.2.2 Tìm ki m R-tree 38 2.9 K t ch ng 40 CH NG LU NG B NG 3.1 TÌM KI M T NG T TRÊN CHU I TH I GIAN D NG O EUCLID 41 Tìm ki m vùng chu i th i gian d ng lu ng b ng đ đo Euclid 41 3.1.1 Các cơng trình liên quan 41 3.1.2 Bài tốn tìm ki m t 3.1.3 Các k thu t h tr ph ng t nhi u chu i th i gian d ng lu ng 45 ng pháp đ xu t 47 3.1.3.1 Chu n hóa z-score gia t ng 47 3.1.3.2 C u trúc ch m c đa m c phân gi i 47 3.1.3.3 Ti n x lý chu i truy v n 48 3.1.3.4 B đ m xoay vòng 52 3.1.3.5 K thu t đa lu ng 53 3.1.4 Mơ hình h th ng tìm ki m t 3.1.5 Ph ng t b ng đ đo Euclid 53 ng pháp RangeSearch 55 vi ánh giá ph 3.1.6 3.2 ng pháp RangeSearch 59 Tìm ki m k lân c n g n nh t chu i th i gian d ng lu ng b ng đ đo Euclid 65 3.2.1 Các cơng trình liên quan 65 3.2.2 Ph ánh giá ph 3.2.3 3.3 ng pháp đ xu t 67 ng pháp k-NNSearch 69 C i ti n cách t o R-tree 73 3.3.1 Gi i thi u toán 73 3.3.2 Các cơng trình liên quan 74 3.3.3 ng cong l p đ y không gian 74 3.3.4 K thu t STR 75 3.3.5 Ph ánh giá ISTR1 ISTR2 79 3.3.6 3.4 ng pháp đ xu t 77 K t ch ng 88 CH NG LU NG B NG 4.1 Tìm ki m t TÌM KI M T NG T TRÊN CHU I TH I GIAN D NG O DTW 90 ng t chu i th i gian d ng lu ng b ng đ đo DTW 90 4.1.1 Các cơng trình liên quan 90 4.1.2 B k thu t UCR-DTW 92 4.1.3 Mơ hình h th ng tìm ki m t 4.1.4 Ph 4.2 ng pháp SUCR-DTW 93 ánh giá ph 4.1.5 C i ti n ph Gi i thi u ph 4.2.2 Ph 4.3 ng pháp SPRING 105 ng pháp ISPRING 106 ánh giá ph Ph ng pháp SUCR-DTW 100 ng pháp SPRING 105 4.2.1 4.2.3 ng t b ng đ đo DTW 92 ng pháp ISPRING 112 ng pháp ESUCR-DTW 118 ng pháp ESUCR-DTW 118 4.3.1 Gi i thi u ph 4.3.2 M r ng hàm ch n d 4.3.3 Gi i thu t ESUCR-DTW 121 4.3.4 ánh giá ph i LB_Keogh 119 ng pháp ESUCR-DTW 121 vii 4.4 Nh n xét t ng quát v ph ng pháp tìm ki m t ng t b ng đ đo DTW 130 4.5 K t ch ng 131 CH NG LU NG D BÁO TR C TUY N TRÊN CHU I TH I GIAN D NG 132 5.1 Gi i thi u toán d báo tr c n 132 5.2 nh ngh a toán 133 5.3 Tiêu chí đo đ xác c a d báo 134 5.4 Làm tr n hàm m đ n gi n 134 5.5 Các m c c tr c c b chu i th i gian 135 5.6 Các cơng trình liên quan 136 5.7 Ph ng pháp đ xu t 138 5.7.1 Ýt 5.7.2 Môi tr 5.7.3 Ho t đ ng c a ph K t ch ng pháp 138 ng ho t đ ng cho ph ánh giá ph 5.7.4 5.8 ng cho ph ng pháp 141 ng pháp 142 ng pháp đ xu t 145 ng 151 CH NG PHÁT HI N K CHU I CON B T TH NG NH T TRONG CHU I TH I GIAN D NG LU NG 153 6.1 Gi i thi u toán phát hi n b t th ng chu i th i gian d ng lu ng 153 6.2 nh ngh a toán 154 6.3 Các cơng trình liên quan 155 6.4 Ph ng pháp SKDIS 159 6.4.1 Môi tr 6.4.2 Ýt 6.4.3 Các ph 6.5 ng ho t đ ng cho ph ng cho ph ng pháp SKDIS 159 ng pháp SKDIS 160 ng pháp k thu t h tr cho ph ng pháp SKDIS 161 Gi i thu t SKDIS 162 6.5.1 Th t c Pha 164 6.5.2 Vài nh n xét v ph 6.6 ánh giá ph 6.6.1 Th ng kê chi ti t ho t đ ng 168 ng pháp SKDIS 165 ng pháp SKDIS 166 viii [107] H Sivaraks and C A Ratanamahatana, "Robust and accurate anomaly detection in ECG artifacts using time series motif discovery," Computational and mathematical methods in medicine, vol 2015, Article ID 453214, 20 pages, 2015 [108] W Kuang, S An and H Jiang, "Detecting traffic anomalies in urban areas using taxi GPS data," Mathematical Problems in Engineering, vol 2015, Article ID 809582, 13 pages, 2015 [109] J Lin, E Keogh, S Lonardi and B Chiu, "A symbolic representation of time series, with implications for streaming algorithms," in Proceedings of the 8th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery, San Diego, CA, USA, Jun 13, 2003, pp 2-11 [110] H T Q Buu and D T Anh, "Time series discord discovery based on iSAX symbolic representation," in 2011 Third International Conference on Knowledge and Systems Engineering (KSE), Hanoi, Vietnam, Oct 14, 2011, pp 11-18 [111] J Shieh and E Keogh, "iSAX: indexing and mining terabyte sized time series," in Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD' 08), Las Vegas, NV, USA, Aug 24-27, 2008, pp 623-631 [112] G Li, O Bräysy, L Jiang, Z Wud and Y Wang, "Finding time series discord based on bit representation clustering," Knowledge-Based Systems, vol 54, pp 243-254, December 2013 [113] N H Kha and D T Anh, "From cluster-based outlier detection to time series discord discovery," Trends and Applications in Knowledge Discovery and Data Mining Lecture Notes in Computer Science, vol 9441, pp 16-28, 2015 [114] Z He, X Xu and S Deng, "Discovering cluster-based local outlies," Pattern Recognition Letters, vol 24, no 9-10, pp 1641-1650, 2003 [115] E Keogh, J Lin, S H Lee and H V Herle, "Finding the most unusual time series subsequence: algorithms and applications," Knowledge and Information Systems, vol 11, no 1, pp 1-27, January 2007 [116] Y Liu, X Chen, F Wang and J Yin, "Efficient detection of discords for time series stream," Advances in Data and Web Management Lecture Notes in Computer Science, vol 5446, pp 629-634, 2009 [117] D Toshniwal and S Yadav, "Adaptive outlier detection in streaming time series," in Proceedings of International Conference on Asia Agriculture and Animal (ICAAA 2011), Hong Kong, China, Jul 02-03, 2011, pp 186-191 198 [118] H Sanchez and B Bustos, "Anomaly detection in streaming time series based on bounding boxes," Similarity Search and Applications SISAP 2014 Lecture Notes in Computer Science, vol 8821, pp 201-213, 2014 [119] C C M Yeh, Y Zhu, L Ulanova, N Begum, Y Ding, H A Dau, D F Silva, A Mueen and E Keogh, "Matrix profile I: all pairs similarity joins for time series: A unifying view that includes motifs, discords and shapelets," in 2016 IEEE 16th International Conference on Data Mining (ICDM), Barcelona, Spain, Dec 12-15, 2016, pp 1317-1322 [120] C.-C M Yeh, Y Zhu, L Ulanova, N Begum, Y Ding, H A Dau, Z Zimmerman, D F Silva, A Mueen and E Keogh, "Time series joins, motifs, discords and shapelets: a unifying view that exploits the matrix profile," Data Mining and Knowledge Discovery, vol 32, no 1, pp 83-123, 2018 [121] L V Do and D T Anh, "Some improvements for time series subsequence join based on Pearson correlation coefficients," in Proceedings of 7th International Symposium on Information and Communication Technology (SoICT 2016), Ho Chi Minh City, Vietnam, Dec 08-09, 2016, pp 58-65 [122] E Keogh, J Lin and A Fu, "Data Mining Large Medical Time Series Databases," [Online] Available: http://www.cs.ucr.edu/~eamonn/discords/ [Accessed September 2019] [123] "Spark Streaming," The Apache Software Foundation, [Online] Available: https://spark.apache.org/streaming/ [Accessed October 2019] 199 PH L C A A.1 Ph VÀI PH NG PHÁP VÀ GI I THU T TÌM KI M T NG T TRÊN CHU I TH I GIAN ng pháp c a Kahveci Singh Kahveci Singh n m 2003 [60] gi i thi u m t c u trúc ch m c đa m c phân gi i đ tìm ki m t ng t cho chu i truy v n có chi u dài khác nhi u chu i th i gian C u trúc ch m c R-tree l u m đ c tr ng c a chu i th i gian m c phân gi i khác t ng m c phân gi i, m đ c tr ng c a chu i có chi u dài m t chu i th i gian đ c l p ch m c m t R-tree Có nhi u chu i th i gian v y có nhi u R-tree m t m c phân gi i Trong m t chu i th i gian có chu i có chi u dài khác v y m t chu i th i gian có m đ c tr ng đ cl u nhi u R-tree t C u trúc ch m c đa m c phân gi i đ ng ng v i m c phân gi i khác c mô t chi ti t nh sau G i s chu i th i gian dài nh t c s d li u, ta có m t giá tr nguyên b cho 2b ≤ |s| ≤ 2b+1 Chu i th i gian nh nh t 2a v i s nguyên a đó, hi n nhiên a ≤ b G i s1, s2,…, sn chu i th i gian c s d li u C u trúc ch m c ch a Ti,j v i i = a b, j = n nh Hình A.1 Cây Ti,j m t t p h p MBR cho chu i sj v i chi u dài c a chu i n m khít m t c a s có kích th đ có Ti,j m i chu i chi u dài 2i c a sj đ c 2i M t cách chi ti t h n, c rút trích vài h s đ c tr ng đ u tiên b ng bi n đ i DFT ho c bi n đ i Haar wavelet; sau k t qu l u vào MBR t Hàng th i c a c u trúc ch m c Ri = {Ti,1 , Ti,2 , , Ti,n} t t t c m c l c 2i T Cj = {Ta,j , Ta+1,j , , Tb,j} t ng ng ng ng m t t p h p ch a ng t , c t th j c a c u trúc ch m c đa m c phân gi i ng ng m t t p h p ch a t t c R-tree cho chu i sj Gi i thu t tìm ki m vùng k lân c n g n nh t s d ng c u trúc ch đa m c phân gi i đ c trình bày tóm t t nh sau Chu i truy v n đ v n có chi u dài 2i t ng chu i truy v n t c chia thành nhi u chu i truy ng ng v i m t m c phân gi i c a c u trúc ch m c Nh n xét r ng v i cách t o chu i truy v n nh v y chu i truy v n ch ng l p lên Sau MBR ng viên t i m c phân gi i đ c l c b ng cách s d ng chu i truy v n có m đ c tr ng t A1 ng t v i Hình A.1 S đ c u trúc ch m c đa m c phân gi i (ngu n [60]) m đ c tr ng c a chu i đ c l u MBR Vi c l c t m c phân gi i th p đ n cao s có thêm ho t đ ng tinh ch nh bán kính đ thu h p t p h p MBR ng viên T t p h p MBR ng viên cu i cùng, chu i th i gian t K t qu th c nghi m cho th y ph ng t v i chu i truy v n đ c tìm ng pháp tìm ki m s d ng c u trúc ch m c đa m c phân gi i nhanh h n t đ n 20 l n so v i k thu t quét tu n t cho tìm ki m vùng, nhanh h n l n so v i k thu t quét tu n t cho tìm ki m k lân c n g n nh t A.2 Ph Ph ng pháp đ xu t k-NNSearch ng pháp k-NNSearch th c hi n tìm ki m k lân c n g n nh t chu i th i gian lu ng Ph ng pháp có hai pha th c hi n: Pha 1: Ti n x lý t t c chu i truy v n đ t o nên m t c u trúc ch m c đa m c phân gi i m t m ng R*-tree (xem m c 3.1.3.2) L u ý r ng phân đo n c a chu i truy v nđ c chu n hoá đ Các m đ c tr ng đ c rút trích m đ c tr ng ch m t l n giai đo n cl u R*-tree t ng ng v i m c l c Còn phân đo n c a A2 chu i m i t i đ c chu n hóa gia t ng đ c rút trích m đ c tr ng có m t m d li u th i gian m i t i Pha 2: Tìm ki m k lân c n g n nh t đ thu t có s d ng ký hi u đ c th c hi n b ng gi i thu t k-NNSearch Gi i c đ nh ngh a B ng A.1 Lúc đ u t p h p kNN c a chu i truy v n đ c kh i t o v i k chu i gi (false items) có giá tr kho ng cách t i chu i truy v n ∞ L u ý thêm r ng chu i gi chu i khơng có th t M i ph ng pháp đ xu t tìm th y m t chu i c m i t i c a m t chu i th i gian d ng lu ng m t k chu i lân c n g n nh t c a chu i truy v n q n u t p h p q.kNN cịn có chu i gi c s thay th chu i gi q.kNN, lúc B ng A.1 M t vài ký hi u cho gi i thu t k-NNSearch Ký hi u Ý ngh a X = x1, x2,…, xn… Chu i th i gian X d ng lu ng xn m d li u m i nh t q Chu i truy v n nq Chu i q đ q.kNN T p h p k chu i c a chu i th i gian d ng lu ng k chu i chu i lân c n g n nh t c a q T p đ c m t hàng đ i (queue) đ c s p x p theo th t t ng d n c a kho ng cách gi a chu i lân c n đ c chu n hoá nq m T ng s chu i truy v n c chu n hoá SortedByToleranceList C u trúc d li u bi u di n danh sách chu i truy v n đ s p x p theo th t dung sai gi m d n c Chu i m i t i t nc Chu i c đ maxlevel S m c l c t i đa si Phân đo n th i c a c, i: 1…maxlevel nsi Chu i si đ pi ng ng v i q c chu n hoá c chu n hoá i m đ c tr ng c a nsi A3 c Hình A.2 Minh ho kNNinfo c m t chu i th t (true item) q.kNN B ng cách này, t i m t th i m q.kNN s ch a k chu i th t ta ký hi u cmax chu i lân c n g n nh t th k c a q K t lúc tr n u có m t chu i c’ m i t i g n h n v i q so v i cmax cmax s b lo i kh i q.kNN c’ đ c a q (cmax m i) c n đ B c thêm vào q.kNN Khi đó, chu i lân c n g n nh t th k c xác đ nh l i c kh i t o làm thêm m t s công vi c nh sau T o NotFullQueryList danh sách có ph m vi tồn c c ch a chu i truy v n mà t p h p kNN c a chúng v n có chu i gi Ban đ u NotFullQueryList ch a t t c chu i truy v n K ti p t o danh sách kNNinfo có ki u SortedByToleranceList có ph m vi tồn c c ch a chu i truy v n mà t p h p kNN c a chúng ph i ch a toàn chu i th t Ban đ u kNNinfo danh sách r ng Hình A.2 minh ho m t th hi n c a kNNinfo ch a chu i truy v n dung sai c a chúng sau m t kho ng th i gian th c hi n k-NNSearch Gi i thu t k-NNSearch Input: X: chu i th i gian d ng lu ng xn m d li u m i t i Output: T p h p q.kNN c a chu i truy v n Variables: - SCandidates: danh sách c c b t nh ch a chu i truy v n ng viên mà có t p h p k lân c n g n nh t đ y Ki u c a danh sách SortedByToleranceList - SNotFullQueryList: danh sách c c b t nh ch a chu i truy v n ng viên mà t p h p k lân c n g n nh t c a ch a đ y, ngh a ch a chu i gi - tempList: danh sách chu i truy v n có ki u SortedByToleranceList - potentialSet: danh sách chu i truy v n ng viên - dmax: kho ng cách l n nh t q.kNN A4 begin if SCandidates không b ng kNNinfo then lock kNNinfo Chép kNNinfo vào SCandidates if |SCandidates| < m then // b c chu n b Chép NotFullQueryList vào SNotFullQueryList if |SCandidates| > then tempList for i = to maxlevel // b c xét SCandidates SCandidates L y m đ c tr ng pi c a nsi b ng m t phép bi n đ i thu gi m s chi u 10 potentialSet 11 foreach (Query q in potentialSet) IRangeSearchInRtree( R*-tree[i], pi, tempList) if i m c l c l n nh t c a q then Xoá q kh i potentialSet 12 13 14 d ED(nq, nc) 15 lock q.kNN 16 // h u ki m L y dmax t q.kNN if d < dmax then q.kNN.Dequeue 17 18 19 q.kNN.Enqueue(c) v i d 20 L y dmax t q.kNN 21 lock kNNinfo 22 C p nh t q dmax c a vào kNNinfo 23 end foreach 24 if potentialSet = ∅ then break 25 26 27 tempList s p x p potentialSet theo dung sai gi m d n end for 28 if |SNotFullQueryList| > then 29 // b foreach (Query q in SNotFullQueryList) 30 d ED(nq, nc) 31 lock q.kNN A5 c xét SNotFullQueryList 32 L y dmax t q.kNN 33 if dmax = ∞ then 34 q.kNN.Dequeue 35 q.kNN.Enqueue(c) v i d 36 37 L y dmax t q.kNN if dmax < ∞ then 38 lock kNNinfo 39 Thêm q dmax c a q vào kNNinfo 40 Xoá q t NotFullQueryList else 41 if d < dmax then q.kNN.Dequeue 42 43 44 q.kNN.Enqueue(c) v i d 45 L y dmax t q.kNN 46 lock kNNinfo 47 48 C p nh t q dmax c a q vào kNNinfo end foreach end Có m t s u đáng ý v b • B c th c hi n gi i thu t k-NNSearch: c chu n b N u SCandidates không ch a t t c NotFullQueryList đ truy v n c l u vào SNotFullQueryList (dòng 5) Vi c l u (dòng 5) đ m b o r ng gi i thu t thao tác tài nguyên c c b , ch khơng ph i tài ngun tồn c c đ NotFullQueryList đ • B c chia s Ti p theo, hai tài nguyên c c b SCandidates c xem xét l n l t c xét SCandidates Dòng hàm ý r ng phân đo n si đ m đ c tr ng c a t ng phân đo n đ v n vùng nâng cao R*-tree t c chu n hóa gia t ng c l y qua t ng m c l c Sau truy ng ng m c l c th i đ c th c hi n b i hàm IrangeSearchInRtree đ t o m t t p h p chu i truy v n có th t ng t v i chu i m i t i Vi c ki m tra qua t ng m c l c có th k t thúc s m n u t p h p chu i truy v n ng viên r ng (dịng 24 25) B i k t qu A6 tr v c a IRangeSearchInRtree không ph i ki u c u trúc d li u SortedByToleranceList, nên k t qu c n đ tempList đ c s p x p theo theo th t dung sai gi m d n (dòng 26) đ c s d ng cho m c l c ti p theo • Vi c h u ki m t i dòng 14 nh m xác đ nh chu i truy v n th t s tìm th y chu i m i t i thu c t p h p kNN c a N u u ki n t i dịng 17 tho chu i t ng t v i chu i truy v n q mà xa nh t v i q b l y kh i t p h p q.kNN (dòng 18) chu i m i t i đ m ic aqđ • B c thêm vào q.kNN (dịng 19) Sau dung sai c c p nh t kNNinfo (dòng 22) c xét SNotFullQueryList đ l p đ y t p h p kNN c a chu i truy v n v i chu i th t N u q.kNN ch a đ y chu i th t, u có ngh a u ki n c a dịng 37 tho q đ c thêm vào kNNinfo (dịng 39) q b xố kh i NotFullQueryList (dịng 40) L u ý r ng ti n trình lu ng xem xét q danh sách c c b SNotFullQueryList m t ti n trình lu ng khác có th xố q t danh sách có ph m vi tồn c c NotFullQueryList Do đó, dung sai dmax c a q bây gi đ c xác đ nh v y gi i thu t c n ph i ki m tra kho ng cách th c t d có nh h n dmax hay khơng N u u ki n dịng 42 tho , t p h p q.kNN c n c p nh t (dòng 43 44) dung sai dmax c a q c ng đ c c p nh t kNNinfo (dòng 47) h tr truy v n vùng R*-tree, nút R*-tree c n bao g m thông tin m đ c tr ng mà n m MBR c a nút Thơng tin danh sách ph n t có c u trúc pointID, entryID, hmin Danh sách theo th t pointID v i pointID queryID (s đ nh danh cho chu i truy v n) entryID child-pointer c a nút có ch a m đ c tr ng hmin kho ng cách t m t i b m t biên g n nh t c a MBR c a nút xét Hình A.3 minh ho c u trúc m t nút c a R*-tree bao g m MBR c a nút entryID (hay child-pointer) c a nút thông tin m mà n m MBR c a nút Hình A.4 th hi n m t thông tin d i d ng danh sách c n thêm vào nút đ ph c v truy v n vùng nâng cao Hàm IRangeSearchInRtree đ c g i t i dòng 10 c a gi i thu t k-NNSearch Hàm quan tr ng th c hi n truy v n vùng nâng cao cho m đ c tr ng point c a chu i m i t i m t danh sách qlist ch a t p h p chu i truy v n ng viên qlist có ki u SortedByToleranceList Truy v n vùng b t đ u t m t nút c a R*-tree K t qu tr v A7 Hình A.3 C u trúc m t nút c a R*-tree có thêm thơng tin m n m MBR c a nút Hình A.4 Minh ho thông tin c n thêm vào m t nút đ ph c v truy v n vùng Hình A.5 M t th hi n c a qlist c a IRangeSearchInRtree chu i truy v n có qlist mà có dung sai ch p nh n point Hình A.5 minh ho m t th hi n c a danh sách qlist danh sách tham s đ u vào cho hàm IRangeSearchInRtree Hàm IRangeSearchInRtree(node, point, qlist) Input: node: nút c a R*-tree, point: m đ c tr ng c a chu i m i t i qlist: t p h p chu i truy v n ng viên Output: potentialSet: danh sách chu i truy v n ng viên A8 Variable: cl: m ng c a danh sách c a chu i truy v n ng viên nút mà c nđ c vi ng th m nút m c th p h n Các ch m c c a m ng entryIDs c a child nodes begin potentialSet ∅ Tính kho ng cách dc gi a point MBR c a node if dc = then foreach (item in qlist) L y entryID c a item t node.information Thêm item vào cl[entryID] end foreach else foreach (item in qlist) if dc >= item.tolerance then 10 break 11 12 L y hmin c a item t node.information 13 if dc + hmin < item.tolerance then 14 L y entryID c a item t node.information 15 Thêm item vào cl[entryID] 16 end foreach 17 if cl = ∅ then 18 return potentialSet 19 if node nút then 20 21 22 23 24 foreach (item in qlist) Tính kho ng cách dc gi a point point c a item if dc < item tolerance then Thêm item vào potentialSet end foreach 25 else 26 // nút n i foreach (SortedByToleranceList el in cl) // child nút c a node, child có entryID tham chi u đ n el 27 potentialSet IRangeSearchInRtree(child, point, el) A9 potentialSet end foreach 28 29 return potentialSet end Có m t vài nh n xét v gi i thu t IRangeSearchInRtree nh sau • N u u ki n c a dòng tho , ngh a m đ c tr ng point c a chu i m i t i n m bên hay biên c a MBR chu i truy v n ng viên đ đ c l y t qlist c thêm vào danh sách cl[entryID] (dòng 6) v i entryID s ID (hay chidl- pointer) c a nút có MBR ch a m đ c tr ng c a chu i • N u u ki n c a dịng khơng tho , ngh a point n m MBR c a nút ta xét ti p u ki n sau Do danh sách qlist ch a chu i truy v n đ cs px p theo dung sai gi m d n v y n u u ki n dịng 10 tho gi i thu t không c n xét chu i truy v n k ti p qlist vòng l p (t dòng đ n 16) k t thúc s m N u u ki n xét) đ dòng 13 tho (xem m c 3.2.2) item (chu i truy v n c thêm vào danh sách cl[entryID] (dòng 15) Sau t qua danh sách qlist, n u cl khơng có b t k chu i truy v n ng viên gi i thu t k t thúc s m danh sách chu i truy v n ng viên potentialSet đ c tr v (dịng 18) Hình A.6 minh ho m t th hi n c a cl m t m ng v i hai entryID • N u node nút c a R*-tree m c (entry) c a node ch t i đ i t ng m đ c tr ng c a chu i truy v n Vòng l p (dòng 20 đ n 24) t t ng đ i t đ c tr ng danh sách qlist N u kho ng cách gi a point đ i t tr ng nh h n dung sai c a chu i truy v n xét item đ ng m ng m đ c c thêm vào danh sách k t qu potentialSet (dịng 22) Hình A.6 M t m ng cl ch a danh sách có ki u SortedByToleranceList A10 • N u node nút n i c a R*-tree, xét t ng danh sách el ch a chu i truy v n ng viên n m MBR c a m t nút c a node (dòng 26) IRangeSearchInRtree đ đ c g i đ quy t i dòng 27 k t qu tr v c a hàm c thêm vào potentialSet • Hàm IRangeSearchInRtree ph i b t đ u t nút g c c a R*-tree v y t i dịng 10 c a gi i thu t k-NNSearch, hàm IRangeSearchInRtree đ c g i v i hàm ý IRangeSearchInRtree(R*-tree.root, pi, tempList) A.3 Gi i thu t UCR-DTW B k thu t UCR-DTW đ c th hi n b ng gi i thu t UCR-DTW th c hi n vi c tìm ki m chu i t t nh t cho đ n hi n t i cho chu i truy v n q chu i th i gian T Gi i thu t tr v m t chu i c a T mà có chi u dài b ng v i q t v i chu i truy v n Gi i thu t s d ng m t s ký hi u đ ng t nh t c mơ t B ng A.2 Có m t s m đáng đáng ý gi i thu t Th nh t, hàm ch n d i LB_Kim (dòng 6), LB_Keogh (dòng 8), LB_Keogh ngh ch (dịng 10) hàm tính tốn chân ph ng kho ng cách DTW (các dòng 13 15) đ u s d ng bsf nh m t c n (upper B ng A.2 M t vài ký hi u cho gi i thu t UCR-DTW Ký hi u Ý ngh a T Chu i th i gian t nh s M t phân đo n l n c a T q Chu i truy v n l Chi u dài chu i truy v n q nq Chu i q đ bsf Giá tr bsf c a q w c chu n hoá r ng c a d i Sakoe-Chiba Es Hình bao c a s đ ct ov iw c Chu i c a T t nc Chu i c đ cb1, cb2 Hai m ng c n tích l y ng ng v i q c chu n hoá A11 Gi i thu t UCR-DTW Input: T: chu i th i gian t nh, q: chu i truy v n Output: bsf: giá tr bsf c a q bsf ∞ L y t ng phân đo n s c a T Xây d ng Es S d ng c a s tr c t ng b t có chi u dài l đ tr c tr t s Ho t đ ng rút trích t chu n hoá gia t ng c nc lb_Kim if lb_Kim < bsf then LB_Kim(nq, nc, bsf) (lb_Keogh1, cb1) LB_Keogh(nq, nc, bsf) if lb_Keogh1 < bsf then 10 // s d ng LB_Keogh ngh ch (lb_Keogh2, cb2) LB_Keogh(nc, nq, bsf) 11 if lb_Keogh2 < bsf then 12 if lb_Keogh1 > lb_Keogh2 then 13 14 15 d DTW(nq, nc, bsf, cb1) d DTW(nq, nc, bsf, cb2) else 16 if d < bsf then 17 bsf d bound) đ có th t b s m lúc th c hi n hàm Nh v y m c đ nh b k thu t UCR-DTW có s d ng đ r ng w c a d i Sakoe-Chiba LB_Keogh LB_Keogh ngh ch Ti p theo, có th chi u dài c a T r t l n, v y T đ cl ym tl nm t phân đo n l n s, chi u dài c a s có th 1.000.000 m d li u (dòng 2) Vi c xây d ng hình bao Es c a phân đo n s (dòng 3) đ ph ng pháp c a Lemire [101] sau Es đ A12 c th c hi n m t l n b ng c s d ng LB_Keogh ngh ch (dòng 10) cho t t c chu i c s T i dòng 4, c đ m t b đ m xoay vịng có kích th c rút trích t s r i đ c l u tr c g p đôi chi u dài c a q Chu n hố gia t ng t i dịng th c t tr v h s z-score c a c, t i th i m d li u c a chu i chu n hoá nc v n ch a đ nc mà c n đ c xác đ nh Nh có h s z-score, m d li u c a c s d ng LB_Kim (dòng 6) LB_Keogh (dòng 8) s đ th i m c n đ n LB_Kim dịng đ c tính tốn c thay đ i nh so v i phiên b n g c [31] đ tính tốn ba m d li u đ u tiên ba m cu i c a nq nc Trong dòng 8, LB_Keogh s d ng hình bao có s n c a nq (hình bao đ c xây d ng ch m t l n) N u gi i thu t đ n dịng 10, m d li u c a nc đ c xác đ nh hồn tồn vào lúc này, LB_Keogh ngh ch khơng c n ph i tính l i chúng Hàm ch n d nq nc t i dòng tr v kho ng cách ch n d m t m ng c n tích l y cb1 T i LB_Keogh i c a hai chu i chu n hoá lb_Keogh1 ng t nh v y, t i dịng 10 vi c tính LB_Keogh ngh ch tr v lb_Keogh2 cb2 Hàm DTW t i dòng 13 15 s d ng cb1 cb2 cho kh n ng t b s m tính kho ng cách DTW A13 ... as online forecasting or anomaly detection in streaming time series In order to minimize the execution time of online forecasting, the proposed method use major extrema in streaming time series. .. of similarity search in streaming time series under Euclidean measure and DTW measure In order to acquire meaningful and accurate search results, normalizing time- series data needs conducting... streaming time series is a big challenge for researchers because similarity search methods in static time series are hardly suitable for a streaming environment Also, so far research works on similarity