Systems and methods for clustering time series data based on pattern-focused distance metrics and dynamic weight selection
Abstract
A device may receive time series data, and may convert the time series data into binary data. The device may calculate Hamming distances for the binary data, and may translate the time series data to vectors that capture patterns over a time period of the time series data. The device may calculate vector Euclidean distances for the vectors, and may calculate Euclidean distances for the time series data. The device may select weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances, and may apply the weights to the Hamming distances, the vector Euclidean distances, and the Euclidean distances. The device may process the time series data, the weighted Hamming distances, the weighted vector Euclidean distances, and the weighted Euclidean distances, with a clustering model, to generate clusters for the time series data, and may perform one or more actions based on the clusters.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
calculating, by a device, Hamming distances for binary data representing time series data; translating, by the device, the time series data to vectors that capture patterns over a time period of the time series data; calculating, by the device, vector Euclidean distances for the vectors; calculating, by the device, Euclidean distances for the time series data; selecting, by the device, weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances; applying, by the device, the weights to the Hamming distances, the vector Euclidean distances, and the Euclidean distances to generate weighted Hamming distances, weighted vector Euclidean distances, and weighted Euclidean distances; processing, by the device, the time series data, the weighted Hamming distances, the weighted vector Euclidean distances, and the weighted Euclidean distances, with a clustering model, to generate clusters for the time series data; and performing, by the device, one or more actions based on the clusters.
2 . The method of claim 1 , further comprising:
converting the time series data into the binary data by converting the time series data to binary strings that capture undulations over the time period of the time series data.
3 . The method of claim 1 , wherein each of the Hamming distances represents a quantity of bit positions in which two bits, of the binary data, are different.
4 . The method of claim 1 , wherein translating the time series data to the vectors comprises:
calculating an average of values for each of a plurality of time steps of the time series data; determining a deviation of each value of the time series data and the average; and generating the vectors based determining the deviation of each value of the time series data and the average.
5 . The method of claim 1 , wherein the vector Euclidean distances represent distances between the vectors.
6 . The method of claim 1 , wherein selecting the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances comprises:
selecting the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances to decrease intra-cluster variance for the time series data.
7 . The method of claim 1 , wherein selecting the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances comprises:
selecting weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances to increase inter-cluster variance for the time series data.
8 . A device, comprising:
one or more processors configured to:
receive time series data;
convert the time series data into binary data,
wherein the binary data includes binary strings that capture undulations over a time period of the time series data;
calculate Hamming distances for the binary data;
translate the time series data to vectors that capture patterns over the time period of the time series data;
calculate vector Euclidean distances for the vectors;
calculate Euclidean distances for the time series data;
select weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances to decrease intra-cluster variance;
apply the weights to the Hamming distances, the vector Euclidean distances, and the Euclidean distances to generate weighted Hamming distances, weighted vector Euclidean distances, and weighted Euclidean distances;
process the time series data, the weighted Hamming distances, the weighted vector Euclidean distances, and the weighted Euclidean distances, with a clustering model, to generate clusters for the time series data; and
perform one or more actions based on the clusters.
9 . The device of claim 8 , wherein the one or more processors, to select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances, are configured to:
calculate weighted distances for different combinations of the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances; determine intra-cluster variances for the weighted distances; and select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances based on the intra-cluster variances.
10 . The device of claim 8 , wherein the one or more processors, to select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances, are configured to:
iterate different combinations of the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances to generate intra-cluster variances; and apply a convergence criterion to the intra-cluster variances to select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances.
11 . The device of claim 8 , wherein the one or more processors, to perform the one or more actions, are configured to:
identify similar cell towers based on the clusters and network traffic provided by the time series data.
12 . The device of claim 8 , wherein the one or more processors, to perform the one or more actions, are configured to:
identify retail store segments based on the clusters and sales patterns provided by the time series data.
13 . The device of claim 8 , wherein the one or more processors, to perform the one or more actions, are configured to:
identify a product or a service based on the clusters and sales and revenues provided by the time series data.
14 . The device of claim 8 , wherein the one or more processors, to perform the one or more actions, are configured to one or more of:
forecast energy consumption for cell towers based on the clusters; or forecast network capacities for cell towers based on the clusters.
15 . A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a device, cause the device to:
receive time series data;
convert the time series data into binary data;
calculate Hamming distances for the binary data,
wherein each of the Hamming distances represents a quantity of bit positions in which two bits, of the binary data, are different;
translate the time series data to vectors that capture patterns over a time period of the time series data;
calculate vector Euclidean distances for the vectors;
calculate Euclidean distances for the time series data;
select weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances;
apply the weights to the Hamming distances, the vector Euclidean distances, and the Euclidean distances to generate weighted Hamming distances, weighted vector Euclidean distances, and weighted Euclidean distances;
process the time series data, the weighted Hamming distances, the weighted vector Euclidean distances, and the weighted Euclidean distances, with a clustering model, to generate clusters for the time series data; and
perform one or more actions based on the clusters.
16 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to convert the time series data into the binary data, cause the device to:
convert the time series data to binary strings that capture undulations over the time period of the time series data.
17 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to translate the time series data to the vectors, cause the device to:
calculate an average of values for each of a plurality of time steps of the time series data; determine a deviation of each value of the time series data and the average; and generate the vectors based determining the deviation of each value of the time series data and the average.
18 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances, cause the device to:
select weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances to decrease intra-cluster variance for the time series data and to increase inter-cluster variance for the time series data.
19 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances, cause the device to:
calculate weighted distances for different combinations of the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances; determine intra-cluster variances for the weighted distances; and select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances based on the intra-cluster variances.
20 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances, cause the device to:
iterate different combinations of the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances to generate intra-cluster variances; and apply a convergence criterion to the intra-cluster variances to select the weights for the Hamming distances, the vector Euclidean distances, and the Euclidean distances.Join the waitlist — get patent alerts
Track US2025094832A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.