WO2015173860A1 - 時系列データ処理装置及び時系列データ処理プログラム - Google Patents

時系列データ処理装置及び時系列データ処理プログラム Download PDF

Info

Publication number
WO2015173860A1
WO2015173860A1 PCT/JP2014/062594 JP2014062594W WO2015173860A1 WO 2015173860 A1 WO2015173860 A1 WO 2015173860A1 JP 2014062594 W JP2014062594 W JP 2014062594W WO 2015173860 A1 WO2015173860 A1 WO 2015173860A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
leg
time
extended
point
Prior art date
Application number
PCT/JP2014/062594
Other languages
English (en)
French (fr)
Inventor
誠 今村
隆顕 中村
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201480078160.6A priority Critical patent/CN106233208B/zh
Priority to JP2016510860A priority patent/JP6005323B2/ja
Priority to PCT/JP2014/062594 priority patent/WO2015173860A1/ja
Priority to EP14891950.9A priority patent/EP3144749B1/en
Priority to US15/310,374 priority patent/US20170139400A1/en
Publication of WO2015173860A1 publication Critical patent/WO2015173860A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4063Monitoring general control system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40357Compliance, design and operational issues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • G06F2218/16Classification; Matching by matching signal segments

Definitions

  • This invention relates to a technique for detecting abnormalities in data fluctuations such as sensor values, stock prices, sales, etc. of control systems of plants, buildings, factories and the like.
  • Control systems for controlling plant processes are introduced in power plants such as thermal power, hydropower, and nuclear power plants, chemical plants, steel plants, and water and sewage plants.
  • control systems for air conditioning, electricity, lighting, water supply and drainage, etc. have been introduced in facilities such as buildings and factories.
  • various time-series data obtained with the passage of time by sensors attached to the apparatus are accumulated.
  • time series data in which values such as stock prices and sales are recorded as time passes is accumulated.
  • Anomalies such as plant, equipment, and management status are detected by analyzing changes in the values of these time series data.
  • an abnormality or the like is detected by obtaining the frequency of vertical vibration of the value of the time series data.
  • the frequency can be obtained for a signal such as electricity by a technique using Fourier transform or the like.
  • Patent Document 1 describes a method of detecting vertical vibration from a vertical deviation from an average value of time-series data.
  • the frequency of time-series data that changes slowly such as temperature and pressure
  • time-series data that is difficult to express by superposition of frequencies that are determined from physical laws such as stock prices, etc. It may be difficult to find.
  • the vertical deviation from the average value is not uniform (for example, the average value is shifted downward because there is a very low value), or the average value is When it does not converge (for example, when the average value continues to decrease while the value vibrates up and down), the vertical vibration cannot be detected.
  • An object of the present invention is to more accurately detect a change in a value of time-series data such as vertical vibration, and to accurately detect an abnormality or the like.
  • the time-series data processing device is: The time series data that is a sequence of values sequentially obtained as time elapses is input, and the partial sequence data cut out from the time series data, the partial sequence data having a higher or lower end point value than the start point value.
  • a leg extractor for extracting as an extended leg A set of extended legs in which, from the extended leg extracted by the leg extraction unit, an extended ascending leg whose end point value is higher than the start point value and an extended down leg whose end point value is lower than the start point value appear in the order of the reference pattern
  • an appearance pattern specifying unit for specifying
  • the time-series data processing apparatus extracts the extended leg from the time-series data, and identifies the appearance pattern of the extended ascending leg and the extended descending leg from the extracted extended leg. Thereby, the change of time series data can be detected accurately, and abnormality etc. can be detected accurately.
  • FIG. 1 is a configuration diagram of a time-series data processing device 10 according to Embodiment 1.
  • FIG. Explanatory drawing of time series data. Explanatory drawing of a leg. Illustration of maximum. Explanatory drawing of a leg list. Explanatory drawing of a vibration path and a frequency. Explanatory drawing of the last time leftmost vibration path. Explanatory drawing of the relationship between an amplitude, a vibration path, and a vibration frequency. Explanatory drawing of the vertical vibration detection in case the up-and-down deviation width from an average value is not uniform. Explanatory drawing of a vertical vibration detection in case the average value has not converged.
  • 3 is a flowchart showing processing of the time-series data processing device 10 according to the first embodiment.
  • FIG. 3 is a diagram showing an example of a hardware configuration of the time-series data processing device 10 shown in the first embodiment.
  • FIG. 1 is a configuration diagram of a time-series data processing device 10 according to the first embodiment.
  • the time-series data processing apparatus 10 receives time-series data, which is a sequence of values obtained by sequentially observing as time elapses, detects the vertical vibration of the value of the time-series data, and shows the detected vertical vibration Output column data.
  • the time-series data processing device 10 includes a period data generation unit 11, a leg extraction unit 12, a leg storage unit 13, and an appearance pattern identification unit 14.
  • the period data generation unit 11 cuts out partial sequence data for a predetermined period (hereinafter, time window) at the time of arrival.
  • the leg extraction unit 12 receives the partial sequence data extracted from the time-series data by the period data generation unit 11, and is the partial sequence data extracted from the partial sequence data, and the end point has a higher value than the start point or Extract low subsequence data as an extended leg.
  • the leg storage unit 13 is a storage device that stores the extended leg extracted by the leg extraction unit 12 as a leg list.
  • the appearance pattern specifying unit 14 includes an extended ascending leg whose value increases as time elapses and an extended descending leg whose value decreases as time elapses from the extended leg stored in the leg storage unit 13 as time elapses. Vibration pattern data is generated by identifying the appearance patterns that appear alternately. The appearance pattern specifying unit 14 outputs vibration train data.
  • FIG. 2 is an explanatory diagram of time-series data.
  • f is the name of the data item
  • f (i) is the value at the time point i of the data item f.
  • a and b are integers satisfying a ⁇ b. b ⁇ a + 1 is called the length of the time series data f [a: b].
  • L and M are integers satisfying a ⁇ L ⁇ M ⁇ b.
  • M ⁇ L + 1 is called the length of the partial sequence data f [L: M].
  • FIG. 2 shows time-series data with the vertical axis representing time-series data values and the horizontal axis representing time points.
  • (A) shows an execution value order list f [1: n] as time-series data.
  • FIG. 3 is an explanatory diagram of a leg.
  • the leg has an ascending leg and a descending leg.
  • the rising leg is partial sequence data f [L: M] satisfying f (L) ⁇ f (i) ⁇ f (i + 1) ⁇ f (M) for all i satisfying L ⁇ i ⁇ M. .
  • the descending leg is subsequence data f [L: M satisfying f (L) ⁇ f (i) ⁇ f (i + 1) ⁇ f (M) for all i satisfying L ⁇ i ⁇ M. ].
  • the extended leg extends the definition of the leg.
  • the extended leg includes an extended ascending leg that extends the definition of the ascending leg and an extended descending leg that extends the definition of the descending leg.
  • the extended ascending leg is partial sequence data f [L: M] satisfying f (L) ⁇ f (i) ⁇ f (M) for all i satisfying L ⁇ i ⁇ M. Unlike the rising leg, it is not always necessary to satisfy f (i) ⁇ f (i + 1).
  • the extended descending leg is partial sequence data f [L: M] satisfying f (L) ⁇ f (i) ⁇ f (M) for all i satisfying L ⁇ i ⁇ M. Unlike the descending leg, it is not always necessary to satisfy f (i) ⁇ f (i + 1).
  • broken lines 21, 22, and 23 are ascending legs.
  • the broken line 24 is not an ascending leg because it does not satisfy f (i) ⁇ f (i + 1), but is an extended ascending leg.
  • the broken line 25 is not an extended ascending leg because there is a time when f (L) ⁇ f (i) is not satisfied.
  • the difference between the maximum value and the minimum value of the data item f in the leg (Max L ⁇ i ⁇ M f (i) ⁇ min L ⁇ i ⁇ M f (i)) is referred to as the leg amplitude.
  • the leg amplitude of the rising leg indicated by the broken line 21 in FIG. 3 is X
  • the amplitude of the extended rising leg indicated by the broken line 24 is Y.
  • FIG. 4 is an explanatory diagram of the maximum.
  • a left maximum and a right maximum are defined for the extended ascending leg and the extended descending leg.
  • the left maximum extension rising leg f [L: M] is an extension rising leg that does not satisfy f (L ⁇ 1) ⁇ f (L). That is, the left maximal expansion rising leg f [L: M] satisfies f (L ⁇ 1)> f (L).
  • the right maximum extension rising leg f [L: M] is an extension rising leg that does not satisfy f (M) ⁇ f (M + 1). That is, the right maximum extension rising leg f [L: M] satisfies f (M)> f (M + 1).
  • the left maximum extension descent leg f [L: M] is an extension descent leg that satisfies f (L ⁇ 1) ⁇ f (L).
  • the right maximum extended descent leg f [L: M] is also an extended descent leg satisfying f (M) ⁇ f (M + 1).
  • the broken lines 31 and 32 are extended ascending legs.
  • the extended ascending leg indicated by the broken line 31 has a left maximum and a right maximum.
  • the extended ascending leg indicated by the broken line 32 has the right maximum, but does not satisfy f (L-1)> f (L) and is not the left maximum.
  • FIG. 5 is an explanatory diagram of a leg list.
  • (a) is a diagram showing partial sequence data.
  • (B) is a list showing a time interval that becomes a left maximum and right maximum extended ascending leg extracted from the subsequence data shown in (a).
  • (C) is a list showing a time interval that is a left maximum and right maximum extended descent leg extracted from the subsequence data shown in (a).
  • the leg extraction unit 12 extracts the left maximum and right maximum expansion rising leg and the left maximum and right maximum expansion descent leg, and stores them in the leg storage unit 13 as a leg list.
  • FIG. 6 is an explanatory diagram of the vibration path and the vibration frequency.
  • an amplitude A an ascending threshold and a descending threshold
  • an expanded leg order list f [L 1 : M 1 ], f [L 2 in which an expanded ascending leg and an expanded descending leg having an amplitude A or higher appear alternately. : M 2 ],. . . , F [L n : M n ] is called a vibration path.
  • the length n of the vibration path order list is defined as the vibration path frequency.
  • L 1 ⁇ M 1 ⁇ L 2 ⁇ M 2 ,. . . , ⁇ L n ⁇ M n is satisfied.
  • the reason for using an extended leg rather than a simple leg in the vibration path is to ignore fluctuations of a width smaller than a given amplitude.
  • vibration train data g [L: MW + 1] A set of frequencies of vibration paths having an amplitude A or more that becomes the largest is called vibration train data g [L: MW + 1]. That is, the vibration train data represents the frequency for each time window.
  • FIG. 6 (a) and (b) show the same partial sequence data, and both show vibration paths having an amplitude A or more by broken lines.
  • the frequency becomes 7, but when the expansion leg is selected and the vibration path is configured as shown in (b), The frequency is 5.
  • the frequency of the vibration path varies depending on the selection of the expansion leg. Therefore, in the vibration train data, the vibration path when the vibration path has the highest frequency is used so that the vibration frequency does not change depending on the selection of the extension leg.
  • FIG. 7 is an explanatory diagram of the end-point leftmost vibration path.
  • (a), (b), and (c) indicate the same partial sequence data, and all indicate a vibration path having an amplitude A or more with a broken line.
  • different extension legs are selected to form a vibration path.
  • the number of vibration paths of the vibration path formed by the extended legs selected in (a), (b), and (c) is 7, which is the largest. In other words, there may be a plurality of expansion leg options with the highest frequency.
  • an extension leg having an amplitude A or more is selected on the left (in order from the earliest start point of the leg) to configure a vibration path.
  • the vibration path in which the extension leg is selected and configured in order from the earliest end point of the expansion leg is referred to as an end-point leftmost vibration path, and the end-point leftmost vibration path has the highest frequency.
  • f [L 1 : M 1 ], f [L 2 : L 2 ],. . . , F [L i : M i ],. . . , F [L n : M n ] is a vibration path P in which an expansion rising leg and an expansion falling leg having an amplitude A or more appear alternately.
  • Each f [L i : M i ] is M i ⁇ 1 ⁇ L i , is greater than or equal to the amplitude A, and M i is the earliest time point in f [L i : M i ].
  • the vibration path P is an end-point leftmost vibration path.
  • the frequency of the leftmost vibration path at the end point is the highest.
  • the head of the vibration path is either the extended ascending leg or the descending extended leg.
  • the extension leg at the head of the vibration path having the highest frequency is the extension rise leg. Note that the same description holds true when the leading extension leg is a descending extension leg.
  • the vibration path obtained by replacing the expansion climbing leg [L 2 ′′: M 2 ′′] with the expansion climbing leg [L 2 : M 2 ] also becomes a vibration path with an amplitude A, and the frequency thereof is the vibration path P ′′. Is the same. Therefore, it can be seen that there is a vibration path starting from f [L 1 : M 1 ], f [L 2 : M 2 ] that maximizes the frequency. Since n is finite and L i is larger than L i ⁇ 1 , if this procedure is executed recursively, it stops within n steps. Therefore, it can be seen that the end-point leftmost vibration path is the vibration path that maximizes the wave number of the amplitude A.
  • FIG. 8 is an explanatory diagram of the relationship between the amplitude, the vibration path, and the vibration frequency.
  • (a) and (b) show the same partial sequence data, (a) shows a vibration path with amplitude A1 or more with a broken line, and (b) shows a vibration path with amplitude A2 or more with a broken line. Show.
  • the frequency is 7, whereas in (b), the frequency is 3.
  • the vibration path is different depending on the amplitude, and the vibration frequency is also different.
  • FIG. 9 is an explanatory diagram of the vertical vibration detection when the vertical deviation width from the average value is not uniform.
  • FIG. 9 shows a case where the average value is shifted downward because there is a very low value as an example of the case where the vertical deviation from the average is not uniform.
  • the frequency is detected as shown in FIG.
  • the above-mentioned end-point leftmost vibration path is detected, it is detected as shown in FIG.
  • FIG. 10 is an explanatory diagram of vertical vibration detection when the average value has not converged.
  • FIG. 10 shows a case where the average value decreases while the value vibrates up and down as an example of the case where the average value has not converged.
  • the detection is performed as shown in FIG.
  • the above-mentioned end-point leftmost vibration path is detected, it is detected as shown in FIG.
  • FIG. 11 is a flowchart showing processing of the time-series data processing device 10 according to the first embodiment.
  • FIG. 12 is a diagram showing specific contents of the right maximization process and the new leg registration process in the process shown in FIG.
  • FIG. 13 is a diagram showing specific contents of the left maximization process in the process shown in FIG.
  • time series data f (1: i ⁇ 1), time window W, and amplitude A are given as inputs.
  • the period data generation unit 11 cuts out the partial sequence data of the past time window W at the time of arrival. Assuming that the time of new arrival is i, the partial sequence data f (i ⁇ W + 1: i) from time i ⁇ W + 1 to time i is cut out. For example, if the time window W is 20 minutes and the value of 10:20 arrives, the partial sequence data f (10: 1: 10: 20) from 10: 1 to 10:20 is cut out. It is.
  • the leg extraction unit 12 receives the value f (i) and the leg list LL stored in the leg storage unit 13, and updates the leg list LL so that each extended leg in the leg list LL satisfies the right maximum. .
  • the lines 01 to 15 in FIG. 12 show the contents of the right maximization process. Among them, the contents from the 01st line to the 12th line indicate the contents of the process for the extended ascending leg, and the 13th line to the 15th line indicate a process for the extended descending leg.
  • the specific processing of the extended descending leg is the same as that of the extended ascending leg except for the value comparison part, and is therefore omitted.
  • the leg extraction unit 12 determines whether or not the value f (i) is smaller than the minimum value of the expansion rise leg Lj (line 02). If true in line 02, no matter what time-series data value will arrive in the future, the extension ascending leg Lj will not expand to the right, so the leg extraction unit 12 will not be able to expand the extension ascending leg Lj. Is given (line 03). Then, the if statement started from line 02 ends (line 04).
  • the leg extraction unit 12 determines whether or not the non-expandable flag is assigned to the expansion rise leg Lj and whether the value f (i) is larger than the maximum value of the expansion rise leg Lj (line 05). ). If true in line 05, the leg extraction unit 12 determines whether or not it is the time immediately before the time point i at which the end point of the extended ascending leg Lj has newly arrived (line 06). If true in line 06, the extension ascending leg Lj is not right maximum, so the leg extraction unit 12 deletes the extension ascending leg Lj from the leg list LL, and instead extends the end point to time point i f (L: i) Is registered in the leg list LL (line 07).
  • the leg extraction unit 12 executes processing for the extended descending leg (lines 13 to 15).
  • the processing for the extended lowering leg is substantially the same as the processing for the extended lowering leg, and thus detailed description thereof is omitted.
  • the process for the extended descending leg is performed by changing “f (i) ⁇ min L ⁇ i ⁇ M f (i)” in line 02 in the extended ascending leg process to “f (i)> max L ⁇ i ⁇ M f ( i) ”, and“ f (i)> max L ⁇ i ⁇ M f (i) ”in line 05 may be changed to“ f (i) ⁇ min L ⁇ i ⁇ M f (i) ”.
  • the leg extraction unit 12 inputs the value f (i) and the leg list LL stored in the leg storage unit 13 and registers a new extended leg in the leg list LL.
  • Lines 16 to 20 in FIG. 12 show the contents of the new leg registration process.
  • the leg extraction unit 12 determines whether or not the end points M of all the extended legs in the leg list LL are equal to or less than the time point i-2 (line 16). If true in line 16, the leg extraction unit 12 determines whether or not f (i)> f (i-1) or f (i) ⁇ f (i-1) is satisfied (line 17).
  • the leg extraction unit 12 registers f (i ⁇ 1: i) in the leg list LL as an extended ascending leg when f (i)> f (i ⁇ 1) is satisfied, and f If (i) ⁇ f (i-1) is satisfied, f (i-1: i) is registered in the leg list LL as a descending extension leg (line 18). Then, the if sentence started from the 16th line and the 17th line is completed (19th to 20th lines).
  • the leg extraction unit 12 receives the value f (i), the time window W, the amplitude A, and the leg list LL, so that the amplitude of each leg in the leg list LL is greater than or equal to the amplitude A and satisfies the left maximum.
  • the leg list LL is updated.
  • FIG. 13 shows the contents of the left maximization process. Of these lines, lines 01 to 17 indicate the contents of the process for the extended ascending leg, and lines 18 to 20 indicate the process for the extended descending leg.
  • the leg extraction unit 12 determines whether or not the starting point L of the extended ascending leg Lj is iW (line 02). If true in line 02, the leg extraction unit 12 deletes the extension ascending leg Lj because the starting point of the extension ascending leg Lj is outside the processing target range (line 03).
  • the leg extraction unit 12 determines whether or not the amplitude of the extension rising leg f (L + 1: M) obtained by shifting the starting point L of the extension rising leg Lj to the next time is smaller than the given amplitude A (04 line). If true in line 04, the leg extraction unit 12 determines whether or not an unextendable flag is given to the extension ascending leg Lj (line 05). If true in line 05, the leg extraction unit 12 may cause the extension ascending leg f (L + 1: M) obtained by shifting the start point L of the extension ascending leg Lj to the next time point to have an amplitude A or more thereafter. The expansion ascending leg f (L + 1: M) is registered in the leg list LL (line 06).
  • the leg extraction unit 12 determines whether or not f (L + 1) ⁇ f (L + 2) is satisfied (line 09). If true at line 09, the left maximum is satisfied if the point of time L + 1 is set as the start point. Therefore, the leg extraction unit 12 registers the extended ascending leg f (L + 1: M) in the leg list LL (line 10). On the other hand, in the case of false in line 09 (line 11), the leg extraction unit 12 searches for the foremost (left) k that satisfies L + 1 ⁇ k and f (k-1)> f (k).
  • the starting point k satisfying the left maximum is searched (line 12).
  • the leg extraction unit 12 registers f (k: M) in the leg list LL separately from the extended ascending leg Lj (line 13). Then, the if statement started from lines 02, 04, and 09 ends (lines 14 to 16), and the processing from lines 02 to 16 ends for all the extended ascending legs Lj registered in the leg list LL. , The for sentence started from line 01 ends (line 17).
  • the leg extraction unit 12 executes processing for the extended descending leg (lines 18 to 20).
  • the processing for the extended lowering leg is substantially the same as the processing for the extended lowering leg, and thus detailed description thereof is omitted.
  • “f (L + 1) ⁇ f (L + 2)” in line 09 in the extended ascending leg process is changed to “f (L + 1)> f (L + 2)”, and “f (L (2)” in line 12 is processed.
  • “k ⁇ 1)> f (k)” may be “f (k ⁇ 1) ⁇ f (k)”.
  • the appearance pattern specifying unit 14 selects, from the legs registered in the leg list LL, an extended ascending leg and an expanded descending leg having an amplitude A or higher alternately, in the order of the earliest end point. As a result, the leftmost vibration path at the end point is obtained.
  • the appearance pattern specifying unit 14 outputs the obtained frequency g (i) of the end-point leftmost vibration path.
  • the time-series data processing apparatus 10 extracts the extended leg from the time-series data, and the extended ascending leg and the expanded descending leg appear alternately from the extracted extended leg as time elapses.
  • the appearance pattern to be specified is specified. Thereby, it is possible to accurately detect the vertical vibration of the value of the time series data for which it is difficult to obtain the frequency by Fourier transform or the like. Therefore, abnormality etc. can be detected accurately.
  • the value obtained by dividing the frequency obtained by the time-series data processing device 10 by 4 corresponds to the frequency (frequency) obtained by Fourier transform.
  • a function that corresponds the amplitude to the frequency is obtained for each time window, whereas in the time-series data processing device 10, on the contrary, a function that corresponds the frequency to the amplitude is obtained. can get.
  • the extended ascending leg is defined based on the maximum value and the minimum value.
  • the expansion ascending leg can be defined as “the value at that time is smaller than a predetermined value k (first reference value) that is different from the maximum value up to that time” or “the value at that time is It can also be defined that the difference from the minimum value up to that point is greater than a predetermined value k (first reference value).
  • the expansion rising leg f [L: M] is defined as “the value at that time is smaller than a predetermined value k that is different from the maximum value up to that time”
  • the expansion rising leg f [L: M] ] Is defined as satisfying (max L ⁇ j ⁇ if (j) ⁇ k) ⁇ f (i) for all i satisfying L ⁇ i ⁇ M.
  • the predetermined value k is set to 0 corresponds to the leg
  • the case where k is set to infinity corresponds to the above-described extended ascending leg.
  • the predetermined value k specifies the size of the leg that is descending in the ascending leg. That is, the predetermined value k specifies the degree of deviation from the monotonically increasing function. If the expansion leg is defined more strongly as monotonically increasing, the processing for obtaining the frequency can be speeded up.
  • the extended descent leg can be defined similarly.
  • the extension descent leg f [L: M] is defined as “the value at that time is smaller than a predetermined value k (second reference value) that is different from the minimum value up to that time”
  • the extension descent leg Leg f [L: M] is defined to satisfy (min L ⁇ j ⁇ if (j) + k) ⁇ f (i) for all i satisfying L ⁇ i ⁇ M.
  • the appearance pattern specifying unit 14 specifies an appearance pattern in which the extended ascending leg and the extended descending leg appear alternately as time passes.
  • the appearance pattern specifying unit 14 can also specify other appearance patterns of the extended leg, for example, the extended rising leg appears three times in succession.
  • the appearance pattern specifying unit 14 defines the appearance pattern of the extended leg as a reference pattern by a regular expression or the like by using an automaton theory that is a known technique of computer science. Then, an appearance pattern of an extended leg that matches the defined reference pattern may be detected.
  • FIG. 14 is a diagram illustrating an example of a hardware configuration of the time-series data processing device 10 illustrated in the first embodiment.
  • the time-series data processing device 10 is a computer. Each element of the time-series data processing device 10 can be realized by a program.
  • an arithmetic device 901, an external storage device 902, a main storage device 903, a communication device 904, and an input / output device 905 are connected to the bus.
  • the computing device 901 is a CPU (Central Processing Unit) that executes a program.
  • the external storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, a hard disk device, or the like.
  • the main storage device 903 is, for example, a RAM (Random Access Memory).
  • the communication device 904 is, for example, a communication board.
  • the input / output device 905 is, for example, a mouse, a keyboard, a display device, or the like.
  • the program is normally stored in the external storage device 902, and is loaded into the main storage device 903 and sequentially read into the arithmetic device 901 and executed.
  • the program is a program that realizes the functions described as the period data generation unit 11, the leg extraction unit 12, and the appearance pattern specification unit 14.
  • an operating system (OS) is also stored in the external storage device 902. At least a part of the OS is loaded into the main storage device 903, and the arithmetic device 901 executes the above program while executing the OS.
  • leg lists, time series data, partial sequence data, vibration sequence data, and the like are stored in the main storage device 903 as files.
  • the configuration in FIG. 14 is merely an example of the hardware configuration of the time-series data processing device 10, and the hardware configuration of the time-series data processing device 10 is not limited to the configuration described in FIG. It may be a configuration.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

 時系列データ処理装置(10)は、時間の経過に従って順次得られた値の列である時系列データを入力とする。時系列データ処理装置(10)は、時系列データから切り出される部分列データであって、時間の経過に従い値が上昇又は下降する部分列データを拡張レグとして抽出する。時系列データ処理装置(10)は、抽出された拡張レグから、時間の経過に従い値が上昇する拡張上昇レグと、時間の経過に従い値が下降する拡張下降レグとの出現パターンを特定する。

Description

時系列データ処理装置及び時系列データ処理プログラム
 この発明は、プラント・ビル・工場等の制御システムのセンサ値や、株価や、売上等のデータ変動における異常を検出するための技術に関する。
 火力・水力・原子力等の発電プラント、化学プラント、鉄鋼プラント、上下水道プラント等では、プラントのプロセスを制御するための制御システムが導入されている。また、ビルや工場等の設備でも空調・電気・照明・給排水等の制御システムが導入されている。これらの制御システムでは、装置に取り付けられたセンサによって時間の経過に従い得られた種々の時系列データが蓄積されている。
 同様に、経済・経営に関する情報システムにおいても、株価や売上等の値を時間の経過に従い記録した時系列データが蓄積されておいる。
 これらの時系列データの値の変化を分析することにより、プラント・設備・経営状態等の異常等を検出することが行われている。特に、時系列データの値の上下振動の振動数を求めることにより、異常等を検出することが行われている。
 時系列データの値の上下振動については、電気等の信号に対しては、フーリエ変換等を用いた手法によって、振動数を求めることができることが知られている。
 特許文献1には、時系列データの平均値からの上下方向のずれから上下振動を検出する方法が記載されている。
特開2007-264720号公報
 フーリエ変換を用いた手法では、温度・圧力等のゆっくりと変化する時系列データや、株価のように物理法則から定まるような周波数の重ね合わせで表現しにくいような時系列データ等の振動数を求めることが難しい場合がある。
 特許文献1に記載された方法では、平均値からの上下のずれ幅が均等でない場合(例えば、非常に値の低い値があるために平均値が下にずれている場合)や、平均値が収束していない場合(例えば、値が上下振動しながら平均値は低下し続けている場合)には、上下振動を検出できない。
 この発明は、時系列データの値の上下振動等の値の変化をより的確に検出し、異常等を的確に検出可能とすることを目的とする。
 この発明に係る時系列データ処理装置は、
 時間の経過に従って順次得られた値の列である時系列データを入力として、前記時系列データから切り出される部分列データであって、始点の値よりも終点の値が高い又は低い部分列データを拡張レグとして抽出するレグ抽出部と、
 前記レグ抽出部が抽出した拡張レグから、始点の値よりも終点の値が高い拡張上昇レグと、始点の値よりも終点の値が低い拡張下降レグとが基準パターンの順に現れる拡張レグの組を特定する出現パターン特定部と
を備えることを特徴とする。
 この発明に係る時系列データ処理装置は、時系列データから拡張レグを抽出し、抽出した拡張レグから拡張上昇レグと拡張下降レグとの出現パターンを特定する。これにより、時系列データの変化を的確に検出でき、異常等を的確に検出できる。
実施の形態1に係る時系列データ処理装置10の構成図。 時系列データの説明図。 レグの説明図。 極大の説明図。 レグリストの説明図。 振動パス及び振動数の説明図。 終時点最左振動パスの説明図。 振幅と振動パス及び振動数との関係の説明図。 平均値からの上下のずれ幅が均等でない場合における上下振動検出の説明図。 平均値が収束していない場合における上下振動検出の説明図。 実施の形態1に係る時系列データ処理装置10の処理を示すフローチャート。 図11に示す処理における右極大化処理、新規レグ登録処理の具体的な内容を示す図。 図11に示す処理における振幅チェック処理、左極大化処理の具体的な内容を示す図。 実施の形態1に示した時系列データ処理装置10のハードウェア構成の例を示す図。
 実施の形態1.
 図1は、実施の形態1に係る時系列データ処理装置10の構成図である。
 時系列データ処理装置10は、時間の経過に従って順次観測して得られた値の列である時系列データを入力として、時系列データの値の上下振動を検出し、検出した上下振動を示す振動列データを出力する。
 時系列データ処理装置10は、期間データ生成部11、レグ抽出部12、レグ記憶部13、出現パターン特定部14を備える。
 期間データ生成部11は、時系列データの値が新規に到着すると、到着時点の過去の所定の期間(以下、時間窓)の部分列データを切り出す。
 レグ抽出部12は、期間データ生成部11によって時系列データから切り出された部分列データを入力として、部分列データから切り出される部分列データであって、始点よりも終点の方が値が高い又は低い部分列データを拡張レグとして抽出する。
 レグ記憶部13は、レグ抽出部12によって抽出された拡張レグをレグリストとして記憶する記憶装置である。
 出現パターン特定部14は、レグ記憶部13に記憶された拡張レグから、時間の経過に従い値が上昇する拡張上昇レグと、時間の経過に従い値が下降する拡張下降レグとが、時間の経過に従い交互に出現する出現パターンを特定して、振動列データを生成する。出現パターン特定部14は、振動列データを出力する。
 図2は、時系列データの説明図である。
 時系列データは、実数値の順序リストf[a:b]={f(a),f(a+1),...,f(b-1),f(b)}である。fはデータ項目の名称であり、f(i)はデータ項目fの時点iの値である。a,bはa≦bを満たす整数である。b-a+1を時系列データf[a:b]の長さと呼ぶ。
 時系列データf[a:b]の部分列データとは、時系列データにおける連続した実数値の順序リストf[L:M]={f(L),f(L+1),...,f(M)}である。L及びMはa≦L≦M≦bを満たす整数である。M-L+1を部分列データf[L:M]の長さと呼ぶ。
 図2において(a)は、縦軸を時系列データの値とし、横軸を時点として、時系列データを示している。(a)は、時系列データとして、実行値の順序リストf[1:n]を示している。(b)は、L=10,M=18とした場合に得られる、図2(a)に示す時系列データの部分列データf[10:18]を示している。
 図3は、レグの説明図である。
 レグには、上昇レグと下降レグとがある。
 上昇レグは、L<i<Mを満たす全てのiに対して、f(L)≦f(i)≦f(i+1)≦f(M)を満たす部分列データf[L:M]である。同様に、下降レグは、L<i<Mを満たす全てのiに対して、f(L)≧f(i)≧f(i+1)≧f(M)を満たす部分列データf[L:M]である。
 レグの定義を拡張したのが拡張レグである。拡張レグには、上昇レグの定義を拡張した拡張上昇レグと、下降レグの定義を拡張した拡張下降レグとがある。
 拡張上昇レグは、L≦i≦Mを満たす全てのiに対して、f(L)≦f(i)≦f(M)を満たす部分列データf[L:M]である。上昇レグと異なり、必ずしもf(i)≦f(i+1)を満たす必要はない。同様に、拡張下降レグは、L≦i≦Mを満たす全てのiに対して、f(L)≧f(i)≧f(M)を満たす部分列データf[L:M]である。下降レグと異なり、必ずしもf(i)≧f(i+1)を満たす必要はない。
 図3では、破線21,22,23は、上昇レグである。破線24は、f(i)≦f(i+1)を満たさない時点があるので上昇レグではないが、拡張上昇レグである。破線25は、f(L)≦f(i)を満たさない時点があるので拡張上昇レグではない。
 レグ中のデータ項目fの値の最大値と最小値との差(MaxL≦i≦Mf(i)-minL≦i≦Mf(i))をレグの振幅と呼ぶ。例えば、図3の破線21で示す上昇レグの振幅はXであり、破線24で示す拡張上昇レグの振幅はYである。
 図4は、極大の説明図である。
 拡張上昇レグ及び拡張下降レグには、左極大及び右極大が定義される。
 左極大な拡張上昇レグf[L:M]は、f(L-1)≦f(L)でない拡張上昇レグである。つまり、左極大な拡張上昇レグf[L:M]は、f(L-1)>f(L)を満たす。右極大な拡張上昇レグf[L:M]は、f(M)≦f(M+1)でない拡張上昇レグである。つまり、右極大な拡張上昇レグf[L:M]は、f(M)>f(M+1)を満たす。
 同様に、左極大な拡張下降レグf[L:M]は、f(L-1)<f(L)を満たす拡張下降レグである。右極大な拡張下降レグf[L:M]は、また、f(M)<f(M+1)を満たす拡張下降レグである。
 図4では、破線31,32は、拡張上昇レグである。破線31で示す拡張上昇レグは、左極大であり、かつ、右極大である。一方、破線32で示す拡張上昇レグは、右極大であるが、f(L-1)>f(L)を満たさないので左極大ではない。
 図5は、レグリストの説明図である。
 図5において、(a)は、部分列データを示す図である。(b)は、(a)に示す部分列データから抽出される左極大かつ右極大な拡張上昇レグとなる時間区間を示すリストである。(c)は、(a)に示す部分列データから抽出される左極大かつ右極大な拡張下降レグとなる時間区間を示すリストである。
 レグ抽出部12は、(b)(c)に示すように、左極大かつ右極大な拡張上昇レグと、左極大かつ右極大な拡張下降レグとを抽出し、レグリストとして、レグ記憶部13に記憶する。
 図6は、振動パス及び振動数の説明図である。
 振幅A(上昇閾値及び下降閾値)が与えられたとき、振幅A以上の拡張上昇レグと拡張下降レグとが交互に出現する拡張レグの順序リストf[L:M],f[L:M],...,f[L:M]を振動パスと呼ぶ。振動パスの順序リストの長さnを振動パスの振動数とする。但し、L<M≦L<M,...,≦L<Mを満たす。
 振動パスにおいて、単純なレグでなく拡張レグを用いるのは、与えられた振幅よりも小さい幅の変動を無視するためである。
 時系列データf[L:M]、時間窓W、振幅Aが与えられたとき、L≦i≦M-W+1を満たす各iについて、部分列データf[i:i+W-1]において、振動数が最多になる振幅A以上の振動パスの振動数の集合を振動列データg[L:M-W+1]と呼ぶ。つまり、振動列データは、時間窓毎の振動数を表す。
 図6において、(a),(b)は、同じ部分列データを示しており、いずれも振幅A以上の振動パスを破線で示している。(a)に示すように拡張レグが選択されて振動パスが構成されると、振動数は7になるが、(b)に示すように拡張レグが選択されて振動パスが構成されると、振動数は5になる。このように、拡張レグの選択によって、振動パスの振動数が異なる。そこで、振動列データでは、拡張レグの選択によって振動数が変わらないように、振動パスの振動数が最多になる場合の振動パスを用いる。
 図7は、終時点最左振動パスの説明図である。
 図7において、(a),(b),(c)は、同じ部分列データを示しており、いずれも振幅A以上の振動パスを破線で示している。(a),(b),(c)は、それぞれ異なる拡張レグが選択され振動パスが構成されている。(a),(b),(c)で選択された拡張レグで構成される振動パスの振動数は、いずれも7であり最多である。つまり、振動数が最多になる拡張レグの選択肢は複数存在する場合がある。
 (c)では、振幅A以上の拡張レグが左(レグの始点が早い順)に選択され振動パスが構成されている。このように、拡張レグの終点が早い順に拡張レグが選択され構成された振動パスを終時点最左振動パスと呼び、終時点最左振動パスは振動数が最多になる。
 より正確には、f[L:M],f[L:L],...,f[L:M],...,f[L:M]を、振幅A以上の拡張上昇レグと拡張下降レグとが交互に出現する振動パスPとする。それぞれのf[L:M]がMi-1≦Lであり、かつ、振幅A以上であり、かつ、f[L:M]の中でMが最も早い時点になるように選択されている場合に、振動パスPは終時点最左振動パスである。
 終時点最左振動パスの振動数が最多になることを説明する。
 振動パスの先頭は、拡張上昇レグと下降拡張レグとのどちらかである。ここでは、振動数が最多となる振動パスの先頭の拡張レグが拡張上昇レグの場合について説明する。なお、先頭の拡張レグが下降拡張レグの場合についても同様の説明が成立する。
 まず、拡張上昇レグから開始する終時点最左振動パスを、f[L:M],f[L:M],...,f[L:M]とする。仮に、時点L’がLより後(右)にある拡張上昇レグf[L’:M’]から始まり、かつ、振動数が最多となる振幅Aの振動パスP’(f[L’:M’],f[L’:M’],...,f[L’:M’])が存在したとする。すると、拡張上昇レグf[L’:M’]を拡張上昇レグf[L:M]で置き換えた振動パスも振幅Aの振動パスになり、その振動数は振動パスP’と同じである。従って、f[L:M]から始まる振動パスには、振動数を最多にするものがあることがわかる。
 同様に、仮に、時点L’’がLより後にある拡張レグf[L:M],[L’’:M’’]から始まり、かつ、振動数が最多となる振幅Aの振動パスP’’(f[L:M],[L’’:M’’],[L’’:M’’],...,f[L’’:M’’])が存在したとする。すると、拡張上昇レグ[L’’:M’’]を拡張上昇レグ[L:M]に置き換えた振動パスも振幅Aの振動パスになり、その振動数は振動パスP’’と同じである。従って、f[L:M],f[L:M]から始まる振動パスの中に、振動数を最多にするものが存在することがわかる。
 nは有限であり、かつ、LはLi-1より大きいので、この手続きを再帰的に実行するとnステップ以内に停止する。従って、終時点最左振動パスが、振幅Aの波数を最多とする振動パスであることがわかる。
 図8は、振幅と、振動パス及び振動数との関係の説明図である。
 図8において、(a),(b)は、同じ部分列データを示しており、(a)は振幅A1以上の振動パスを破線で示し、(b)は振幅A2以上の振動パスを破線で示している。(a)では、振動数が7であるのに対して、(b)では、振動数が3である。このように、振幅によって、振動パスが異なり、振動数も異なる。
 図9は、平均値からの上下のずれ幅が均等でない場合における上下振動検出の説明図である。
 図9では、平均からの上下のずれ幅が均等でない場合の例として、非常に値の低い値があるために平均値が下にずれている場合を示している。時系列データの平均的な値からの上下のずれを振幅として上下振動を検出する場合、(a)のように検出され、振動数は3になる。一方、上述した終時点最左振動パスを検出する場合、(b)のように検出され、振動数は9になる。
 図10は、平均値が収束していない場合における上下振動検出の説明図である。
 図10では、平均値が収束していない場合の例として、値が上下振動しながら平均値が低下する場合を示している。時系列データの平均的な値からの上下のずれを振幅として上下振動を検出する場合、(a)のように検出され、振動数は1になる。一方、上述した終時点最左振動パスを検出する場合、(b)のように検出され、振動数は7になる。
 図11は、実施の形態1に係る時系列データ処理装置10の処理を示すフローチャートである。図12は、図11に示す処理における右極大化処理、新規レグ登録処理の具体的な内容を示す図である。図13は、図11に示す処理における左極大化処理の具体的な内容を示す図である。
 ここでは、入力として、時系列データf(1:i-1)、時間窓W、振幅Aが与えられているとする。
 (S1:部分列データ生成処理)
 期間データ生成部11は、時系列データの値が新規に到着すると、到着時点の過去の時間窓Wの部分列データを切り出す。
 新規に到着した時点をiとすると、時点i-W+1から時点iまでの部分列データf(i-W+1:i)が切り出される。例えば、時間窓Wが20分間である場合に、10時20分の値が到着すると、10時1分から10時20分までの部分列データf(10時1分:10時20分)が切り出される。
 (S2:右極大化処理)
 レグ抽出部12は、値f(i)と、レグ記憶部13に記憶されたレグリストLLとを入力として、レグリストLL中のそれぞれの拡張レグが右極大性を満たすように、レグリストLLを更新する。
 図12の01行から15行までが右極大化処理の内容を示している。そのうち、01行から12行までが拡張上昇レグについての処理の内容を示し、13行から15行までが拡張下降レグについての処理を示している。なお、拡張下降レグの具体的な処理に関しては、拡張上昇レグの処理と値の比較部分を除き同じであるため、省略している。
 レグ抽出部12は、レグリストLLから拡張上昇レグLj=f(L:M)を順次取り出し、取り出した各拡張上昇レグLjについて、以下の02行から11行までの処理を実行する(01行)。
 まず、レグ抽出部12は、値f(i)が拡張上昇レグLjの最小値よりも小さいか否かを判定する(02行)。02行で真の場合、将来どのような時系列データの値が到着しても、拡張上昇レグLjが右に拡張することはないので、レグ抽出部12は、拡張上昇レグLjに拡張不能フラグを付与する(03行)。そして、02行から開始されたif文が終了する(04行)。
 次に、レグ抽出部12は、拡張上昇レグLjに拡張不能フラグが付与されておらず、かつ、値f(i)が拡張上昇レグLjの最大値より大きいか否かを判定する(05行)。05行で真の場合、レグ抽出部12は、拡張上昇レグLjの終点であるMが新規に到着した時点iの1つ前の時点であるか否かを判定する(06行)。06行で真の場合、拡張上昇レグLjは右極大ではなくなるので、レグ抽出部12は、拡張上昇レグLjをレグリストLLから削除し、代わりに終点を時点iまで延ばしたf(L:i)をレグリストLLに登録する(07行)。一方、06行で偽の場合(08行)、拡張上昇レグLjは右極大であるため、レグ抽出部12は、拡張上昇レグLjはレグリストLLに残しておき、拡張上昇レグLjとは別にf(L:i)をレグリストLLに登録する(09行)。そして、05行及び06行から開始されたif文が終了する(10~11行)。
 レグリストLLに登録された全ての拡張上昇レグLjについて02行から11行までの処理が終了すると、01行から開始されたfor文が終了する(12行)。
 続いて、レグ抽出部12は、拡張下降レグについての処理を実行する(13~15行)。上述した通り、拡張下降レグについての処理は、拡張上昇レグの処理と概ね同様であるため、詳細な説明は省略する。拡張下降レグについての処理は、拡張上昇レグの処理における02行での「f(i)<minL≦i≦Mf(i)」を「f(i)>maxL≦i≦Mf(i)」とし、05行での「f(i)>maxL≦i≦Mf(i)」を「f(i)<minL≦i≦Mf(i)」とすればよい。
 (S3:新規レグ登録処理)
 レグ抽出部12は、値f(i)と、レグ記憶部13に記憶されたレグリストLLとを入力として、新たな拡張レグをレグリストLLに登録する。
 図12の16行から20行までが新規レグ登録処理の内容を示している。
 レグ抽出部12は、レグリストLLの全ての拡張レグの終点Mが時点i-2以下であるか否かを判定する(16行)。16行で真の場合、レグ抽出部12は、f(i)>f(i-1)又はf(i)<f(i-1)を満たすか否かを判定する(17行)。17行で真の場合、レグ抽出部12は、f(i)>f(i-1)を満たす場合には、拡張上昇レグとしてf(i-1:i)をレグリストLLに登録し、f(i)<f(i-1)を満たす場合には、下降拡張レグとしてf(i-1:i)をレグリストLLに登録する(18行)。そして、16行及び17行から開始されたif文が終了する(19~20行)。
 (S4:左極大化処理)
 レグ抽出部12は、値f(i)、時間窓W、振幅A、レグリストLLを入力として、レグリストLL中のそれぞれのレグの振幅が振幅A以上になり、かつ、左極大性を満たすように、レグリストLLを更新する。
 図13が左極大化処理の内容を示している。そのうち、01行から17行までが拡張上昇レグについての処理の内容を示し、18行から20行までが拡張下降レグについての処理を示している。
 レグ抽出部12は、レグリストLLから拡張上昇レグLj=f(L:M)を順次取り出し、取り出した各拡張上昇レグLjについて、以下の02行から16行までの処理を実行する(01行)。
 レグ抽出部12は、拡張上昇レグLjの始点Lがi-Wであるか否かを判定する(02行)。02行で真の場合、レグ抽出部12は、拡張上昇レグLjの始点が処理対象の範囲を外れているので、拡張上昇レグLjを削除する(03行)。
 次に、レグ抽出部12は、拡張上昇レグLjの始点Lを次の時点にずらした拡張上昇レグf(L+1:M)の振幅が与えられた振幅Aより小さいか否かを判定する(04行)。
 04行で真の場合、レグ抽出部12は、拡張上昇レグLjに拡張不能フラグが付与されていないか否かを判定する(05行)。05行で真の場合、レグ抽出部12は、拡張上昇レグLjの始点Lを次の時点にずらした拡張上昇レグf(L+1:M)は、この後振幅A以上になる可能性があるため、拡張上昇レグf(L+1:M)をレグリストLLに登録する(06行)。そして、05行から開始されたif文が終了する(07行)。
 一方、04行で偽の場合(08行)、レグ抽出部12は、f(L+1)<f(L+2)を満たすか否かを判定する(09行)。09行で真の場合、L+1の時点を始点とすれば左極大性を満たすので、レグ抽出部12は、拡張上昇レグf(L+1:M)をレグリストLLに登録する(10行)。一方、09行で偽の場合(11行)、レグ抽出部12は、L+1<k、かつ、f(k-1)>f(k)を満たす最も前の(左の)kを検索することにより、左極大性を満たす始点kを検索する(12行)。レグ抽出部12は、拡張上昇レグLjとは別にf(k:M)をレグリストLLに登録する(13行)。そして、02行、04行、09行から開始されたif文が終了し(14~16行)、レグリストLLに登録された全ての拡張上昇レグLjについて02行から16行までの処理が終了すると、01行から開始されたfor文が終了する(17行)。
 続いて、レグ抽出部12は、拡張下降レグについての処理を実行する(18~20行)。上述した通り、拡張下降レグについての処理は、拡張上昇レグの処理と概ね同様であるため、詳細な説明は省略する。拡張下降レグについての処理は、拡張上昇レグの処理における09行での「f(L+1)<f(L+2)」を「f(L+1)>f(L+2)」とし、12行での「f(k-1)>f(k)」を「f(k-1)<f(k)」とすればよい。
 (S5:振動パス特定処理)
 出現パターン特定部14は、レグリストLLに登録されたレグから、振幅A以上の拡張上昇レグと拡張下降レグとを交互に、終点が最も早い順に選択する。これにより、終時点最左振動パスが得られる。出現パターン特定部14は、得られた終時点最左振動パスの振動数g(i)を出力する。
 そして、時系列データの値が新規に到着すると、処理は再びにS1に戻され、処理が繰り返される。
 例えば、S1で、10時20分の値が到着し、10時1分から10時20分までの部分列データf(10時1分:10時20分)が切り出され、S2からS4の処理が実行されたとする。次に、10時21分の値が到着すると、処理は再びにS1に戻され、10時2分から10時21分までの部分列データf(10時2分:10時21分)が切り出され、S2からS4の処理が実行される。
 i=W,...,Nの各iについて、S1からS5の処理が繰り返され、振動数g(i)の集合である振動列データg[1:N-W+1]が生成される。
 以上のように、実施の形態1に係る時系列データ処理装置10は、時系列データから拡張レグを抽出し、抽出した拡張レグから拡張上昇レグと拡張下降レグとが時間の経過に従い交互に出現する出現パターンを特定する。これにより、フーリエ変換等により振動数を求めることが難しいような時系列データの値の上下振動を、的確に検出することができる。そのため、異常等を的確に検出できる。
 単純なサイン関数であれば、時系列データ処理装置10で得られた振動数を4で割った値は、フーリエ変換によって得られた振動数(周波数)と対応する。但し、フーリエ変換では、時間窓毎に振動数に対して振幅を対応させる関数が得られるのに対して、時系列データ処理装置10では、逆に、振幅に対して振動数を対応させる関数が得られる。
 また、特許文献1に記載された方法では困難であった、平均値からの上下のずれ幅が均等でない場合や、平均値が収束していない場合にも、上下振動を検出できる。
 また、図11から図13に示す処理では、時系列データの値が新規に到着する度に、改めて初めからから拡張レグを抽出し直すのではなく、既に抽出された拡張レグを編集してレグリストを更新する。そのため、拡張レグの抽出に係る処理が効率的である。
 また、終時点最左振動パスを特定するだけで、振動数が最大の振動パスを特定できる。そのため、振動パスの特定に係る処理が効率的である。
 なお、上記説明では、拡張上昇レグを最大値と最小値とに基づき定義した。しかし、拡張上昇レグを、「その時点の値がその時点までの最大値との差がある所定値k(第1基準値)より小さい」と定義することもできるし、「その時点の値がその時点までの最小値との差がある所定値k(第1基準値)より大きい」という定義にすることもできる。
 例えば、拡張上昇レグf[L:M]を「その時点の値がその時点までの最大値との差がある所定値kより小さい」と定義する場合には、拡張上昇レグf[L:M]は、L≦i≦Mを満たす全てのiに対して、(maxL≦j≦if(j)-k)≦f(i)を満たすと定義される。
 ここで、所定値kを0にした場合がレグに相当し、kを無限大にした場合が上述した拡張上昇レグに相当する。つまり、所定値kは、上昇レグ中で下降しているレグの大きさを指定している。すなわち、所定値kは、単調増加関数からの外れ度合いを指定している。拡張上昇レグを、より単調増加性を強く定義すれば、振動数を求める処理を高速化できる。
 拡張下降レグについても同様に定義できる。
 例えば、拡張下降レグf[L:M]を「その時点の値がその時点までの最小値との差がある所定値k(第2基準値)より小さい」と定義する場合には、拡張下降レグf[L:M]は、L≦i≦Mを満たす全てのiに対して、(minL≦j≦if(j)+k)≧f(i)を満たすと定義される。
 また、上記説明では、出現パターン特定部14が拡張上昇レグと拡張下降レグとが時間の経過に従い交互に出現する出現パターンを特定した。しかし、出現パターン特定部14は、例えば、3回連続して拡張上昇レグが現れる等、拡張レグの他の出現パターンを特定することも可能である。
 例えば、出現パターン特定部14は、コンピュータサイエンスの既知技術であるオートマトン理論を用いることにより、拡張レグの出現パターンを正規表現等により基準パターンとして定義しておく。そして、定義された基準パターンに一致する拡張レグの出現パターンを検出してもよい。
 図14は、実施の形態1に示した時系列データ処理装置10のハードウェア構成の例を示す図である。
 時系列データ処理装置10は、コンピュータである。時系列データ処理装置10の各要素をプログラムで実現することができる。
 時系列データ処理装置10のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
 演算装置901は、プログラムを実行するCPU(Central Processing Unit)等である。外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置等である。主記憶装置903は、例えばRAM(Random Access Memory)等である。通信装置904は、例えば通信ボード等である。入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
 プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
 プログラムは、期間データ生成部11、レグ抽出部12、出現パターン特定部14として説明している機能を実現するプログラムである。
 更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
 また、実施の形態1の説明において、レグリスト、時系列データ、部分列データ、振動列データ等が主記憶装置903にファイルとして記憶されている。
 なお、図14の構成は、あくまでも時系列データ処理装置10のハードウェア構成の一例を示すものであり、時系列データ処理装置10のハードウェア構成は図14に記載の構成に限らず、他の構成であってもよい。
 10 時系列データ処理装置、11 期間データ生成部、12 レグ抽出部、13 レグ記憶部、14 出現パターン特定部。

Claims (10)

  1.  時間の経過に従って順次得られた値の列である時系列データを入力として、前記時系列データから切り出される部分列データであって、始点の値よりも終点の値が高い又は低い部分列データを拡張レグとして抽出するレグ抽出部と、
     前記レグ抽出部が抽出した拡張レグから、始点の値よりも終点の値が高い拡張上昇レグと、始点の値よりも終点の値が低い拡張下降レグとが基準パターンの順に現れる拡張レグの組を特定する出現パターン特定部と
    を備えることを特徴とする時系列データ処理装置。
  2.  前記出現パターン特定部は、始点の値よりも終点の値が上昇閾値以上に高い拡張上昇レグと、始点の値よりも終点の値が下降閾値以上に低い拡張下降レグとが交互に出現する拡張レグの組を特定する
    ことを特徴とする請求項1に記載の時系列データ処理装置。
  3.  前記出現パターン特定部は、拡張上昇レグ及び拡張下降レグを最も多く含む拡張レグの組を特定する
    ことを特徴とする請求項2に記載の時系列データ処理装置。
  4.  前記出現パターン特定部は、始点の値よりも終点の値が上昇閾値以上に高い拡張上昇レグのうち終点の最も早い拡張上昇レグと、始点の値よりも終点の値が下降閾値以上に低い拡張下降レグのうち終点の最も早い拡張下降レグとを交互に特定することにより、拡張上昇レグ及び拡張下降レグを最も多く含む拡張レグの組を特定する
    ことを特徴とする請求項3に記載の時系列データ処理装置。
  5.  前記レグ抽出部は、拡張レグの終点の値よりも終点の次の時点の値が小さく、かつ、拡張レグの始点の前の時点の値よりも始点の値が小さい拡張上昇レグと、拡張レグの終点の値よりも終点の次の時点の値が大きく、かつ、拡張レグの始点の前の時点の値よりも始点の値が大きい拡張下降レグとのみを抽出する
    ことを特徴とする請求項4に記載の時系列データ処理装置。
  6.  前記拡張上昇レグは、始点と終点との間の各時点の値が、始点の値以上、かつ、終点の値以下である部分列データであり、
     前記拡張下降レグは、始点と終点との間の各時点の値が、始点の値以下、かつ、終点の値以上である部分列データである
    ことを特徴とする請求項1から5までのいずれかに記載の時系列データ処理装置。
  7.  前記拡張上昇レグは、始点と終点との間の各時点の値が、始点の値以上、かつ、始点からその時点までの最大値から第1基準値を引いた値以上である部分列データであり、
     前記拡張下降レグは、始点と終点との間の各時点の値が、始点の値以下、かつ、始点からその時点までの最小値に第2基準値を加えた値以下である部分列データである
    ことを特徴とする請求項1から5までのいずれかに記載の時系列データ処理装置。
  8.  前記拡張上昇レグは、始点と終点との間の各時点の値が、始点の値以上、かつ、始点からその時点までの最小値に第1基準値を加えた値以上である部分列データであり、
     前記拡張下降レグは、始点と終点との間の各時点の値が、始点の値以下、かつ、始点からその時点までの最大値から第2基準値を引いた値以下である部分列データである
    ことを特徴とする請求項1から5までのいずれかに記載の時系列データ処理装置。
  9.  前記時系列データ処理装置は、さらに、
     新たな時点における値が入力されると、基準期間前の時点から前記新たな時点までの値の列を前記時系列データとして生成する期間データ生成部
    を備えることを特徴とする請求項1から8のいずれかに記載の時系列データ処理装置。
  10.  時間の経過に従って順次得られた値の列である時系列データを入力として、前記時系列データから切り出される部分列データであって、始点の値よりも終点の値が高い又は低い部分列データを拡張レグとして抽出するレグ抽出処理と、
     前記レグ抽出処理で抽出した拡張レグから、始点の値よりも終点の値が高い拡張上昇レグと、始点の値よりも終点の値が低い拡張下降レグとが基準パターンの順に現れる拡張レグの組を特定する出現パターン特定処理と
    を備えることを特徴とする時系列データ処理プログラム。
PCT/JP2014/062594 2014-05-12 2014-05-12 時系列データ処理装置及び時系列データ処理プログラム WO2015173860A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201480078160.6A CN106233208B (zh) 2014-05-12 2014-05-12 时间序列数据处理装置
JP2016510860A JP6005323B2 (ja) 2014-05-12 2014-05-12 時系列データ処理装置及び時系列データ処理プログラム
PCT/JP2014/062594 WO2015173860A1 (ja) 2014-05-12 2014-05-12 時系列データ処理装置及び時系列データ処理プログラム
EP14891950.9A EP3144749B1 (en) 2014-05-12 2014-05-12 Time-series data processing device and time-series data processing program
US15/310,374 US20170139400A1 (en) 2014-05-12 2014-05-12 Time-series data processing device and non-transitory computer-readable recording medium which records time-series data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/062594 WO2015173860A1 (ja) 2014-05-12 2014-05-12 時系列データ処理装置及び時系列データ処理プログラム

Publications (1)

Publication Number Publication Date
WO2015173860A1 true WO2015173860A1 (ja) 2015-11-19

Family

ID=54479434

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/062594 WO2015173860A1 (ja) 2014-05-12 2014-05-12 時系列データ処理装置及び時系列データ処理プログラム

Country Status (5)

Country Link
US (1) US20170139400A1 (ja)
EP (1) EP3144749B1 (ja)
JP (1) JP6005323B2 (ja)
CN (1) CN106233208B (ja)
WO (1) WO2015173860A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6207791B1 (ja) * 2016-10-06 2017-10-04 三菱電機株式会社 時系列データ処理装置
US11531688B2 (en) 2017-05-12 2022-12-20 Mitsubishi Electric Corporation Time-series data processing device, time-series data processing system, and time-series data processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264720A (ja) * 2006-03-27 2007-10-11 Yamatake Corp 状態判定装置および状態判定方法
JP2012128583A (ja) * 2010-12-14 2012-07-05 Mitsubishi Electric Corp 異常検知装置、異常検知方法及び異常検知プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223064B1 (en) * 1992-08-19 2001-04-24 Lawrence A. Lynn Microprocessor system for the simplified diagnosis of sleep apnea
JP5440999B2 (ja) * 2009-05-22 2014-03-12 セイコーエプソン株式会社 周波数測定装置
JP2011118755A (ja) * 2009-12-04 2011-06-16 Sony Corp 学習装置、学習方法、およびプログラム
JP5423553B2 (ja) * 2010-04-09 2014-02-19 株式会社日立製作所 データベース管理方法、計算機、センサネットワークシステム及びデータベース検索プログラム
JP2011252844A (ja) * 2010-06-03 2011-12-15 Sony Corp データ処理装置、データ処理方法、およびプログラム
CN102982315B (zh) * 2012-11-05 2016-06-15 中国科学院计算技术研究所 一种自动检测非手势模式的手势分割识别方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264720A (ja) * 2006-03-27 2007-10-11 Yamatake Corp 状態判定装置および状態判定方法
JP2012128583A (ja) * 2010-12-14 2012-07-05 Mitsubishi Electric Corp 異常検知装置、異常検知方法及び異常検知プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3144749A4 *
TOMOYA FUJINO ET AL.: "A Method for Similarity-Based Search in Time- Series Sensor Data", FIT2009 DAI 8 KAI FORUM ON INFORMATION TECHNOLOGY KOEN RONBUNSHU, vol. 1, 20 August 2009 (2009-08-20), pages 295 - 296, XP055236364 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6207791B1 (ja) * 2016-10-06 2017-10-04 三菱電機株式会社 時系列データ処理装置
WO2018066108A1 (ja) * 2016-10-06 2018-04-12 三菱電機株式会社 時系列データ処理装置
CN109791402A (zh) * 2016-10-06 2019-05-21 三菱电机株式会社 时间序列数据处理装置
US11137750B2 (en) 2016-10-06 2021-10-05 Mitsubishi Electric Corporation Time-series data processing device
US11531688B2 (en) 2017-05-12 2022-12-20 Mitsubishi Electric Corporation Time-series data processing device, time-series data processing system, and time-series data processing method

Also Published As

Publication number Publication date
EP3144749A4 (en) 2018-03-28
CN106233208A (zh) 2016-12-14
EP3144749B1 (en) 2020-11-25
US20170139400A1 (en) 2017-05-18
JP6005323B2 (ja) 2016-10-12
CN106233208B (zh) 2017-09-29
EP3144749A1 (en) 2017-03-22
JPWO2015173860A1 (ja) 2017-04-20

Similar Documents

Publication Publication Date Title
JP7030072B2 (ja) 時系列データ監視システム、および時系列データ監視方法
CN109791402B (zh) 时间序列数据处理装置
JP6005323B2 (ja) 時系列データ処理装置及び時系列データ処理プログラム
JP5669553B2 (ja) 異常検知装置、異常検知方法及び異常検知プログラム
WO2016056236A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
WO2020105234A1 (ja) 異常検知方法、及び異常検知装置
JP6052043B2 (ja) 消費電力予測プログラム、消費電力予測方法及び消費電力予測装置
JP6020031B2 (ja) 抽出プログラム、抽出装置及び抽出方法
JP4936455B2 (ja) 文書分類装置、文書分類方法、プログラムおよび記録媒体
JP2010117941A (ja) Web文書主要コンテンツ抽出装置及びプログラム
KR101560726B1 (ko) 링크에 따른 시드를 이용한 클러스터 생성 시스템 및 방법
JP2018136640A (ja) 検出方法、検出装置および検出プログラム
TWI570581B (zh) Timing series data processing device
JP2019537177A5 (ja)
JP6005583B2 (ja) 検索装置、検索方法および検索プログラム
JP2008159015A (ja) 頻出パターン発見装置および頻出パターン発見方法
JP4959032B1 (ja) ウェブページ解析装置およびウェブページ解析用プログラム
JP2016218636A (ja) システムモデル生成支援装置、システムモデル生成支援方法、及び、プログラム
JP2007272693A (ja) システム分析プログラム、システム分析方法およびシステム分析装置
JP5734932B2 (ja) アイテムパターン抽出装置、方法、及びプログラム
JP7222688B2 (ja) 情報処理端末、情報処理方法、および情報処理プログラム
JP2015170044A (ja) 依存構造解析方法、装置、及びプログラム
KR101995420B1 (ko) 데이터 분석을 위한 근사화 기반 반복 수행 기법
CN108154179B (zh) 一种数据的检错方法及系统
JP5862418B2 (ja) 共通要素抽出装置、共通要素抽出方法、及び共通要素抽出プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14891950

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016510860

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014891950

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014891950

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15310374

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE