The present invention relates to a forecasting apparatus, a parameter set generating method, and a program, and particularly, to a forecasting apparatus, etc., configured to forecast one or multiple ls-step-ahead or greater future event values VE from a time tick tc using a current window Xc which is part of a data stream X acquired up to the time tick tc.
The present inventors have researched time-series data analysis (see Non-patent document 1). The AutoPlait algorithm proposed by the present inventors has been attracting attention as a method for extracting the characteristics of time-series data.
Examples of known forecasting models based on time-series data include: the AR model (autoregressive model); the ARIMA (autoregressive integrated moving average model) which is an improved model of the AR model; LDS (linear dynamical systems); KF (Kalman filters); and the like. As an analysis and forecasting method for time-series data based on the aforementioned forecasting models, AWSOM, TBATS, PLiF, and the like have been proposed.
Y. Matsubara, one other person, Christos Faloutsos: “AutoPlait: Automatic Mining of Co-evolving Time Sequences”, ACM SIGMOD Conference, pp. 193-204, Snowbird, Utah, June 2014.
However, conventionally, in almost all cases, such a method employs a linear system, leading to a problem of insufficient performance for modeling the characteristics of non-linear time-series data. Even in a case in which such a conventional method employs a non-linear system, a modeling method based on a nearest neighbor search has been the mainstream. Such a modeling method has no capability of modeling time-series data over a long term.
Accordingly, it is a purpose of the present invention to propose a forecasting apparatus or the like that is capable of providing high-precision long-term precision based on a large-scale time-series data stream.
A first aspect of the present invention relates to a forecasting apparatus configured to forecast one or multiple ls-step-ahead or greater future event values from a time tick tc using a current window Xc which is a part of a time-series data X acquired up to the time tick tc. The forecasting apparatus comprises: a parameter set storage unit; a regime updating unit; and a forecasting unit. The parameter set storage unit stores a parameter set that identifies a mathematical model. The mathematical model includes a non-linear component. The parameter set includes a non-linear parameter that identifies a coefficient of the non-linear component. The regime updating unit updates a part or otherwise all of the parameters included in the parameter set except for the non-linear parameter so as to reduce a difference between data of the current window Xc at each time tick and an event value VC that corresponds to the current window Xc at the corresponding time tick obtained by calculation using a mathematical model identified by the updated parameter set. The forecasting unit forecasts one or multiple ls-step-ahead or greater future event values from the time tick tc using the mathematical model identified by the updated parameter set.
A second aspect of the present invention relates to the forecasting apparatus according to the first aspect. The parameter set storage unit stores c (c represents an integer) parameter sets θi (i=1, . . . , c). The forecasting unit forecasts an event value VE using a part of or otherwise all of the updated c parameter sets θi.
A third aspect of the present invention relates to the forecasting apparatus according to the second aspect. The forecasting apparatus further comprises a regime inserting unit. The regime inserting unit is configured such that, when the difference between the data of the current window Xc at each time tick and the event value VC at the corresponding time tick obtained using the updated c parameter sets θi satisfies an inserting condition, the regime inserting unit inserts a new parameter set θc+1 in the parameter set storage unit. The regime updating unit updates a part of or otherwise all of the parameters included in the (c+1) parameter sets θi (i=1, . . . , c+1) except for the non-linear parameter. The forecasting unit forecasts an event value using a part of or otherwise all of the mathematical models identified by the updated (c+1) parameter sets θi (i=1, . . . , c+1).
A fourth aspect of the present invention relates to the forecasting apparatus according to any one of the first aspect through the third aspect. The mathematical model includes a linear component. The parameter set includes a linear parameter that identifies the linear component. The regime inserting unit determines the linear parameter without changing the non-linear parameter. The regime inserting unit determines the non-linear parameter using the linear parameter thus determined.
A fifth aspect of the present invention relates to the forecasting apparatus according to any one of the first aspect through the fourth aspect. The current window XC(j) (j=1, . . . , h, h represents an integer) is configured to have a nested h-level structure. The parameter set is configured to have a nested h-level structure corresponding to the current window XC(j) having the nested h-level structure. The regime updating unit updates the parameter set for each level. The forecasting unit forecasts an overall event value based on the event values forecasted for respective levels.
A sixth aspect of the present invention relates to a parameter set generating method for generating a new parameter set by changing a part of a parameter set that identifies a mathematical model using a current window Xc which is a part of time-series data acquired up to a time tick tc. The mathematical model includes a non-linear component. The parameter set includes a non-linear parameter that identifies the non-linear component. The parameter set generating method comprises updating in which a regime updating unit included in an information processing apparatus updates a part of or otherwise all of parameters included in the parameter set without changing the non-linear parameter so as to reduce a difference between data of the current window Xc at each time tick and an event value VC that corresponds to the current window Xc at the corresponding time tick calculated based on a mathematical model identified by the parameter set thus updated.
A seventh aspect of the present invention relates to a program configured to instruct a computer to function as the forecasting apparatus according to any one of the first aspect through the fifth aspect.
It should be noted that the present invention may be realized as a computer-readable recording medium configured to constantly record the program according to the seventh aspect of the present invention.
The present inventors have focused their attention on the regime concept. A regime represents a characteristic time-evolving pattern in a natural phenomenon in environmental ecology. A regime shift represents a phenomenon in which a regime (time-series pattern) changes to another regime. In recent years, regime shift has been actively studied in various kinds of fields, and particularly, in the environmental ecology field.
The present inventors have extended the regime shift concept in a dynamical system in the natural world so as to propose a novel time-series pattern forecasting method. Similar to such a dynamical system in the natural world, a data stream in the real world evolves over time depending on various kinds of latent factors.
With each aspect of the present invention, when a large-scale time-series data stream is supplied, the latent pattern thereof is represented by a mathematical model including a non-linear component. Furthermore, parameters (e.g., the initial value or the like) are changed except for the non-linear pattern, so as to adjust the mathematical model in an adaptive manner using a non-linear dynamical system while maintaining representation of the latent pattern due to the non-linear component. This arrangement is capable of providing high-precision forecasting based on a data stream in the real world.
Furthermore, with the second aspect of the present invention, multiple non-linear models are employed based on the regime shift concept, so as to capture a regime shift that occurs in the time-series data stream. This arrangement is capable of representing the time-series pattern even if it varies in a complex fashion, thereby providing high-precision forecasting.
Furthermore, with the third aspect of the present invention, this arrangement is capable of automatically capturing a new regime accompanying a regime shift, and of inserting the new regime thus detected as a new time-series pattern.
Furthermore, with the fourth aspect of the present invention, by identifying a non-linear component after a linear component is identified, this arrangement is capable of estimating a model that represents the new regime with high accuracy while suppressing the calculation cost.
An actual time-series data stream is composed of a multi-level dynamical system based on different time evolution. Accordingly, such an actual time-series data stream has a complex time-series pattern, i.e., has a nested multi-level structure. With the fifth aspect of the present invention, by providing forecasting based on a nested multi-level structure, this arrangement provides high-precision forecasting.
Description will be made below regarding embodiments of the present invention with reference to the drawings. It should be noted that the present invention is by no means intended to be restricted to such embodiments.
First, description will be made with reference to
A regime shift occurs mainly due to internal factors (variation of stability in a system, etc.) and/or external factors (external shocks applied to the system, etc.). For example, as shown in
The present inventors have extended the concept of regime shift in a dynamical system in nature, and have proposed a novel time-series forecasting method. As with a motion data stream shown in
With the present invention, when a large-scale data stream composed of various kinds of time-series patterns (e.g., sensor data, Web access history, etc.) is supplied, such an arrangement is capable of capturing important features or latent trends, which provides future time-series data forecasting in a continuous manner for a long period.
First, description will be made regarding an example of a mathematical model employed in forecasting.
The time evolution of each element in an ecosystem is represented by the ordinary differential equation in the following Expression 1. Here, “s(t)” represents a property (nutrients, soils, or the like) of the ecosystem at a given time tick t. “a0” represents an environmental factor that changes s(t) such as nutrient loading or the like. “a1” represents the rate at which s(t) grows or decays in the system (e.g., “a1” represents the nutrient removal rate, for a1<0). “a2” represents the rate at which s(t) recovers again as a function f(s(t)) (e.g., internal nutrient recycling). The function “f” causes a regime shift.
The present inventors have extended the concept of regime shift in the dynamical system represented by Expression 1. First, as the simplest pattern representation method, description will be made regarding a representation method for a single dynamical pattern (regime). In this example, there is no regime shift in the event sequence. This model is composed of two kinds of time-evolving activity patterns, i.e., s(t) and v(t). Here, “s(t)” represents a k-dimensional latent value (latent time-evolving pattern). “v(t)” represents a d-dimensional estimated event at the time tick t (actual event measurement value)(e.g., measurement values generated by d multiple sensors). The single regime is represented by Expression 2.
s(t): potential value, i.e., k-dimensional latent activity value at the time tick t (s(t)=si(t)ki=1)
v(t): estimated event, i.e., d-dimensional measurement value at the time tick t (v(t)=vi(t)di=1)
As the initial condition, s(0)=s0 is employed. Furthermore, the derivative of s(t) with respect to the time tick t is represented by ds(t)/dt. Furthermore, the quadratic form matrix of s(t) will be represented by S(t) (i.e., S(t)=s(t)Ts(t)). Moreover, “p”, “Q”, and “A” represent a parameter set used to generate the potential value s(t), and are used to represent a linear dynamical pattern, an exponential dynamical pattern, and a non-linear dynamical pattern, respectively (it should be noted that, in this example, the non-linear pattern component A is represented by a quadratic function). “u” and “V” each represent a projection that generates the estimated event v(t) based on the potential value s(t) at the time tick t. As an important condition, the non-linear tensor A is required to be sparse in order to eliminate the complexity of the dynamical system.
The parameter set in the single latent non-linear dynamical system is represented by θ={s0, p, Q, A, u, V}.
Next, description will be made regarding a regime shift that occurs in an event stream. For example, as shown in
w(t): regime activity value, i.e., regime magnitudes of c regimes in a regime shift at the time tick t.
The model represented by Expression 2 is extended so as to propose a model represented by Expression 3. Here, “si(t)” represents a latent value of the i-th regime at the time tick t (Si(t)={sij((t))kj=1). “w(t)” represents the magnitudes of the i-th regimes at the time tick t (w(t)={wi (t)}ci=1) Here, “v(t)” represents the d-dimensional estimated event at the time tick t. “dw(t)/dt” represents the derivative of w(t) with respect to the time tick t.
In Expression 3, as a new parameter, r(t) is introduced. “r(t)” is represented as a c-dimensional vector at the time tick t. “R” is defined as a parameter set that represents the regime shift dynamics (R(t)={r(t)}tci=1). Here, “tc” represents the length of the event stream. “R” will be referred to as a regime shift matrix. In a case in which c=1 (in a case in which the event stream is composed of a single regime), the model represented by Expression 3 matches the model represented by Expression 2.
The parameter set for representing the regimes is defined as Θ={θ1, . . . , θc, R}. Here, “c” represents the number of regimes included in the event stream.
Furthermore, description will be made regarding an extended model, i.e., a multi-level structure model. The systems represented by Expressions 2 and 3 each represent a single-level dynamical system. However, a time-series event in the real world includes various levels of time-series activity patterns based on different time evolution. For example, an event on the Web can include a 10-year cyclic pattern, a daily cyclic pattern, etc. In order to represent such a time-series pattern having a multi-level structure, a model based on a multi-level structure is employed. Specifically, a multi-level regime set M={Θ(1), Θ(2), . . . } is employed. The regime set is a full model parameter set for representing a time-series pattern having a multi-level structure. In each i-th level, a corresponding local estimated event v(i)(t) is generated. The local estimated events V(i)(t) thus generated are superimposed so as to represent the actual estimated event v(t).
Next, description will be made regarding the required concept. Table 1 shows the main symbols and definitions.
“X” represents a data stream X={x(1), . . . , x(tc)} composed of d-dimensional event entries. Here, tc represents the current time tick. The data stream X is referred to as the “event stream”.
Description will be made assuming that a new event entry x(tc) occurs at every time tick. Here, tc is incremented with every advance in time. In this case, the event set that occurs at the latest time tick is defined as a current window as follows. That is to say, the current window is defined to have a partial sequence Xc=X[tm; tc] having a length lc. Here, Xc represents a partial sequence of the event stream X in a range from the time tick tm to tc (1≤tm≤tc). Description will be made below regarding an example in which lc=3•lS.
After the current window Xc is supplied, the next goal is to capture the optimal regime in the parameter set M, and to estimate the ls-step-ahead future event VF={v(ts), . . . , v(tc)} based on the model represented by Expression 3. “VF=V[ts, tc]” represents the ls-step-ahead future event sequence (tc≤ts≤te) with ts=tc+ls, and with te=ts+lp. Here, “lp” represents the length of the output unit time.
The aforementioned description can be summarized as follows. That is to say, upon receiving the event stream X={x(1), . . . , x(tc)}, this arrangement continuously outputs the ls-step-ahead future event VF. Specifically, this arrangement detects the optimal regime pattern included in the current window Xc at each time tick tc, updates the model parameter set M based on the regime pattern of Xc thus detected, and outputs the ls-step-ahead future event VF.
Description will be made with reference to
RegimeReader: Upon receiving the current window Xc and the regime parameter set Θ, RegimeReader estimates the regime dynamics, and generates the event VE=V[tm: te] (see
RegimeEstimator: When a new regime pattern is included in the current window Xc, RegimeEstimator estimates a new parameter set θ that represents the current window Xc (see
RegimeCast: RegimeCast estimates the optimal event set VE(i) for each level i (i=1, . . . , h), and calculates the estimated event VE=VE(1)+VE(2)+ . . . . Subsequently, RegimeCast reports the ls-step-ahead future event (i.e. VF). Furthermore, RegimeCast updates the regime parameter set M (see
Detailed description will be made regarding an algorithm shown in
Let us consider a case in which the current window Xc and the regime parameter set Θ={θ1, . . . , θc, R} are supplied at a time tick tc. The goal of RegimeReader is to estimate the event sequence VE=V[tm: te] based on the current regime parameter set Θ.
The most straightforward solution for estimating an appropriate estimated event value is to use a fixed parameter set included in the regime parameter set Θ to calculate v(tm), V(tm+1), . . . , based on the model represented by Expression 3. However, in real event streams, the latent trends in the current window Xc dynamically and continuously change over time. Accordingly, the regime parameters included in the regime parameter set Θ are optimized based on the pattern of the latent current window Xc. Specifically, the algorithm shown in
(1) Individual Regime Optimization
For each i-th regime parameter θi∈Θ(i=1, . . . , c), the initial value of the potential value s0∈θi is optimized. Specifically, the initial value of the potential value so is optimized so as to minimize the mean square error between the original event and the estimated event (i.e., min∥Xc−Xci∥). Here, the function fc(s0|θ) represents the estimated event Vc={v(tm), . . . , v(tc)} calculated based on the model represented by Expression 3 assuming that the regime parameters s0 and θ are supplied.
(2) Regime Shift Identification
RegimeReader estimates the latent dynamical pattern of the regime shift at the time tick tc based on the c multiple estimated events {Vci}ci=1 obtained in (1). Specifically, in order to optimize the regime set included in the regime parameter set Θ, RegimeReader estimates the regime activity value w(tc), and updates the regime shift matrix R in Θ based on Expression 3 (i.e., min∥Xc−fc(Θ)∥). Subsequently, RegimeReader calculates the estimated event VE=fE(Θ) as the optimal value for the current window Xc. Here, as a method for minimizing the mean square error ∥•∥, the LM (Levenberg-Marquardt) algorithm is employed, which is suitable as a learning algorithm for handling non-linear data.
Next, description will be made with reference to
Here, the regime represented by θ is composed of a very large number of parameters, which is a significant problem. Typically, it is very difficult for such a learning algorithm to simultaneously estimate an optimal solution for such a large number of parameters represented by a non-linear model, leading to increased calculation costs. Furthermore, it is important for the non-linear activity tensor A to be sparse in order to eliminate the complexity of the dynamical system.
In order to solve this problem, RegimeEstimator is proposed as an algorithm for high-speed and effective estimation of a parameter set regardless of whether the parameter set to be estimated is represented by a linear model or a non-linear model. Specifically, the parameter set θ is split into two kinds of partial sets, i.e., a linear parameter set θL={p, Q, u, V}, and a non-linear parameter set θN={A}, which are separately estimated. Referring to
Description has been made above regarding a generating method for generating the estimated event VE for a single-level regime set Θ. The goal of the present research is to represent a multi-level time-series pattern M={Θ(1), . . . , Θ(h)}, and to estimate the ls-step-ahead forecast window VF. That is to say, when an event stream X is supplied, there is a demand to represent various levels of dynamical patterns such as yearly, monthly, and daily patterns, etc. In order to meet such a demand, the present invention proposes a forecasting method based on a multi-level model. Specifically, the current window Xc is decomposed into a multi-level event set Xc=XC(1)+ . . . +XC(h) so as to provide more effective forecasting. Here, “XC(i))” represents the i-th level event, which is calculated based on Expression 4. The function g(•|t) represents the moving average of the length t. In this specification, H={2 •ls, 1} is employed.
Next, description will be made regarding a high-speed operation based on the dynamic point set (DSP). As shown in the model represented by Expression 3, RegimeReader operates based on a complex dynamical system. Accordingly, RegimeReader requires the amount of calculation O(le) to estimate the potential value SE={s(tm), . . . , s(te)}. Here, “le” represents the length of SE. However, the calculation time can become a bottleneck for real-time processing. In order to solve such a problem, the present invention proposes a technique for providing high-speed dynamical event generation. Specifically, instead of generating all the event set SE={s(tm), s(tm+1), s(tm+2), . . . , s(te)}, only a partial set of the vent set SE, represented by S{circumflex over ( )}E={s(tm), s(tm+δ), s(tm+2δ), . . . , s(te)}, is generated. The partial set S{circumflex over ( )}E will be referred to as the “DSP”. Here “δ” represents a time interval for which each potential value is generated (δ=0.1 •ls, for example). The partial set S{circumflex over ( )}E is generated based on the fourth-order Runge-Kutta method represented by Expression 5. This reduces the model estimation calculation time to the length of S{circumflex over ( )}E represented by O(le/δ), thereby providing a dramatically improved high-speed operation.
Description will be made regarding theoretical analysis results with the length of the estimated event set VE as le, and with the number of regimes included in M as c. In this example, the calculation time of RegimeCast for each time tick is represented by a minimum of O(c•le/δ), and by a maximum of O(c •le/δ+lc). RegimeReader requires the calculation time represented by O(c •le/δ) to estimate c multiple optimal regimes VE. In a case in which the current window Xc includes a new regime, RegimeEstimator requires the calculation time O(lc) to estimate the parameter set θ. Thus, RegimeCast requires the calculation time represented by a minimum of O(c •le/δ), and by a maximum of O(c •le/δ+lc).
Description will be made with reference to
Referring to
Referring to
Referring to
Description will be made with reference to
The actual time-series data stream has a multi-level structure. The current window calculation unit 11j, the regime updating unit 13j, and the regime inserting unit 15j each handle the corresponding h-level time-series data stream in order to perform analysis using a multi-level structure.
The current window calculation unit 11j generates the current window XC(j) of the corresponding level (Step ST2).
The parameter set storage unit 7 stores the full parameter set M.
The regime updating unit 13i acquires VE(j) and the updated Θ(j) from the current window XC(j) and the regime parameter set Θ(j) (Step ST3). Detailed description will be made later regarding a specific operation with reference to
The regime inserting unit 15i acquires VC(j) which corresponds to the current window Xc(j) for each time tick using the updated Θ(j) (Step ST4). Subsequently, judgment is made whether or not the difference between the current window Xc(j) and the event value VC(j) is sufficiently small (Step ST5). As shown in
In Step ST7, the forecasting apparatus integrates the estimated values VE(j) for the respective levels, so as to acquire the overall estimated value VE. Subsequently, the forecasting apparatus outputs the ls-step-ahead future event value VF.
Next, specific description will be made with reference to
The regime updating unit 13j receives the input of the current window Xc(j) and the regime parameter Θ(j) at the current time tick (Step STR1). Subsequently, each activity calculation unit 21ji changes a part of the corresponding parameter set θi(j) so as to reduce the difference between the current window Xc(j) and the event value Vc(j) (Step STR2). Here, as the parameter to be changed, a parameter that differs from a non-linear parameter is employed, for example, as with the initial value.
Subsequently, the regime activity is analyzed. The weight calculation unit 25j determines the weight to be set for each event value Vci such that the difference between the weighted Vci and the current window Xc becomes smaller. The regime shift variable calculation unit 25j calculates the weighted difference for each Vci so as to calculate the regime shift variable. The parameter updating unit 27j updates the regime parameter set Θ(j) of the corresponding level using the regime shift variable (Step STR3). The estimated event calculation unit 29j calculates the estimated event VE(j) for each level, and outputs VE(j) and Θ(j) (Step STR4).
Next, specific description will be made with reference to
With the present invention, upon receiving a large-scale data stream, this arrangement is configured to capture important trends, and to model various kinds of time-evolving patterns (regimes), thereby providing long-term forecasting. The important features of the present invention can be represented as follows. That is to say, with the present invention, the concept of regime shift in the natural ecosystem model is extended, and such a large-scale time-series data stream is represented as an adaptive non-linear dynamical system. This arrangement allows a complex time-series pattern to be represented in a flexible manner, thereby allowing long-term event forecasting.
(1) Latent Non-Linear Dynamical Pattern
As with natural dynamical systems, actual data streams in the real world evolve over time, depending on various kinds of latent factors. For example, a vehicle sensor data stream evolves with time depending on various kinds of factors such as traffic conditions, weather conditions, driver conditions, etc. Also, Web access history data evolves depending on user preferences and interests. Accordingly, with the present invention, latent patterns of a time-series data stream are represented as a non-linear dynamical system. More specifically, the time-series data sequence is represented by a latent non-linear differential equation.
(2) Regime Shift in Data Streams
Furthermore, with the present invention, this arrangement automatically captures an important transition point (regime shift in a data stream) in a time-series pattern. With the present invention, a time-series data stream is modeled based on the regime shift concept. By employing multiple non-linear models, this arrangement allows all the time-series patterns to be represented even if they have complex variations.
(3) Nested Multi-Level Structure
In actuality, a time-series data stream is configured as a nested multi-level dynamical system based on different time evolution. That is to say, a time-series data stream has a multi-level structure. With the present invention, a model based on such a multi-level structure is employed, thereby providing high-precision forecasting.
Description will be made with reference
The present invention is applicable to Web information in addition to such motion capture data.
As shown in
1 forecasting apparatus, 3 data stream storage unit, 5 current window storage unit, 7 parameter set storage unit, 11 current window calculation unit, 13 regime updating unit, 15 regime inserting unit, 17 forecasting unit, 21 activity calculation unit, 23 weight calculation unit, 25 regime shift variable calculation unit, 27 parameter updating unit, 29 estimated event calculation unit, 31 linear parameter estimation unit, 33 non-linear parameter estimation unit, 35 parameter set inserting unit.
Number | Date | Country | Kind |
---|---|---|---|
2016-138075 | Jul 2016 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2017/025236 | 7/11/2017 | WO | 00 |