Change point detection device and program

The change-point detection device efficiently identifies system state changes in non-stationary and non-iid data by tracking cluster transitions and calculating probability tensors, reducing recalibration costs and time.

WO2026022934A1PCT designated stage Publication Date: 2026-01-29NT T INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/026323
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-23
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing change detection methods for AI models require extensive recalibration due to non-stationary and non-iid time series data, leading to increased calculation time and cost, especially when periodic fluctuations occur.

Method used

A change-point detection device utilizing an input unit, time window generation, clustering, cluster transition sequence creation, and tensor calculation to identify changes in system states, reducing the need for full recalibration by tracking cluster transitions and calculating probability tensors.

Benefits of technology

Effectively detects changes in system states with reduced calculation time and cost, even with non-stationary and non-iid data, by focusing on cluster transitions and periodic fluctuations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024026323_29012026_PF_FP_ABST
    Figure JP2024026323_29012026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure is a change point detection device including a clustering unit that clusters prescribed dimensional data at each time point in a preset past period and current period and thereby classifies the data into clusters. This clustering unit calculates centroid coordinates of each cluster at an immediately preceding time point when time-series data was input, on the basis of coordinates of each set of prescribed dimensional data belonging to each cluster, and prestores, in a storage unit, first handover data that associates the centroid coordinates of each cluster with the classification results of the prescribed dimensional data at each time point. At the latest time point when the latest data is observed, the clustering unit clusters and classifies prescribed dimensional data at each time point constituting the time-series data for the past period and current period at the latest time point, on the basis of the difference between the first handover data at the immediately preceding time point read from the storage unit and the time-series data for the past period and current period at the latest time point.
Need to check novelty before this filing date? Find Prior Art

Description

Change point detection device and program

[0001] The present disclosure relates to a change-point detection device and a program.

[0002] A technique for detecting changes in the state of a system consisting of one or more devices using time-series data representing the state of the system at each point in time has been known. Here, the "system state" refers to the operating state of the system expressed by quantitative variables such as the "number of accesses" and the "number of users."

[0003] Previously, change detection methods have been proposed for time series data that do not satisfy stationarity constraints or independently and identically distributed (iid) constraints, such as those that exhibit periodic fluctuations (see Patent Document 1).One possible use of change detection methods is to determine the timing for updating (or relearning) an AI (artificial intelligence) model built into a system.This is because when the system state changes, the AI ​​model built into the system is likely to become obsolete, making it necessary to update the AI ​​model in response to these changes.

[0004] On the other hand, one way to prevent AI models from becoming obsolete is to repeatedly retrain the AI ​​model over time, and the cost of introducing change detection must be relatively low compared to the cost of retraining the AI ​​model over time.

[0005] Publication WO-A1-2023 / 084787

[0006] However, in the conventional method, every time the latest data is observed, the entire series of calculations must be redone, which leads to an increase in calculation time or cost.

[0007] The present invention has been made in consideration of the above points, and aims to suppress increases in calculation time or cost required to detect the time point of occurrence as a change point when some change occurs, including a change in the time series pattern such as a change in periodic fluctuation, even for time series data that does not satisfy the stationarity constraint or the IID constraint, such as when the data exhibits periodic fluctuation.

[0008] In order to achieve the above object, the present invention provides an input unit that inputs time-series data representing a system state at each time point of a system composed of one or more devices, the time-series data being composed of dimensional data of the number of devices constituting the system x the number of items representing the states of the devices; a time window generation unit that converts the time-series data at each time point from data of the dimension of the number of devices x the number of items to predetermined dimensional data representing the number of devices x the number of items x time window length; a clustering unit that classifies the predetermined dimensional data at each time point in a preset past period and a current period by clustering; a cluster transition sequence creation unit that tracks a sequence of clusters assigned to the predetermined dimensional data in the time axis direction and creates a sequence of cluster transitions between different clusters for each of the past period and the current period; and a cluster transition sequence creation unit that extracts cluster transitions of a preset fixed length from the sequence of cluster transitions, calculates the frequency of occurrence of each cluster transition pattern in the past period and the current period, and calculates a value for each cluster that is obtained by dividing the frequency of occurrence of each cluster transition pattern by the total frequency of occurrence of all cluster transition patterns. a cluster transition tensor calculation unit that calculates the probability of occurrence of a transition pattern and calculates, for each of the past and current periods, a cluster transition tensor whose dimension is the length of the cluster transition, has unique values ​​of all clusters that appeared in the past and current periods as indices for each dimension, and whose value is the probability of occurrence of each of the cluster transition patterns; a change point score calculation unit that calculates, based on the cluster transition tensor, a change point score indicating a distance between the cluster transition tensor in the past period and the cluster transition tensor in the current period as a degree of change from the past period to the current period; and a detection unit that detects a change point when the change point score exceeds a preset threshold, wherein the clustering unit calculates centroid coordinates of each cluster based on the coordinates of each predetermined dimensional data belonging to each cluster at a time point immediately before the most recent time point at which the latest data was observed and which is the time point at which processing by the clustering unit was last executed, and stores first handover data in a storage unit that associates the centroid coordinates of each cluster with the classification results of the predetermined dimensional data at each time point, and the clustering unitAt the latest time point when the latest data is observed, the change point detection device classifies predetermined dimension data at each time point constituting the time series data of the past period and the current period at the latest time point into clusters based on a difference between first handover data at the immediately preceding time point read from the storage unit and the time series data of the past period and the current period at the latest time point.

[0009] As described above, according to the present invention, even for time series data that does not satisfy the stationarity constraint or the IID constraint, such as showing periodic fluctuations, when any change occurs, including a change in a time-varying pattern such as a change in periodic fluctuations, it is possible to suppress an increase in the calculation time or cost required to detect the time point at which the change occurs as a change point.

[0010] FIG. 1 is a diagram illustrating an example of the functional configuration of a change-point detection device according to the present embodiment; (a) is a conceptual diagram illustrating the processing content of a clustering unit, and (b) is a diagram illustrating handover data stored at the immediately preceding point in time; (b) is a diagram illustrating cluster sequences and cluster transition sequences for past periods and current periods at the immediately preceding point in time and the latest point in time; (c) is a diagram illustrating the frequency of occurrence of each cluster transition pattern for past periods and current times; (d) is a flowchart illustrating an example of change-point detection processing according to the present embodiment; and (e) is a diagram illustrating an example of the hardware configuration of a change-point detection device according to the present embodiment.

[0011] An embodiment of the present invention will be described below. In this embodiment, a change point detection device 10 will be described that can detect, when a change occurs in the system state, the time point at which the change occurs, using time-series data that represents the system state at each point in time of a system (S) composed of one or more devices. Here, the "system state" refers to the operating state of the system, which is expressed by quantitative variables such as the "number of accesses" and the "number of users."

[0012] [Functional Configuration of Change-Point Detection Device] First, the functional configuration of a change-point detection device 10 according to this embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of the functional configuration of the change-point detection device according to this embodiment.

[0013] As shown in FIG. 1 , a change-point detection device 10 according to this embodiment includes an input unit 11, a time window generation unit 12, a period setting unit 13, a clustering unit 14, a cluster transition sequence creation unit 15, a cluster transition tensor calculation unit 16, a change-point score calculation unit 17, a detection unit 18, and an output unit 19.

[0014] The change-point detection device 10 also has a storage unit 20 realized by a memory 102, an auxiliary storage device 103, or a recording medium 130, which will be described later and are shown in Fig. 6. Note that the "devices" in the "number of devices" and "device status" shown below refer to devices that constitute the system targeted for change-point detection by the change-point detection device 10.

[0015] <Input Unit> The input unit 11 inputs observation data. The observation data is time-series data representing the system state at each point in time of a system (S) consisting of one or more devices, and is composed of data with dimensions equal to (the number of devices × the number of items representing the device states) that make up the system (S).

[0016] <Time Window Generation Unit> The time window generation unit 12 divides the time series data input by the input unit 11 into fixed-length time windows, converts the data at each point in time from (number of devices × number of items)-dimensional data to predetermined-dimensional data (predetermined-dimensional data) indicating (number of devices × number of items × time window length), generates converted data, and performs intermediate output.

[0017] <Period Setting Unit> The period setting unit 13 extracts time series data of a preset past period and a present period from the time series data of a predetermined dimension generated by the time window generation unit 12, and performs intermediate output. The past period and the present period are, for example, 10 hours each or 24 hours each. In the case of 10 hours each, the present period is a 10-hour period from the latest point in time (the present time) to 9 hours ago, and the past period is a 10-hour period from 10 hours before the latest point in time to 20 hours ago. Note that the lengths of the past period and the present period do not necessarily have to be the same.

[0018] <Clustering Unit> Next, the clustering unit 14 will be described. For the sake of convenience, the following description will be given using three clusters A, B, and C, but the number of clusters is not limited to these three. Also, the numbers A, B, C, and Z in parenthesesA ,Z B ,Z C are merely examples and are not intended to be limiting. Note that a "cluster sequence" refers to a sequence in which clusters are arranged in chronological order.

[0019] (Processing at the Initial Point in Time) In FIG. 2( a), at the initial point in time (for example, the immediately preceding point in time t−1), the clustering unit 14 clusters data Y0,...,Y1 of a predetermined dimension (number of devices×number of items×time window length) at each point in time that constitutes the time series data d1 of the past period and the current period extracted by the period setting unit 13. 19 Then, the clustering unit 14 classifies the states of the clusters (A, B, C) and the predetermined dimension data Y0, ..., Y1 belonging to each cluster (A, B, C). 19 The first processing result data indicating the above is output as an intermediate output to the cluster transition sequence creation unit 15. Note that the "time points" indicate points on the time series marked at predetermined time intervals (1 second, 1 minute, 1 hour, etc.).

[0020] Furthermore, the clustering unit 14 calculates centroid coordinates (Z A ,Z B ,Z C In FIG. 2A, the barycentric coordinates are the central coordinates of each predetermined dimensional data in the vertical axis direction.

[0021] Then, the clustering unit 14 stores the first processing result data at the immediately preceding time point t−1 and the first handover data including the centroid coordinates (see FIG. 2B) in the storage unit 20.

[0022] (Processing at the next or later time point) At the next or later time point (for example, the latest time point t), the clustering unit 14 reads out the first handover data at the previous time point t-1 from the memory unit 20, and obtains the time series data d2 of the past period and the current period at the latest time point t from the period setting unit 13.

[0023] The clustering unit 14 clusters a plurality of centroid coordinates (Z A,Z B ,Z C ) of the specified dimension data Y 20 The coordinates of the given centroid coordinates (Z C ) to identify the

[0024] The clustering unit 14 also deletes the predetermined dimension data Y0 at the earliest point in time in the past period from the attributed data of the first handover data at the immediately preceding point in time t-1 as shown in FIG. 2(b). Furthermore, the clustering unit 14, in a state where the predetermined dimension data Y0 at the earliest point in time has been deleted, C ) to the assigned data of a predetermined cluster (C) related to the latest time point t, and 20 Add.

[0025] The clustering unit 14 also calculates the centroid coordinates (Z A ,Z C ) to create first handover data at the latest time point t. Thereafter, the clustering unit 14 overwrites the first handover data at the immediately preceding time point t-1 with the first handover data at the latest time point t in the storage unit 20 to update it.

[0026] Then, the clustering unit 14 outputs, as intermediate outputs, each of the classified clusters (A, B, C) and the predetermined dimension data Y1, ..., Y2 belonging to each of the clusters (A, B, C). 20 The first processing result data at the latest time point t, which indicates the above, is output to the cluster transition sequence creation unit 15.

[0027] In this way, at the latest time point t+1 thereafter, the clustering unit 14 similarly uses the first inherited data at the immediately preceding time point t to output the first processing result data at the latest time point t+1. This process is then repeated at each time point.

[0028] Note that after a predetermined period (e.g., three days, one week, etc.) has elapsed, the clustering unit 14 may perform the same processing as described above (the processing at the initial time point) using the predetermined dimension data for all time points acquired from the period setting unit 13, without using the takeover data for the immediately preceding time point. This is because if only the centroid coordinates of the cluster closest to the predetermined dimension data at the latest time point t remain updated even though the trend of the time series data d2 at the latest time point t shown in FIG. 2(a) has changed significantly, the data may no longer match the actual situation.

[0029] <Cluster Transition Sequence Creation Unit> (Processing at Initial Point in Time) At an initial point in time (for example, immediately preceding point in time t-1), the cluster transition sequence creation unit 15 creates a cluster sequence (A, B, B, A, A, A, A, C, A, B) for the past period at the immediately preceding point in time t-1 and a cluster sequence (A, B, C, B, B, A, A, B, B, B) for the current period at the immediately preceding point in time t-1, as shown in the upper part of Figure 3, based on the first processing result data at the immediately preceding point in time t-1 obtained from the clustering unit 14.

[0030] Furthermore, the cluster transition sequence creation unit 15 tracks the cluster sequence (A, B, B, A, A, A, A, C, A, B) for the past period along the time axis, and creates a cluster transition sequence (A → B → A → C → A → B) by extracting transitions between different clusters in the past period. Similarly, the cluster transition sequence creation unit 15 tracks the cluster sequence (A, B, C, B, B, A, A, B, B, B) for the current period along the time axis, and creates a cluster transition sequence (A → B → C → B → A → B) by extracting transitions between different clusters in the current period.

[0031] In addition, the cluster transition sequence creation unit 15 assigns the duration of stay in each cluster to each cluster constituting the cluster transition sequences (A → B → A → C → A → B and A → B → C → B → A → B) for the past and current periods, thereby obtaining cluster transition sequences with duration of stay in the cluster for the past and current periods (A[1] → B[2] → A[3] → C[1] → A[1] → B[1] and A[1] → B[1] → C[1] → B[2] → A[2] → B[3]). For example, as shown in Figure 2(a) , in time-series data d1, the predetermined dimension data Y0 belongs to cluster A, and then two subsequent predetermined dimension data Y1 and Y2 belong to cluster B, so the cluster transition sequence with duration of stay is A[1] → B[2].

[0032] Finally, the cluster transition sequence creation unit 15 outputs, as an intermediate output, second processing result data indicating the cluster transition sequences (or cluster transition sequences with stay durations) for the past period and the current period at the immediately preceding time point t−1 to the cluster transition tensor calculation unit 16.

[0033] Furthermore, the cluster transition sequence creation unit 15 stores the second processing result data indicating the cluster transition sequence with the stay period at the immediately preceding time point t-1 as the second handover data at the immediately preceding time point t-1 in the storage unit 20. Note that the second handover data and the second processing result data are the same.

[0034] (Processing at the next or later time point) At the next or later time point (for example, the latest time point t), the cluster transition sequence creation unit 15 acquires the first processing result data for the latest time point t from the clustering unit 14, and also reads out the second handover data for the immediately preceding time point t-1, which is, for example, one hour earlier, from the storage unit 20 (see the top of Figure 3).

[0035] Next, the cluster transition sequence creation unit 15 deletes the cluster c0(A) at the earliest point in time in the second handover data (immediately preceding point in time t-1). Also, the cluster transition sequence creation unit 15 deletes the first cluster c0(A) within the current period in the second handover data (immediately preceding point in time t-1). 10(A) is shifted as the last cluster in the past period at the latest time point t. Furthermore, the cluster transition sequence creation unit 15 shifts the last cluster c (at the latest time point t) included in the first processing result data at the latest time point t to the last cluster in the current period at the latest time point t. 20 Add (C).

[0036] As a result, the cluster transition sequence creation unit 15 creates the cluster c0(A) at the earliest point in time and the cluster c 20 (C) and cluster c at the boundary between the past and current periods 10 By only changing (A), a cluster transition sequence with stay periods for the past and current periods at the most recent time point t-1 (A[1] → B[2] → A[4] → C[1] → A[1] → B[1] and A[1] → B[1] → C[1] → B[2] → A[2] → B[3]) is created from the cluster transition sequence with stay periods for the past and current periods at the most recent time point t (B[2] → A[4] → C[1] → A[1] → B[1] → A[1] and B[1] → C[1] → B[2] → A[2] → B[3] → C[1]).

[0037] Finally, the cluster transition sequence creation unit 15 outputs, as an intermediate output, processing result data (second processing result data) indicating the cluster transition sequences (or cluster transition sequences with stay periods) in the past period and the current period at the latest time point t to the cluster transition tensor calculation unit 16.

[0038] In addition, the cluster transition sequence creation unit 15 overwrites and updates the processing result data (second processing result data) indicating the cluster transition sequence with the stay period at the immediately previous time point t-1 in the storage unit 20 as the second handover data at the latest time point t.

[0039] In this way, the cluster transition sequence creation unit 15 similarly uses the second inherited data at the immediately preceding time point t to output the second processing result data at the latest time point t+1 at the subsequent latest time point t+1. This process is then repeated at every time point.

[0040] <Cluster Transition Tensor Calculation Unit> (Initial Processing) The cluster transition tensor calculation unit 16 extracts a cluster transition of a predetermined fixed length (e.g., A → B → A for a length of 3) from the cluster transition sequences (A → B → A → C → A → B and A → B → C → B → A → B) for the past and current periods created by the cluster transition sequence creation unit 15, and then calculates the frequency of occurrence of each cluster transition pattern for the past and current periods (see FIG. 4 ). Note that the frequency of occurrence of a cluster transition pattern may be replaced by the stay duration. In this case, the cluster transition sequence creation unit 15 outputs a cluster transition sequence with the stay duration as information necessary for calculating the stay duration for each cluster transition pattern. Furthermore, the cluster transition tensor calculation unit 16 calculates the probability of occurrence of each cluster transition pattern, which is the value obtained by dividing the frequency of occurrence of each cluster transition pattern by the total frequency of occurrence of all cluster transition patterns. Then, the cluster transition tensor calculation unit 16 calculates an occurrence probability tensor for each of the past period and the current period, with the cluster transition length (length of cluster transition) as the rank (i.e., dimension), having the unique values ​​of all clusters that appeared in the past period and the current period as indices for each dimension, and having the occurrence probability of the cluster transition pattern as a value, and outputs third processing result data indicating this occurrence probability tensor to the change point score calculation unit 17 as intermediate output.

[0041] 3, for example, the cluster transition patterns included in the cluster transition sequence (A → B → A → C → A → B) for the past period at the immediately preceding time point t-1 are (A → B → A), (B → A → C), (A → C → A), and (C → A → B), and the occurrence frequency of each is 1. Furthermore, the cluster transition tensor calculation unit 16 stores in the storage unit 20, for each preset fixed-length cluster transition pattern, third handover data (see FIG. 4) indicating an occurrence frequency tensor having values ​​that are the occurrence frequencies of each cluster transition pattern in the past period and the current period.

[0042] The reason why the frequency of occurrence, rather than the probability of occurrence, is used as the third inheritance pattern is that it is sufficient to review only the frequency of occurrence to be updated. That is, the probability of occurrence changes for all cluster transition patterns at each point in time, so there is no point in inheriting it.

[0043] (Processing at the next or later time point) At the next or later time point (for example, the latest time point t), the cluster transition tensor calculation unit 16 acquires the second processing result data for the latest time point from the cluster transition sequence creation unit 15, and also reads out the third handover data for the immediately preceding time point t-1, which is, for example, one hour earlier, from the storage unit 20.

[0044] Next, in FIG. 3 , the cluster transition tensor calculation unit 16 updates the third handover data (occurrence frequency tensor) based on the second processing result data by setting the occurrence frequency of the first cluster transition pattern (A → B → A) deleted from the past period to "−1," the occurrence frequency of the last cluster transition pattern (A → B → A) added to the past period to "+1," the occurrence frequency of the first cluster transition pattern (A → B → C) deleted from the current period to "−1," and the occurrence frequency of the last cluster transition pattern (A → B → C) added to the current period to "+1." Note that in this example, the third handover data remains unchanged. Furthermore, the cluster transition tensor calculation unit 16 obtains an occurrence probability tensor by dividing each element (the occurrence frequency of each cluster transition pattern) of the updated third handover data (occurrence frequency tensor) by the sum of the occurrence frequencies of all cluster transition patterns.

[0045] That is, the cluster transition tensor calculation unit 16 updates only the four cluster transition patterns at both ends and at the boundary out of all the cluster transition patterns in the third handover data, and outputs processing result data (third processing result data) indicating the occurrence probability tensors for the past period and the current period at the latest time point t to the change point score calculation unit 17 as an intermediate output.

[0046] In addition, the cluster transition tensor calculation unit 16 overwrites and updates the processing result data (third processing result data) indicating the cluster transition tensors for the past period and the current period at the immediately preceding time point t-1 in the storage unit 20 as third handover data at the latest time point t.

[0047] In this way, at the latest subsequent time point t+1, the cluster transition tensor calculation unit 16 similarly uses the third inherited data at the immediately preceding time point t to output the third processing result data at the latest time point t+1. This process is then repeated at every time point.

[0048] <Change Point Score Calculation Unit> The change point score calculation unit 17 calculates the distance between the cluster transition tensor in the past period and the cluster transition tensor in the current period as the degree of change from the past period to the current period based on the cluster transition tensors (third processing result data) for each of the past period and the current period calculated by the cluster transition tensor calculation unit 16, and performs intermediate output.

[0049] <Detection Unit> The detection unit 18 detects a change point when the change point score calculated by the change point score calculation unit 17 exceeds a preset threshold. That is, the detection unit 18 detects a change point when the change point score of the system state calculated based on data (converted data) at each time point exceeds a preset threshold.

[0050] <Output Unit> The output unit 19 outputs the change points detected by the detection unit 18 .

[0051] [Change-Point Detection Method] Next, a change-point detection process (procedure) according to this embodiment will be described with reference to Fig. 5. Fig. 5 is a flowchart showing an example of the change-point detection process according to this embodiment.

[0052] Hereinafter, the number of devices constituting the system (S) is defined as M, the number of data items representing the system state at each time point is defined as K, and the number of observation points of the time series data is defined as N, where N pieces of M×K dimensional data are used as time series data.

[0053] Each element of the M×K dimensional data at each time point is K observed values ​​that represent the state of M devices at that time point. Specifically, the M×K dimensional data at a certain time point is expressed as [x 1 , ..., x K , x K+1 , ..., x 2K , ..., x (M-1)K+1 , ..., xMK ], for example, for m=1, . . . , M, (m-1)K+1 , ..., x mK are the K observations of the mth device at that time.

[0054] Step S11: First, the input unit 11 inputs, as observation data, time series data consisting of N pieces of M×K (number of devices×number of items) dimensional data. That is, the M×K dimensional data at time point n is converted into X n Then, the input unit 11 receives the time series data {X 1 , ..., X N}.

[0055] Step S12: Next, the time window generation unit 12 divides the time series data input in step S11 by a time window of fixed length W, converting the data at each time point from M×K (number of devices × number of items) dimensional data to M×K×W (number of devices × number of items × time window length) dimensional data, generating converted data, and performing intermediate output. Specifically, the M×K dimensional data X n-(W-1) , X n-(W-2) , ..., X n M×K×W dimensional vector Y n = (X n-(W-1) , X n-(W-2) , ..., X n ) is the M×K×W dimensional data at time n. Note that the original M×K dimensional data X n is observed at time points n=1, . . . , N, the transformed M×K×W dimensional data Y n is obtained for the time points n=W, . . . , N.

[0056] Step S13: Next, the period setting unit 13 extracts time series data of a predetermined past period and a present period from the M×K×W (number of devices×number of items×time window length) dimensional time series data (time series data of a predetermined dimension) generated in step S12. Specifically, when the past period is [s1, e1] and the present period is [s2, e2], the M×K×W dimensional data Y n From the past data {Y s1 , ..., Y e1} and the current period data {Y s2 , ..., Y e2} is extracted.

[0057] Step S14: Next, the clustering unit 14 obtains a cluster sequence corresponding to the time series data by classifying, by a clustering method, the (e1-s1+e2-s2+2) pieces of predetermined dimensional data constituting the time series data of the past period of length (e1-s1+1) and the current period of length (e2-s2+1) extracted in step S13. Specifically, the clustering unit 14 obtains a cluster sequence corresponding to the time series data by classifying, by a clustering method, the M×K×W dimensional data Y n The cluster to which belongs is C n In this case, the time series data for the past period {Y s1 , ..., Y e1} to the cluster sequence {C s1 , ..., C e1}, time series data for the current period {Y s2 , ..., Y e2} to the cluster sequence {C s2 , ..., C e2} is obtained. Clustering is a process of classifying (e1-s1+e2-s2+2) pieces of M×K×W dimensional data into the same cluster if the data are close to each other based on the distance between them. A cluster sequence is obtained by arranging the clusters assigned to each M×K×W dimensional data in chronological order. As the clustering method, a hierarchical method (e.g., shortest distance method, farthest distance method, group average method, Ward's method, etc.) or a non-hierarchical method (e.g., k-means method, etc.) may be used.

[0058] The clustering unit 14 also calculates, for each cluster, centroid coordinates, which are the coordinates of the center of gravity of each predetermined-dimensional data belonging to that cluster. The clustering unit 14 then stores the first processing result data and first handover data (see FIG. 2(b)) including the centroid coordinates in the storage unit 20.

[0059] Note that, if the first handover data for the immediately preceding time point t-1 has already been stored in the memory unit 20, the clustering unit 14 outputs the first processing result data calculated at the latest time point t based on the time series data d2 for the past period and the current period at the latest time point t acquired from the period setting unit 13, and the first handover data for the immediately preceding time point t-1 read from the memory unit 20, as described above, to the cluster transition tensor calculation unit 16, and overwrites and updates the first handover data for the latest time point t.

[0060] Step S15: Next, the cluster transition sequence creation unit 15 tracks the cluster sequence assigned in step S14 along the time axis for the predetermined dimension data at each point in time of the past period [s1, e1] and the current period [s2, e2], creates a cluster transition sequence between different clusters for each of the past period and the current period, and assigns the duration of stay in the cluster to each cluster that constitutes this cluster transition sequence (cluster transition sequence). Specifically, the time series data {Y s1 , ..., Y e1}, the cluster sequence {C s1 , ..., C e1} as an example, the time when a cluster transition occurs between different clusters in the interval [s1, e1] is defined as τ i (i=1, 2, ..., I) (where τ 1 = s1), time τ i The cluster of the post-transition cluster in c(τ i ), then by arranging them in chronological order, a cluster transition sequence c(τ 1 ) → c(τ 2 ) → ... → c(τ I ) is obtained. In addition, each cluster c(τ i ) for the cluster c(τ i ) duration of stay d(τ i ) = τ i+1 -τ i (However, τ I+1 = e1), the cluster transition sequence with stay duration c(τ 1 ) [d(τ 1)] → c(τ 2 ) [d(τ 2 )] → ... → c(τ I ) [d(τ I ) can be obtained.

[0061] Furthermore, the cluster transition sequence creation unit 15 stores the second handover data (see FIG. 3) as the second processing result data in the storage unit 20 .

[0062] Note that, if the second handover data for the immediately preceding time point t-1 has already been stored in the memory unit 20, the cluster transition sequence creation unit 15 outputs the second processing result data calculated at the latest time point t based on the first processing result data for the latest time point t acquired from the clustering unit 14 and the second handover data for the immediately preceding time point t-1 read from the memory unit 20, as described above, to the cluster transition tensor calculation unit 16, and overwrites and updates the second handover data for the latest time point t.

[0063] Step S16: Next, the cluster transition tensor calculation unit 16 extracts cluster transitions of a preset fixed length L from the cluster transition sequence created in step S15, calculates the occurrence probability of each cluster transition pattern in the past period and the current period, and calculates cluster transition tensors for each of the past period and the current period, with the cluster transition length L as the rank (dimension), unique values ​​of all clusters that appeared in the past period and the current period as indices for each dimension, and the occurrence probability of the cluster transition pattern as values. Specifically, the time series data {Y s1 , ..., Y e1}, the cluster transition sequence c(τ 1 ) → c(τ 2 ) → ... → c(τ I ) as an example, it is possible to extract (I-(L-1)) cluster transitions of length L (where L≦I) from this cluster transition sequence, and c(τ i-(L-1) ) → c(τ i-(L-2) ) → ... → c(τ i) (i=L, ..., I). The cluster transition tensor calculation unit 16 calculates the occurrence probability for each of these (I-(L-1)) cluster transitions for each pattern, and calculates an L-dimensional cluster transition tensor based on this. Here, the occurrence probability of a cluster transition pattern is the value obtained by dividing the occurrence frequency of the cluster transition pattern by the total occurrence frequency of all cluster transition patterns.

[0064] The frequency of occurrence of a cluster transition pattern may be replaced by the duration of stay of that cluster transition pattern. Below, for simplicity's sake, a method for storing the occurrence probability of a cluster transition pattern in a tensor will be described using an example in which L = 2 and the unique values ​​of all clusters that appeared throughout the past and current periods are A, B, and C. In this case, the cluster transition tensor is two-dimensional, and the index of each dimension takes three values: A, B, and C. The cluster transition tensor can be represented as a 3 x 3 array. If the occurrence probability of cluster transition pattern A → B is 0.1, the occurrence probability of 0.1 is stored in the array element whose first axis index (first element of the cluster transition pattern) takes value A and whose second axis index (second element of the cluster transition pattern) takes value B.

[0065] Furthermore, the cluster transition tensor calculation unit 16 stores third handover data (see FIG. 4) as third processing result data in the storage unit 20.

[0066] In addition, if the third handover data for the immediately preceding time point t-1 has already been stored in the memory unit 20, the cluster transition tensor calculation unit 16 outputs the third processing result data calculated at the latest time point t based on the second processing result data for the latest time point t acquired from the cluster transition sequence creation unit 15 and the third handover data for the immediately preceding time point t-1 read from the memory unit 20, as described above, to the change point score calculation unit 17, and overwrites and updates the third handover data for the latest time point t.

[0067] Step S17: Next, based on the cluster transition tensors (third processing result data) for the past period and the current period calculated in step S16, the change point score calculation unit 17 calculates the distance between the cluster transition tensor for the past period and the cluster transition tensor for the current period as the degree of change from the past period to the current period. 1 The elements of d 1 i1,・・・,iL , the cluster transition tensor D of the current period 2 The elements of d 2 i1,・・・,iL Then, the distance between them can be expressed by the following mean square error: (Σ l=1 L Σ m=1 M (d 2 i1,・・・,iL -d 1 i1,・・・,iL ) 2 / M L ) 1/2 In the inter-tensor distance below, M is the number of unique values ​​in all clusters that have appeared throughout the past and current periods.

[0068] Step S18: Next, the detection unit 18 detects a change point when the change point score calculated in step S17 exceeds a preset threshold. That is, the detection unit 18 detects a change point when the change point score of the system state calculated based on the data (converted data) at each time point exceeds a preset threshold.

[0069] Step S19: Finally, the output unit 19 outputs the change point detected in step S18.

[0070] [Hardware Configuration] Next, the hardware configuration of the change-point detection device 10 will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of the hardware configuration of the change-point detection device according to this embodiment.

[0071] 3, the change-point detection device 10 includes a processor 101, a memory 102, an auxiliary storage device 103, a connection device 104, a communication device 105, and a drive device 106. The hardware components constituting the change-point detection device 10 are connected to each other via a bus 107.

[0072] The processor 101 serves as a control unit that controls the entire change-point detection device 10, and includes various arithmetic devices such as a CPU (Central Processing Unit). The processor 101 reads various programs into the memory 102 and executes them. The processor 101 may also include a GPU (General-purpose computing on graphics processing units).

[0073] The memory 102 has a main storage device such as a read-only memory (ROM) or a random access memory (RAM). The processor 101 and the memory 102 form a so-called computer, and the processor 101 executes various programs read onto the memory 102, thereby enabling the computer to realize various functions.

[0074] The auxiliary storage device 103 stores various programs and various information used when the processor 101 executes the various programs.

[0075] The connection device 104 is a connection device that connects an external device (for example, a display device 110 and an operation device 111) to the change-point detection device 10.

[0076] The communication device 105 is a communication device for transmitting and receiving various types of information to and from other devices.

[0077] The drive device 106 is a device for loading a recording medium 130. The recording medium 130 here includes media that record information optically, electrically, or magnetically, such as a CD-ROM (Compact Disc Read-Only Memory), a flexible disk, or a magneto-optical disk. The recording medium 130 may also include semiconductor memory that records information electrically, such as a ROM (Read Only Memory) or flash memory.

[0078] The various programs to be installed in the auxiliary storage device 103 are installed, for example, by setting the distributed recording medium 130 in the drive device 106 and reading the various programs recorded on the recording medium 130 by the drive device 106. Alternatively, the various programs to be installed in the auxiliary storage device 103 may be installed by being downloaded from a network via the communication device 105.

[0079] [Major Effects of the Embodiment] As described above, the change-point detection device 10 according to the present embodiment can detect, when a change occurs in the system state, the time point at which the change occurs as a change point, by using time-series data that represents the system state at each point in time of a system (S) that is composed of one or more devices.

[0080] Moreover, the change-point detection device 10 according to this embodiment is based on a method of classifying the system state at each time point using a clustering technique, and is therefore capable of handling time-series data including data that does not satisfy stationarity constraints or iid constraints, such as data that exhibits periodic fluctuations. Furthermore, the change-point detection device 10 according to this embodiment models periodic fluctuations of the system (S) by considering state transitions of the system (S) over time (i.e., transitions between clusters to which the system state belongs at each time point and their durations), and is therefore capable of detecting changes including changes in time-varying patterns such as changes in periodic fluctuations.

[0081] Furthermore, the clustering unit 14 outputs first processing result data at the latest time point t by using the first handover data at the latest time point t-1 read from the storage unit 20 and the difference between the time series data d2 of the past period and the current period at the latest time point t obtained from the period setting unit 13. Furthermore, the cluster transition sequence creation unit 15 outputs second processing result data at the latest time point t by using the difference between the first processing result data at the latest time point t obtained from the clustering unit 14 and the second handover data at the latest time point t-1 read from the storage unit 20. Furthermore, the cluster transition tensor calculation unit 16 outputs third processing result data at the latest time point t by using the difference between the second processing result data at the latest time point obtained from the cluster transition sequence creation unit 15 and the third handover data at the latest time point t-1 read from the storage unit 20. This makes it possible to reduce calculation time or costs compared to the conventional method.

[0082] [Supplementary Note] The present invention is not limited to the above-described embodiment, and may have the following configurations or processes (operations).

[0083] The change-point detection device 10 can be realized by a computer and a program, but this program can also be recorded on a (non-transitory) recording medium or provided via a network such as the Internet.

[0084] REFERENCE SIGNS LIST 10 Change-point detection device 11 Input unit 12 Time window generation unit 13 Period setting unit 14 Clustering unit 15 Cluster transition sequence creation unit 16 Cluster transition tensor calculation unit 17 Change-point score calculation unit 18 Detection unit 19 Output unit 20 Storage unit

Claims

1. An input unit that inputs time series data that represents the system state at each point in time of a system that is composed of one or more devices, and that is composed of data with dimensions of the number of devices that make up the system x the number of items that represent the states of the devices; a time window generation unit that converts the time series data at each point in time from data with dimensions of the number of devices x the number of items to predetermined dimensional data that represents the number of devices x the number of items x time window length; a clustering unit that classifies the predetermined dimensional data at each point in time in a preset past period and a current period by clustering it; and a cluster transition sequence creation unit that tracks the sequence of clusters assigned to the predetermined dimensional data in the time axis direction and creates a sequence of cluster transitions between different clusters for each of the past period and the current period. a cluster transition tensor calculation unit that extracts cluster transitions of a predetermined fixed length from the sequence of cluster transitions, calculates the frequency of occurrence of each cluster transition pattern in the past period and the current period, calculates the probability of occurrence of each cluster transition pattern by dividing the frequency of occurrence of each cluster transition pattern by the total frequency of occurrence of all cluster transition patterns, and calculates, for each of the past period and the current period, cluster transition tensors whose dimensions are the lengths of the cluster transitions and whose dimension indices are unique values ​​of all clusters that appeared in the past period and the current period and whose values ​​are the probability of occurrence of each cluster transition pattern; a change point score calculation unit that calculates, based on the cluster transition tensors, a change point score indicating the distance between the cluster transition tensor in the past period and the cluster transition tensor in the current period as a degree of change from the past period to the current period; and a detection unit that detects a change point when the change point score exceeds a predetermined threshold, the clustering unit calculates centroid coordinates of each cluster based on coordinates of each predetermined dimension data belonging to each cluster at a time point immediately before the time point at which processing by the clustering unit was last executed as viewed from the latest time point at which the latest data was observed, and stores first handover data in a storage unit that associates the centroid coordinates of each cluster with the classification results of the predetermined dimension data at each time point;the clustering unit, at the latest time point when the latest data is observed, classifies into clusters predetermined dimension data at each time point that constitutes the time series data of the past period and the current period at the latest time point based on a difference between first handover data at the immediately preceding time point read from the storage unit and the time series data of the past period and the current period at the latest time point.

2. The change point detection device according to claim 1, wherein the cluster transition sequence creation unit stores the cluster transition sequence created at the immediately preceding point in time in the memory unit as second handover data, and the cluster transition sequence creation unit creates the cluster transition sequences for the past period and the current period at the latest point in time based on the difference between the second handover data at the immediately preceding point in time read from the memory unit and the specified dimension data of each cluster obtained from the clustering unit.

3. The change point detection device according to claim 2, wherein the cluster transition tensor calculation unit stores the frequency of occurrence of each cluster transition pattern in the past period and the current period calculated at the immediately preceding point in time as third handover data in the memory unit, and the cluster transition tensor calculation unit calculates the cluster transition tensors for the past period and the current period at the latest point in time based on the difference between the third handover data for the immediately preceding point in time read from the memory unit and the cluster transition series for the past period and the current period at the latest point in time obtained from the cluster transition series creation unit.

4. A program for causing a computer to function as the device according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Change point detection device, change point detection method, and program

    WO2023084787A1