IP Library Granted Patent US 12,423,300
Granted Patent B2
US 12,423,300 · App. 18/567,717 · Granted Sep 23, 2025

Error-bounded approximate time series join using compact dictionary representation of time series

Inventors: Michael Yeh (Newark, CA); Yan Zheng (Los Gatos, CA); Junpeng Wang (Santa Clara, CA); Wei Zhang (Fremont, CA); Zhongfang Zhuang (Mountain View, CA)
Assignee: Visa International Service Association
G06F16/24537G06F16/2465G06F16/2477
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,423,300
App. No.
18/567,717
Granted
Sep 23, 2025
Kind
B2
Abstract

A method is disclosed. The method comprises determining a time series, a subsequence length. The length of the time series may then be determined, and an initial matrix profile may then be computed. The method may then form a processed matrix profile for a first subsequence of the subsequence length by applying the first subsequence to the initial matrix profile. A second subsequence may then be determined from the processed matrix profile. The method may then include comparing the second subsequence to other subsequences in a dictionary and adding it to the dictionary. The subsequences in the dictionary may be used to generate a plurality of subsequence matrix profiles. The method may then include forming an approximate matrix profile using the plurality of subsequence matrix profiles and then determining one or more anomalies in the time series or another time series using the approximate matrix profile.

Claims (49)

1. A method comprising:

a) determining, by a server computer, a time series corresponding to time-dependent events;

b) determining, by the server computer, a subsequence length;

c) determining a length of the time series;

d) computing, by the server computer, an initial matrix profile using the time series;

e) forming, by the server computer, a processed matrix profile for a first subsequence of the subsequence length by applying the first subsequence to the initial matrix profile;

f) determining, by the server computer, a second subsequence from the processed matrix profile;

g) adding, by the server computer, the determined second subsequence to a dictionary comprising a subset of subsequences in the time series;

h) generating, by the server computer, a plurality of subsequence matrix profiles by applying the subset of subsequences in the dictionary to the time series or another time series;

i) forming, by the server computer, an approximate matrix profile by taking element-wise minimums of the plurality of subsequence matrix profiles; and

j) determining one or more anomalies in the time series using the approximate matrix profile.

2. The method of claim 1 wherein the initial matrix profile is generated by:

a-1) determining a subsequence of the time series;

b-1) applying the subsequence to the time series to form a distance profile;

c-1) repeating a)-1 and b)-1 for each subsequence in the time series; and

d-1) forming the initial matrix profile using the distance profiles.

3. The method of claim 1 , wherein steps e)-h) are repeated until all subsequences in the time series are processed.

4. The method of claim 1 , wherein the determined second subsequence is added in the dictionary if the second subsequence or a subsequence substantially similar to the second subsequence is not stored in the dictionary.

5. The method of claim 1 , wherein after f) determining the second subsequence from the processed matrix profile, the method further comprises:

comparing, by the server computer, the second subsequence to other subsequences in the dictionary.

6. The method of claim 5 , wherein as a result of comparing the second subsequence to the other subsequences in the dictionary results in combining the second subsequence with an overlapping subsequence in the dictionary.

7. The method of claim 1 , wherein forming the approximate matrix profile using the plurality of subsequence matrix profiles comprises performing an element-wise minimum operation on the plurality of subsequence matrix profiles.

8. The method of claim 1 , wherein j) determining one or more anomalies in the time series using the approximate matrix profile comprises determining a maximum value of the approximate matrix profile.

9. The method of claim 1 , wherein the subsequence length corresponds to a length of a subsequence in the time series.

10. The method of claim 1 , wherein the method further comprises determining a contextual window factor, wherein the contextual window factor is a value that adjusts the subsequence length.

11. The method of claim 1 , wherein the plurality of subsequence matrix profiles are generated until a terminal condition is met.

12. The method of claim 11 , wherein the terminal condition is based on a max error.

13. The method of claim 1 , wherein the subsequence length is determined based upon a shape of the time series.

14. A server computer comprising:

a processor; and

a non-transitory computer readable medium comprising instructions executable by the processor to perform operations including:

a) determining a time series corresponding to time-dependent events;

b) determining a subsequence length;

c) determining a length of the time series;

d) computing an initial matrix profile using the time series;

e) forming a processed matrix profile for a first subsequence of the subsequence length by applying the first subsequence to the initial matrix profile;

f) determining a second subsequence from the processed matrix profile;

g) adding the determined second subsequence to a dictionary comprising a subset of subsequences in the time series;

h) generating a plurality of subsequence matrix profiles by applying the subset of subsequences in the dictionary to the time series or another time series;

i) forming an approximate matrix profile by taking element-wise minimums of the plurality of subsequence matrix profiles; and

j) determining one or more anomalies in the time series using the approximate matrix profile.

15. The server computer of claim 14 , wherein the initial matrix profile is generated by:

a-1) determining a subsequence of the time series;

b-1) applying the subsequence to the time series to form a distance profile;

c-1) repeating a)-1 and b)-1 for each subsequence in the time series; and

d-1) forming the initial matrix profile using the distance profiles.

16. The server computer of claim 14 , wherein the subsequence length corresponds to the length of a subsequence in the time series.

17. The server computer of claim 14 , wherein generating the approximate matrix profile comprises using an inter-similarity join matrix profile between the plurality of subsequence matrix profiles.

18. The server computer of claim 14 , wherein generating the plurality of subsequence matrix profiles includes applying the subset of subsequences in the dictionary to the time series.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2023
From: YEH, MICHAEL; ZHENG, YAN; WANG, JUNPENG; ZHANG, WEI; ZHUANG, ZHONGFANG
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 065841/0622 →
Continuity (2)
Provisional Application 63197854 · Jun 7, 2021
Related Publication 20240273095A1 · Aug 15, 2024
References Cited (16)
US 10853372B1 · Mueen et al. · 2020 [cited by applicant]
US 20190129821A1 · Lee · 2019 [cited by examiner]
US 20190227504A1 · Ma et al. · 2019 [cited by applicant]
US 20190310927A1 · Masuzaki et al. · 2019 [cited by applicant]
US 20200257686A1 · Law · 2020 [cited by examiner]
US 20200258157A1 · Law · 2020 [cited by applicant]
US 20200301405A1 · Zhang et al. · 2020 [cited by applicant]
US 20210042382A1 · Freeman et al. · 2021 [cited by applicant]
Yeh , “Towards a Near Universal Time Series Data Mining Tool Introducing the Matrix Profile”, Cornell University Library, Nov. 5, 170 pages. (Year: 2018). [cited by examiner]
PCT/US2022/031792 , “International Search Report and Written Opinion”, Sep. 20, 2022, 11 pages. [cited by applicant]
Zhu et al., “Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds”, IEEE International Conference on Data Mining (ICDM), Nov. 2018, 10 pages. [cited by applicant]
Zimmerman et al. “Matrix Profile XVIII: Time Series Mining in the Face of Fast Moving Streams using a Learned Approximate Matrix Profile”, IEEE International Conference on Data Mining (ICDM), Nov. 2019, 10 pages. [cited by applicant]
Alshaer et al., “Detecting Anomalies From Streaming Time Series Using Matrix Profile and Shapelets Learning”, 2020 Institute of Electrical and Electronics Engineers 32nd International Conference on Tools with Artificial… [cited by applicant]
EP22820784.1 , “Extended European Search Report”, Sep. 24, 2024, 7 pages. [cited by applicant]
Saadat et al., “Explaining Differences in Classes of Discrete Sequences”, 2020 Institute of Electrical and Electronics Engineers/WIC/Association for Computing Machinery International Joint Conference on Web Intelligence… [cited by applicant]
Yeh , “Towards a Near Universal Time Series Data Mining Tool: Introducing the Matrix Profile”, Cornell University Library, Nov. 5, 2018, 170 pages. [cited by applicant]