Change point detection device and program
The change-point detection device addresses inefficiencies in detecting changes in non-stationary time series data by using clustering and transition analysis, reducing calculation time and cost for AI model updates.
Patent Information
- Application Number
- PCT/JP2025/014100
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-23
- Filing Date
- 2025-04-08
- Publication Date
- 2026-01-29
AI Technical Summary
Existing change detection methods for time series data that do not satisfy stationarity or IID constraints, such as those exhibiting periodic fluctuations, require significant calculation time and cost due to the need to reprocess the entire dataset with each update, making them inefficient for updating AI models.
A change-point detection device that utilizes an input unit, time window generation, clustering, cluster transition sequence creation, and change-point score calculation to identify changes in system state by classifying and tracking cluster transitions, reducing the need for full dataset recalculations.
The device efficiently detects changes in time series data with periodic fluctuations by minimizing calculation time and cost, enabling timely updates to AI models without full retraining.
Smart Images

Figure JP2025014100_29012026_PF_FP_ABST
Abstract
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 the 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 implementing 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 invention of claim 1 includes 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 data in the dimension 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 in the dimension of the number of devices x the number of items to data in a predetermined dimension representing the number of devices x the number of items x a time window length; a clustering unit that classifies the predetermined dimensional data at each time point in a predetermined past period and a current period into clusters by clustering; a cluster transition sequence creation unit that tracks a sequence of clusters assigned to the predetermined dimensional data in a 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 value obtained by extracting cluster transitions of a predetermined fixed length from the cluster transition sequence, calculating the frequency of occurrence of each cluster transition pattern in the past period and the current period, and dividing the frequency of occurrence of each cluster transition pattern by the total frequency of occurrence of all cluster transition patterns. a change-point score calculation unit that calculates 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 based on the cluster transition tensor; 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 coordinates of data of each predetermined dimension belonging to each cluster at a time point immediately preceding the most recent time point at which latest data is observed, which is a time point at which processing by the clustering unit was last executed, and stores in a storage unit first handover data that associates the centroid coordinates of each cluster with classification results of the predetermined dimension data at each time point, and the clustering unit, at the most recent time point at which latest data is observed,The change point detection device classifies data of a predetermined dimension 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 the difference between 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 a first 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; (c) is a flowchart illustrating an example of change-point detection processing according to the first embodiment; (b) is a flowchart illustrating an example of change-point detection processing according to the second embodiment; and (c) is a diagram illustrating an example of the hardware configuration of a change-point detection device according to each 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] First Embodiment First, the first embodiment will be described with reference to FIGS. 1 to 5. FIG.
[0013] [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.
[0014] 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, an output unit 20, and a memory unit 21.
[0015] The change-point detection device 10 also has a storage unit 21 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. 8. 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.
[0016] <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).
[0017] <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 data of a predetermined dimension indicating (number of devices × number of items × time window length), generates converted data, and performs intermediate output.
[0018] <Period Setting Unit> The period setting unit 13 extracts time series data of a predetermined 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 11 hours before to 20 hours before the latest point in time. Note that the lengths of the past period and the present period do not necessarily have to be the same.
[0019] <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 parentheses A ,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.
[0020] (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-dimensional 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.).
[0021] Furthermore, the clustering unit 14 calculates centroid coordinates (Z A ,Z B ,Z C ) is calculated. In FIG. 2(a), the centroid coordinates are the central coordinates of each predetermined-dimensional data in the vertical axis direction. Note that "predetermined-dimensional data" may also be referred to as "predetermined-dimensional data."
[0022] 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 21.
[0023] (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 21, 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.
[0024] The clustering unit 14 clusters a plurality of centroid coordinates (Z A ,Z B ,Z C ) of the data Y of a given dimension at the latest time point t that has been newly added to the time series data d2 of the past period and the current period at the latest time point t. 20 The coordinates of the given centroid coordinates (Z C ) to identify the
[0025] The clustering unit 14 also deletes the data Y0 of the predetermined dimension at the earliest time point in the past period from the attributed data of the first handover data at the immediately preceding time point t-1 as shown in FIG. 2(b). Furthermore, the clustering unit 14 deletes the data Y0 of the predetermined dimension at the earliest time point in the past period from the attributed data of the first handover data at the immediately preceding time point t-1 as shown in FIG. 2(b). C ) to the assigned data of a specific cluster (C) related to the latest time point t, and 20 Add.
[0026] 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 21 to update it.
[0027] Then, the clustering unit 14 outputs, as intermediate outputs, each of the classified clusters (A, B, C) and the predetermined-dimensional 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.
[0028] In this way, the clustering unit 14 outputs the first processing result data at the latest time point t+1 by similarly using the first handover data at the immediately preceding time point t. This process is then repeated at each time point.
[0029] 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 data of the predetermined dimension at all time points acquired from the period setting unit 13, without using the takeover data at the immediately preceding time point. This is because if only the centroid coordinates of the cluster closest to the data of the predetermined dimension 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.
[0030] <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.
[0031] 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.
[0032] 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, data Y0 of a predetermined dimension belongs to cluster A, and then two consecutive data Y1 and Y2 of a predetermined dimension belong to cluster B, so the cluster transition sequence with duration of stay is A[1] → B[2].
[0033] 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.
[0034] 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 21. Note that the second handover data and the second processing result data are the same.
[0035] (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 21 (see the top of Figure 3).
[0036] 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).
[0037] 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]).
[0038] 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.
[0039] 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 21 as the second handover data at the latest time point t.
[0040] In this way, at the latest subsequent time point t+1, 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. This process is then repeated at every time point.
[0041] <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 having the occurrence probability of the cluster transition pattern as a value for each of the past period and the current period, and outputs third processing result data indicating this occurrence probability tensor to the change point score calculation unit 17 as an intermediate output.
[0042] 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 21, 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.
[0043] Here, the occurrence probability tensor may have the cluster transition length (length of cluster transition) as its rank (i.e., dimension), and may have unique values of all clusters that appeared in the past period and the current period as indices for each dimension, or may be a two-dimensional table consisting of a column of cluster transition patterns and a column of the occurrence probability of each pattern.
[0044] 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.
[0045] (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 memory unit 21.
[0046] Next, in FIG. 4 , 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.
[0047] 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.
[0048] 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 memory unit 21 as third handover data at the latest time point t.
[0049] 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.
[0050] <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.
[0051] <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.
[0052] <Output Unit> The output unit 20 outputs the change points detected by the detection unit 18 .
[0053] [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.
[0054] 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 the time series data.
[0055] 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 , ..., x MK ], for example, for m=1, . . . , M, (m-1)K+1 , ..., x mK are the K observations of the mth device at that time.
[0056] 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}.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] Furthermore, the clustering unit 14 calculates, for each cluster, centroid coordinates, which are the coordinates of the center of gravity of each predetermined-dimensional data belonging to each cluster. Then, the clustering unit 14 stores the first processing result data and first handover data (see FIG. 2(b)) including each centroid coordinate in the storage unit 21.
[0061] Note that, if the first handover data for the immediately preceding time point t-1 has already been stored in the memory unit 21, 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 21, 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.
[0062] Step S15: Next, the cluster transition sequence creation unit 15 tracks the cluster sequence assigned in step S14 along the time axis for the data of a predetermined dimension at each point in time of the past period [s1, e1] and the current period [s2, e2], creates a sequence of cluster transitions 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 point 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.
[0063] 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 21 .
[0064] Note that, if the second handover data for the immediately preceding time point t-1 has already been stored in the memory unit 21, 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 21, 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.
[0065] 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.
[0066] 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.
[0067] Furthermore, the cluster transition tensor calculation unit 16 stores third handover data (see FIG. 4) as third processing result data in the storage unit 21.
[0068] It should be noted that, in a case where the third handover data for the immediately preceding time point t-1 has already been stored in the memory unit 21, 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 21, 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.
[0069] 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.
[0070] 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.
[0071] Step S20: Finally, the output section 20 outputs the change points detected in step S18.
[0072] [Major Effects of the First Embodiment] As described above, the change-point detection device 10 according to this embodiment can detect, when any 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.
[0073] 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.
[0074] 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 21 and the difference between 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 21. 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 21. This makes it possible to reduce calculation time or costs compared to the conventional method.
[0075] Second Embodiment Next, a second embodiment will be described with reference to FIGS.
[0076] In the second embodiment, a simplified calculation instruction unit 19, which will be described later, is added to the first embodiment. Note that the functional configuration in the second embodiment (clustering unit 14, cluster transition sequence creation unit 15, and cluster transition tensor calculation unit 16) is basically the same as that in the first embodiment, but with the addition of the simplified calculation instruction unit 19, the functions are slightly different.
[0077] [Functional Configuration of Change-Point Detection Device] First, the functional configuration of the change-point detection device 10 according to this embodiment will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of the functional configuration of the change-point detection device according to this embodiment.
[0078] As shown in FIG. 6 , the 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, a simplified calculation instruction unit 19, an output unit 20, and a memory unit 21.
[0079] The change-point detection device 10 also has a storage unit 21 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. 8. 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.
[0080] <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).
[0081] <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 data of a predetermined dimension indicating (number of devices × number of items × time window length), generates converted data, and performs intermediate output.
[0082] <Period Setting Unit> The period setting unit 13 extracts time series data of a predetermined 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 11 hours before to 20 hours before the latest point in time. Note that the lengths of the past period and the present period do not necessarily have to be the same.
[0083] <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 parentheses A ,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.
[0084] (Processing at a time when there is no simplified calculation instruction from the simplified calculation instruction unit 19) At the latest time t when there is no simplified calculation instruction from the simplified calculation instruction unit, the clustering unit 14, as shown in FIG. 2(a), clusters the data Y0, ..., Y1 of a predetermined dimension (number of devices × number of items × time window length) at each time point 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-dimensional 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.).
[0085] Furthermore, the clustering unit 14 calculates centroid coordinates (Z A ,Z B ,Z C In FIG. 2A, the centroid coordinates are the central coordinates of the data of each predetermined dimension in the vertical axis direction.
[0086] Then, the clustering unit 14 stores the first processing result data and the first handover data (see FIG. 2B) including each centroid coordinate in the storage unit 21.
[0087] (Processing at the time when a simplified calculation instruction is given by the simplified calculation instruction unit 19) At the latest time t when a simplified calculation instruction is given by the simplified calculation instruction unit 19, the clustering unit 14 reads out the first handover data at the previous time t-1 from the memory unit 21, and also obtains time series data d2 for the past period and the current period at the latest time t from the period setting unit 13.
[0088] The clustering unit 14 clusters a plurality of centroid coordinates (Z A ,Z B ,Z C ) of the data Y of a given dimension at the latest time point t that has been newly added to the time series data d2 of the past period and the current period at the latest time point t. 20 The coordinates of the given centroid coordinates (Z C ) to identify the
[0089] Furthermore, the clustering unit 14 deletes data Y0 of a predetermined dimension at the earliest time point in the past period from the attributed data of the first handover data at the immediately preceding time point t-1 as shown in FIG. 2(b).
[0090] Furthermore, the clustering unit 14 deletes the data Y0 of the predetermined dimension at the earliest time point, and then clusters the data Y 20 the nearest given centroid coordinates (Z C ) is added to the attribute data of a specified cluster (C).
[0091] 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 21 to update it.
[0092] Then, the clustering unit 14 outputs, as intermediate outputs, each of the classified clusters (A, B, C) and the predetermined-dimensional data Y1, ..., Y2 belonging to each of the clusters (A, B, C). 20The first processing result data at the latest time point t, which indicates the above, is output to the cluster transition sequence creation unit 15.
[0093] <Cluster transition sequence creation unit> (Processing at a time when no simplified calculation instruction is given by the simplified calculation instruction unit 19) At the latest time point t when no simplified calculation instruction is given by the simplified calculation instruction unit, 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 latest time point t and a cluster sequence (A, B, C, B, B, A, A, B, B, B) for the current period at the latest time point t based on the first processing result data at the latest time point t obtained from the clustering unit 14.
[0094] 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.
[0095] 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, data Y0 of a predetermined dimension belongs to cluster A, and then two consecutive data Y1 and Y2 of a predetermined dimension belong to cluster B, so the cluster transition sequence with duration of stay is A[1] → B[2].
[0096] 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 periods) for the past period and the current period at the latest time point t to the cluster transition tensor calculation unit 16.
[0097] 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 latest time point t as the second handover data at the latest time point t in the storage unit 21. Note that the second handover data and the second processing result data are the same.
[0098] (Processing at the time when a simplified calculation instruction is given by the simplified calculation instruction unit 19) At the latest time t when a simplified calculation instruction is given by the simplified calculation instruction unit 19, the cluster transition sequence creation unit 15 acquires the first processing result data for the latest time t from the clustering unit 14, and also reads out the second handover data for the immediately preceding time t-1, which is, for example, one hour earlier, from the memory unit 21 (see the top of Figure 3).
[0099] 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).
[0100] 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 10By 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]).
[0101] 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.
[0102] 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 latest time point t in the memory unit 21 as second handover data at the latest time point t.
[0103] <Cluster Transition Tensor Calculation Unit> (Processing at a Time When No Simplified Calculation Instruction Is Given by the Simplified Calculation Instructing Unit 19) At the latest time t when no simplified calculation instruction is given by the simplified calculation instructing unit 19, 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 creating 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 a stay duration. In this case, the cluster transition sequence creating 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 having the occurrence probability of the cluster transition pattern as a value for each of the past period and the current period, and outputs this occurrence probability tensor (third processing result data) to the change point score calculation unit 17 as an intermediate output.
[0104] 3, the cluster transition patterns included in the cluster transition sequence (A → B → A → C → A → B) for the past period at time 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 21, 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.
[0105] Here, the occurrence probability tensor may have the cluster transition length (length of cluster transition) as its rank (i.e., dimension), and may have unique values of all clusters that appeared in the past period and the current period as indices for each dimension, or may be a two-dimensional table consisting of a column of cluster transition patterns and a column of the occurrence probability of each pattern.
[0106] 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.
[0107] (Processing at the time when a simplified calculation instruction is given by the simplified calculation instruction unit 19) At the latest time t when a simplified calculation instruction is given by the simplified calculation instruction unit 19, the cluster transition tensor calculation unit 16 acquires the second processing result data of the latest time from the cluster transition sequence creation unit 15, and also reads out the third handover data of the immediately previous time t-1, for example, one hour earlier, from the memory unit 21.
[0108] 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.
[0109] 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.
[0110] 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 latest time point t in the memory unit 21 as third handover data at the latest time point t.
[0111] <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.
[0112] <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.
[0113] <Simplified Calculation Instructing Unit> At the next time point after the detection unit 18 does not detect a change point, the simplified calculation instructing unit 19 issues a simplified calculation instruction to the clustering unit 14, the cluster transition sequence creating unit 15, and the cluster transition tensor calculating unit 16. As a result, if a change point is not detected, i.e., if the trend of the time-series data at that time point does not change significantly, the clustering unit 14, the cluster transition sequence creating unit 15, and the cluster transition tensor calculating unit 16 at the next time point perform simplified calculations, thereby suppressing increases in calculation time or costs. On the other hand, if a change point is detected, i.e., if the trend of the time-series data at that time point changes significantly, the clustering unit 14, the cluster transition sequence creating unit 15, and the cluster transition tensor calculating unit 16 at the next time point do not perform simplified calculations, but instead perform strict calculations based on clustering using a clustering method such as the k-means method. This allows appropriate cluster classification of the data after the trend change, thereby suppressing a decrease in the accuracy of change-point detection at subsequent time points. As a result, it is possible to suppress increases in calculation time or costs while also suppressing a decrease in detection accuracy due to simplified calculations.
[0114] <Output Unit> The output unit 20 outputs the change points detected by the detection unit 18 .
[0115] [Change-Point Detection Method] Next, a change-point detection process (procedure) according to this embodiment will be described with reference to Fig. 7. Fig. 7 is a flowchart showing an example of the change-point detection process according to this embodiment.
[0116] 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 the time series data.
[0117] 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 , ..., x MK ], for example, for m=1, . . . , M, (m-1)K+1 , ..., x mK are the K observations of the mth device at that time.
[0118] 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}.
[0119] 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.
[0120] 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 , ..., Ye1} and the current period data {Y s2 , ..., Y e2} is extracted.
[0121] 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.
[0122] Furthermore, the clustering unit 14 calculates, for each cluster, centroid coordinates, which are the coordinates of the center of gravity of each predetermined-dimensional data belonging to each cluster. Then, the clustering unit 14 stores the first processing result data and first handover data (see FIG. 2(b)) including each centroid coordinate in the storage unit 21.
[0123] When a simplified calculation instruction is given by the simplified calculation instruction unit 19, the clustering unit 14 outputs the first processing result data calculated at the latest time point t based on the time series data d2 of 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 at the immediately preceding time point t-1 read from the memory unit 21, as described above, to the cluster transition tensor calculation unit 16, and overwrites and updates the first handover data at the latest time point t.
[0124] Step S15: Next, the cluster transition sequence creation unit 15 tracks the cluster sequence assigned in step S14 along the time axis for the data of a predetermined dimension at each point in time of the past period [s1, e1] and the current period [s2, e2], creates a sequence of cluster transitions 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 point 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.
[0125] 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 21 .
[0126] When a simplified calculation instruction is given by the simplified calculation instruction unit 19, 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 at the latest time point t acquired from the clustering unit 14 and the second handover data at the immediately preceding time point t−1 read from the storage unit 21, as described above, to the cluster transition tensor calculation unit 16, and overwrites and updates the second handover data at the latest time point t.
[0127] 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.
[0128] 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.
[0129] Furthermore, the cluster transition tensor calculation unit 16 stores third handover data (see FIG. 4) as third processing result data in the storage unit 21.
[0130] It should be noted that when a simplified calculation instruction is given by the simplified calculation instruction unit 19, 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 at the latest time point t acquired from the cluster transition sequence creation unit 15 and the third handover data at the immediately preceding time point t−1 read from the memory unit 21, as described above, to the change point score calculation unit 17, and overwrites and updates the third handover data at the latest time point t.
[0131] 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.
[0132] 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.
[0133] Step S19: Next, at the next point in time when no change point is detected by the detection unit 18, the simplified calculation instruction unit 19 issues a simplified calculation instruction to the clustering unit 14, the cluster transition sequence creation unit 15, and the cluster transition tensor calculation unit 16.
[0134] Step S20: Finally, the output section 20 outputs the change points detected in step S18.
[0135] [Major Effects of the Second Embodiment] As described above, the second embodiment provides the following effects in addition to the effects of the first embodiment.
[0136] When the simplified calculation instruction unit 19 is used, that is, when a simplified calculation instruction is given depending on whether a change point is detected or not, depending on whether a change point is detected or not, either conventional processing is used in the clustering unit 14, the cluster transition sequence creation unit 15, and the cluster transition tensor calculation unit 16 to output processing result data, or processing result data at the latest time point t is output using the difference with the handover data at the immediately preceding time point t-1 read from the memory unit 21, by selectively using either of these, it is possible to reduce calculation time or cost compared to the conventional method while maintaining detection accuracy equivalent to the conventional method.
[0137] Hardware Configuration Next, the hardware configuration of the change-point detection device 10 in each of the above-described embodiments will be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of the hardware configuration of the change-point detection device according to each embodiment.
[0138] 8, 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.
[0139] 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).
[0140] 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.
[0141] The auxiliary storage device 103 stores various programs and various information used when the processor 101 executes the various programs.
[0142] 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.
[0143] The communication device 105 is a communication device for transmitting and receiving various types of information to and from other devices.
[0144] 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.
[0145] 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.
[0146] Supplementary Note: The present invention is not limited to the above-described embodiment, and may have the following configurations or processes (operations).
[0147] 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 communication network such as the Internet.
[0148] [Relationship to the basic application] This patent application is based on and claims priority from International Patent Application PCT / JP2024 / 026323, filed on July 23, 2024, the entire contents of which are incorporated herein by reference.
[0149] 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 Simplified calculation instruction unit 20 Output unit 21 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 data with a predetermined dimension that represents the number of devices x the number of items x time window length; a clustering unit that classifies the data of the predetermined dimension 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 data of the predetermined dimension along the time axis 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 a past period and a 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 cluster transition tensors for each of the past period and the current period, each having the probability of occurrence of each cluster transition pattern as a value; a change point score calculation unit that calculates 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 based on the cluster transition tensor; 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 data of each predetermined dimension 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 data of the predetermined dimension at each time point;the clustering unit, at the latest time point when the latest data is observed, classifies into clusters data of a predetermined dimension 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 of 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 data of a predetermined dimension 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 change point detection device as described in claim 1, further comprising a simplified calculation instruction unit that instructs the clustering unit, the cluster transition sequence creation unit, and the cluster transition tensor calculation unit to perform simplified calculations at the next point in time depending on whether or not detection is performed by the detection unit.
5. A program for causing a computer to function as the device according to any one of claims 1 to 4.
Citation Information
Patent Citations
Equipment condition monitoring method and device thereof
JP2014032455A
Change point detection device, change point detection method, and program
WO2023084787A1