Demand prediction apparatus, demand prediction method and program for predicting a demand of a path on a network using selected trend patterns

A demand prediction apparatus allows for a prediction with a variation in terms of demand by acquiring, out of changes in demand in a first time period, changes in the demand in a second time period which is a part of the first time period acquiring changes in the demand in third time periods, which is a plurality of time periods excluding the second time period within the first time period, for each of the third time periods having different lengths, identifying, for combinations of a plurality of trend patterns and the third time periods, parameters of the corresponding plurality of trend patterns such that a value of a trend pattern of the plurality of trend patterns is equal to the demand at a certain time point in the first time period, evaluating suitability with the changes in the demand in the second time period for each of the plurality of trend patterns for each of the combinations in which a parameter of the parameters is identified, and selecting one or more trend patterns from among the plurality of trend patterns for each of the combinations based on evaluation results.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a National Stage application under 35 U.S.C. § 371 of International Application No. PCT/JP2020/005623, having an International Filing Date of Feb. 13, 2020, which claims priority to Japanese Application Serial No. 2019-031254, filed on Feb. 25, 2019. The disclosure of the prior application is considered part of the disclosure of this application, and is incorporated in its entirety into this application.

TECHNICAL FIELD

The present invention relates to a demand prediction apparatus, a demand prediction method, and a program.

BACKGROUND ART

In demand prediction of a path on a network or the like, depending on the application of the prediction, there are cases in which downside trend is required (such as a case for use in a study of network topology) and cases in which upside trend is required (such as a case for use in inventory management of infrastructure facilities of the network), rather than a prediction line of a trend having the highest degree of suitability. Note that the term “path” refers to a network usage request in which a start node, an end node, and a required band or interface type, and the like are specified.

CITATION LIST

Non Patent Literature

SUMMARY OF THE INVENTION

Technical Problem

However, in combinations of conventional techniques, it is difficult to perform demand prediction in light of the above-described circumstances. For example, NPLs 1 and 2 do not support predictions with a variation (optimal, upside, downside, or the like) in terms of demand.

The present invention has been made in view of the above and it is an object of the present invention to enable a prediction with a variation in terms of demand.

Means for Solving the Problem

In order to solve the above-described problem, a demand prediction apparatus includes a first acquisition unit configured to acquire, out of changes in demand in a first time period, changes in the demand in a second time period which is a part of the first time period a second acquisition unit configured to acquire changes in the demand in third time periods, which is a plurality of time periods excluding the second time period within the first time period, for each of the third time periods having different lengths, a first identification unit configured to identify, for combinations of a plurality of trend patterns and the third time periods, parameters of the corresponding plurality of trend patterns such that a value of a trend pattern of the plurality of trend patterns is equal to the demand at a certain time point in the first time period, and a selection unit configured to evaluate suitability with the changes in the demand in the second time period for each of the plurality of trend patterns for each of the combinations in which a parameter of the parameters is identified and select one or more trend patterns from among the plurality of trend patterns for each of the combinations based on evaluation results.

Effects of the Invention

A prediction with a variation in terms of demand can be made possible.

DESCRIPTION OF EMBODIMENTS

Hereinafter, an embodiment of the present invention will be described with reference to the drawings.FIG.1is a diagram illustrating an exemplary hardware configuration of a demand prediction apparatus10according to an embodiment of the present invention. The demand prediction apparatus10inFIG.1is a computer that includes a drive device100, an auxiliary storage device102, a memory device103, a CPU104, an interface device105, and the like which are connected to each other by a bus B.

A program that implements processing of the demand prediction apparatus10is provided through a recording medium101such as a CD-ROM. When the recording medium101storing the program is set in the drive device100, the program is installed on the auxiliary storage device102from the recording medium101through the drive device100. However, the installation of the program does not necessarily need to be performed from the recording medium101, and the program may be downloaded from another computer through a network. The auxiliary storage device102stores the installed program and also stores necessary files, data, and the like.

The memory device103reads the program from the auxiliary storage device102and stores the program in a case where an instruction for starting the program is given. The CPU104executes a function relating to the demand prediction apparatus10according to a program stored in the memory device103. The interface device105is used as an interface for connection to a network.

FIG.2is a diagram illustrating an exemplary functional configuration of the demand prediction apparatus10according to the embodiment of the present invention. InFIG.2, the demand prediction apparatus10includes a demand extraction unit11and a demand prediction unit12. Each of these units is implemented by processing that one or more programs installed in the demand prediction apparatus10cause the CPU104to execute. The demand prediction apparatus10also uses a demand storage unit13. The demand storage unit13can be implemented by using, for example, the auxiliary storage device102, or a storage device connectable to the demand prediction apparatus10via a network or the like.

The demand extraction unit11accepts an input of design history data regarding to a path. The term “path” refers to a network usage request in which a start node, an end node, and a required band or interface type, and the like are specified.

FIG.3is a diagram illustrating an example of a configuration of the design history data. As illustrated inFIG.3, the design history data includes, for example, start point, end point, open date, abolition date, attributes, and the like, for each pass that is requested to be opened. The start point is an identifier of a node that is the start point of the path on the network. The end point is an identifier of a node that is the end point of the path. The open date is the date (or date and time) that the pass was opened. The abolition date is the date (or date and time) that the pass was abolished. The attributes are attributes relating to the path. InFIG.3, system names, bands, and IF (interface) types are illustrated as examples of items that constitute the attributes. The system name is the name of the system that contains the path. The IF type is the type of interface that the pass utilizes. The band is the band requested for the path.

The demand extraction unit11aggregates a group of design history data for each destination (set of start point and end point) and for each combination of attributes, and stores the aggregation results in the demand storage unit13.

FIG.4is a diagram illustrating an example of a configuration of the demand storage unit13. InFIG.4, an example is illustrated in which the accumulating totals of the demand in a unit of month for each design type (new and abolished) are aggregated for each ground and each attribute.

Specifically, a table T1illustrates the aggregation results for each month of the accumulating totals of the demand for new setups and the aggregation results for each month of the accumulating totals of the demand for abolition, according to combinations of two kinds of attributes, attribute1and attribute2, for the set of design history data with the start point being A, and the end point being B. Similarly, a table T2illustrates the aggregation results for the accumulating totals of the demand for new setup and the aggregation results for the accumulating totals of the demand for abolition, according to combinations of two kinds of attributes, attribute1and attribute2, for the set of design history data with the start point being A, and the end point being C.

Here, attribute1and attribute2are units that are distinguished by system name, IF type, or combination of system name and IF type. The new setup corresponds to the open date and the abolition corresponds to the date of the abolition.

Thus, for example, the column of the new setup of attribute1of the first record in the table T1indicates the aggregation result of the demand based on a set of design history data in which the value of the attribute corresponds to attribute1, and the open month is 2005/10 or earlier, among the sets of design history data with the start point being A and the end point being B. Here, the value of the aggregation results of the demand may be the number of the relevant design history data or may be the sum of the bands of the relevant design history data. For example, the column of the abolition of attribute1of the first record in the table T1indicates the aggregation result of the demand based on a set of design history data in which the value of the attribute corresponds to attribute1, and the abolition month is 2005/10 or earlier, among the sets of design history data with the start point being A and the end point being B.

The demand prediction unit12uses the data stored in the demand storage unit13to predict the trend of demand for the paths for each column of each table inFIG.4(i.e., for each destination and for each new setup or abolition according to attribute (hereinafter referred to as a “prediction unit”)). InFIG.2, the demand prediction unit12includes a teacher data acquisition unit121, a learning data acquisition unit122, a parameter identification unit123, a selection unit124, a sudden demand removal unit125, a trend change handling unit126, and the like.

Hereinafter, a processing procedure executed by the demand prediction unit12will be described.FIG.5is a flowchart for explaining an example of a processing procedure of a prediction processing of the trend of the demand for the paths. The processing procedure ofFIG.5is performed for each prediction unit. Hereinafter, a prediction unit to be processed is referred to as a “target prediction unit”. Note that in the present embodiment, it is assumed that the target prediction unit is data relating to a new setup of certain attributes between certain destinations.

In step S101, the demand prediction unit12substitutes a final demand occurrence time tn of the target prediction unit into a prediction original final time t (initializes the prediction original final time t by the final demand occurrence time tn).

FIG.6is a diagram for explaining the prediction of the trend of demand for the target prediction unit. In the graph ofFIG.6, the horizontal axis is the time and the vertical axis is the demand. Thus, a curve L1indicates the time series data of the target prediction unit (aggregation result of the accumulating totals of the demand per month). Here, the final demand occurrence time tn is the time corresponding to the end point of the curve L1, in other words, the open month of the last design history data for the target prediction unit (according to the aggregation time period of demand). Note that the prediction original final time t indicates the final time of the time series data of the target prediction unit utilized in the prediction of the trend of the demand. Here, an example in which the prediction original final time t is initialized by the final demand occurrence time tn has been illustrated, but the prediction original final time t may be initialized by a time point before tn.

Note that, in the present embodiment, of the time series data of the target prediction unit, time series data from a time period after the time when demand becomes greater than zero for the first time (hereinafter referred to as the “prediction original time period”) is used as the source data for the prediction. Thus, the time series data for the prediction original time period is illustrated as the curve L1inFIG.6.

Subsequently, the teacher data acquisition unit121acquires time series data (change in demand) of [t−T+1, t] (teacher data time period) which is a part of the prediction original time period, as a teacher data (S102). Here, T is a parameter preset by a user and indicates the length of the time period to be predicted (for example, 2 years, or the like). “+1” in [t−T+1, t] is one month in the present embodiment. This is based on that the demand has been aggregated in the unit of one month in the present embodiment as illustrated inFIG.3. In other words, the unit of “+1” follow the aggregation time period of the demand. Note that the teacher data time period is not limited to [t−T+1, t]. For example, data of [t−α−T+1, t−α] offset by a minutes earlier may be acquired as teacher data. In other words, the end point of the teacher data time period may not coincide with t.

Subsequently, the learning data acquisition unit122acquires, as learning data, time series data (change in demand) for a plurality of time periods of [t−T−Δi+1, t−T] in a time period other than the teacher data time period of the prediction original time period (S103). Here, Δi (i=1, . . . , I) is a parameter preset by a user, and each Δi is different in length (time period) from one another. InFIG.6, an example of I=4 is illustrated. Thus, in this case, four pieces of learning data are acquired. The maximum value of length of Δi (length of Δ4inFIG.6) may be determined based on system information of the network system in which the path is located, for example, the period when the network system before one generation began the service, or the like (for example, six years, or the like). The minimum value of Δi (length of Δ1inFIG.6) is determined by the user based on the length (T) of the time period to be predicted (for example, the same length as T).

Note that in a case where the number of data for the prediction original time period (the number of months of the prediction original time period) is less than the minimum value of T+Δi (in a case where the time point in which the demand becomes greater than 0 for the first time is less than the minimum value of t−T−Δi+1), the values of T and Δi may be set to further smaller value (for example, flat 1/n).

Subsequently, the parameter identification unit123determines the parameters of each Pj by an optimization technique for each combination of a plurality of trend patterns (Pj)*the learning data time periods (Δi) that are prepared by the user in advance (S104). Here, a trend pattern (Pj) is, for example, a linear function, a sigmoid function, a soft plus function, a soft sine function, and an exponential function. In this case, j is j=1, . . . , 5. In other words, P1=linear function, P2=sigmoid function, P3=soft plus function, P4=soft sign function, and P5=exponential function. Thus, in a case of I=4, the number of combinations of the trend patterns (Pj)*learning data time periods (Δi) is 5*4=20. Note that these functions are described in detail in, for example, “https://ja.wikiipedia.org/wiki/%E6%B4%BB%E6%80%A7%E5%8C%96% E9%96% A2%E6%95%B0”.

Specifically, suppose the demand in the learning data time period Δi is d(x), x=[t−T−Δi+1, t−T]. Suppose the change in the demand that the trend pattern (Pj) outputs is p(x), x=[t−T−Δi+1, t−T]. In this case, the parameter identification unit123determines the value of the parameter of the trend pattern in which Σ(p(x)−d(x))2is the smallest, by an optimization technique (gradient method or the like). The parameters to be determined are, for example, as follows (examples in which the value of the parameter of each trend pattern (Pj) are adjusted so as to be equal to the demand d(t) corresponding to the prediction original final time t). x represents the time.

The parameter of Pj which is a linear function is a in the following equation:
p(x)=d(t)−(a*(t−x))
The parameter of Pj which is an exponential function includes a and b in the following equation:
p(x)=b*ax+d(t)−(b*at)
The parameter of Pj which is a soft plus function is a in the following equation:
p(x)=a*log(1+exp(x))+(d(t)−a*log(1+exp(t)))
The parameter of Pj which is a soft sine function includes a and b in the following equation:
p(x)=a*x/(1+b*|x|)+d(t)−a*t/(1+b*|t|))
The parameter of Pj which is a sigmoid function includes a, b, and c in the following equation:
p(x)=a/(1+b*exp(−c*x))+d(t)−a/(1+b*exp(−c*t))
Subsequently, the selection unit124evaluates suitability with teacher data for each combination of the trend patterns (Pj)*the learning data time periods (Δi) where the value of the parameter has been identified, and based on the evaluation results, selects the combination where the evaluation of the suitability is highest for the teacher data as the optimal prediction (optimal trend pattern Popt, optimal learning data time period Δopt) (S105). Examples of the method for evaluating suitability include the following three methods, Method 1, Method 2, and Method 2′.

With the square sum of the relative error (error/actual demand) of [t−T+1, t] as an evaluation scale, the trend pattern (Pj) and the learning data time period Δi that minimize the square sum are selected as the optimal prediction (optimal trend pattern Popt, optimal learning data time period Δopt).

FIG.7is a diagram for explaining Method 1 related to evaluation of suitability. InFIG.7, for convenience, evaluation scales of combinations of a learning data time period Δ1and three Pj and combinations of a learning data time period Δ2and three Pj, among all combinations.

With τ (τ>0, and, τ−T−Δmax+1>0) (Δmax is the maximum value of Δi) as a parameter, the relationship between time series data of the relative error of [τ−T−Δmax+1, τ−T] and the relative error (error/actual demand) of [τ−T+1, τ] is learned in advance by machine learning (such as deep neural network (DNN)) for each combination of the trend patterns (Pj) and the learning data time periods Δi. Using a learned model, for each combination of the trend patterns (Pj) and the learning data time periods Δi, the evaluation scale (the statistical value (for example, average) of the relative error in [t−T+1, t]) is predicted from the time series data of the relative error of [t−T−Δmax+1, t−T], and the prediction having the best (smallest) predicted value of the evaluation scale is selected as the optimal prediction (optimal trend pattern Popt, optimal learning data time period Δopt).

FIG.8is a diagram for explaining learning of a relationship between time series data of relative error of [τ−T−Δmax+1, τ−T] and relative error (error/actual demand) of [τ−T+1, τ] in Method 2 related to evaluation of suitability. InFIG.8, for convenience, evaluation scales of combinations of a learning data time period Δ1and three Pj and combinations of a learning data time period Δ2and three Pj, among all combinations.

Using τ as a parameter, the relationship between the time series pattern of [τ−T−Δmax+1, τ−T] and the relative error (error/actual demand) of [τ−T+1, τ] is learned in advance by machine learning (DNN or the like). Using a learned model, the predicted value of the evaluation scale (the statistical value (for example, average) of the relative error in [t−T+1, t]) of the trend patterns (Pj)*the learning data time periods (Δi) is calculated from the time series pattern of [t−T−Δmax+1, t−T], and the prediction having the best (smallest) predicted value of the evaluation scale is selected as the optimal prediction (optimal trend pattern Popt, optimal learning data time period Δopt).

FIG.9is a diagram for explaining Method 2′ related to evaluation of suitability. InFIG.9, for convenience, evaluation scales of combinations of three Pj of all combinations are illustrated.

Subsequently, among the trend patterns (Pj) for the optimal learning data time period Δopt (in the present embodiment, 5 Pj), the selection unit124selects a Pj which indicates the largest predicted value at a time point t+T as a Pj to be used for upside prediction, and selects a Pj which indicates the smallest predicted value as a Pj to be used for downside prediction (S106). Note that inFIG.6, five trend patterns Pj for the optimal learning data time period Δopt are illustrated by dashed lines. In this case, among them, a trend pattern (Pj) selected as the optimal prediction in step S105, and the trend patterns (Pj) selected as the upside prediction and the downside prediction in step S106are illustrated. Note that, depending on the application of the prediction, N-th upside prediction, N-th downside prediction, and the like may be selected. In other words, some trend patterns selected from among the plurality of trend patterns may be varied depending on the application of the prediction.

According to the above, a prediction with a variation in terms of demand can be made possible.

Subsequently, in a case of removing the impact of sudden demand (demand that occurs on account of a network provider, such as migration (for example, migration of a path to a new system), changing an apparatus installation building, and the like), step S107and subsequent steps may be performed.

At step S107, the sudden demand removal unit125calculates the statistical value of the prediction error for the change in the actual demand in [t−T+1, t] in regard to the optimal trend pattern Popt of the optimal prediction selected in step S105, and substitutes the calculation result into the variable X. The method for calculating the statistical value of the prediction error is, for example, as follows.

For the predicted value (Popt_Δopt(x), x=x−T+1, . . . , t) of [t−T+1, t] where the optimal trend pattern Popt is fitted for the optimal learning data time period Δopt, and the actual demand d(x), the calculation is performed as follows:
Σ|d(x)−Popt_Δopt(x)|/d(x),x=t−T+1, . . . ,t
Subsequently, the sudden demand removal unit125determines whether X is greater than or equal to the preset tolerance prediction error ε (S108). In other words, it is determined whether the comparison result between the optimal trend pattern Popt of the optimal prediction selected in step S105and the change in the actual demand satisfies a predetermined condition (a condition where X is less than the tolerance error ε).

In a case where X is less than ε (No in S108), processing of the demand prediction unit12is terminated. In this case, the demand prediction unit12outputs the optimal prediction, the upside prediction, and the downside prediction that have already been selected as the utilization target of the prediction (S112).

On the other hand, in a case where X is greater than or equal to c (Yes in S108), the sudden demand removal unit125performs a prediction processing of a trend in which the impact of sudden demand has been removed (S109). In the prediction processing, in a case where a change in the trend is not detected (No in S110), the demand prediction unit12outputs the optimal prediction, the upside prediction, and downside shake prediction selected in the prediction processing as the utilization target of the prediction (S112).

On the other hand, in the prediction processing of the trend in which the impact of sudden demand has been removed, in a case where a change in the trend is detected (Yes in S110), the trend change handling unit126performs a handling processing with a change in the trend (S111), and step S101and subsequent steps are repeated.

Subsequently, details of step S109will be described.FIG.10is a flowchart for explaining an example of a processing procedure of a prediction processing of a trend where an impact of sudden demand has been removed.

In step S201, the sudden demand removal unit125substitutes1into the variable ite. The variable ite is a variable for storing the number of executions of the processing of step S202and subsequent steps (number of times the sudden demand is removed).

Subsequently, the sudden demand removal unit125determines the demand increment c(x) (x=t−T−Δopt+1, . . . , t−1) for each unit time period (per month) in an optimal learning data time period [t−T−Δopt+1, t−T] and a teacher data time period [t−T+1, t] (S202).

FIG.11is a diagram for explaining a demand increment of each unit time period. As illustrated inFIG.11, the difference between the demand at the end time of a time period x and the demand at the start time is defined as a demand increment c(x).

Subsequently, the sudden demand removal unit125identifies the start time of the unit time period that takes the maximum value of the demand increment, and substitutes the start time into kmax (S203). In the example ofFIG.11, the demand increment c(t−2) in the unit time period of [t−2, t−1] is the maximum. Thus, t−2, which is the start time of the unit time period, is substituted into kmax.

Subsequently, the sudden demand removal unit125updates the prediction original final time t by kmax (S204). As a result, the time period after the start time of the unit time period at which the demand increment is the maximum (i.e., the occurrence time period of sudden demand) is excluded from the prediction original time period.

Subsequently, the sudden demand removal unit125performs processing for trend prediction with a variation (S205). The processing for trend prediction with a variation corresponds to a processing procedure (S102to S106) surrounded by dashed lines inFIG.5. In this case, the prediction original final time t is shifted in the past direction from tn, the teacher data time period and each learning data time period are also shifted in the past direction by tn−t. Based on the learning data and teacher data corresponding to this shift, the processing for trend prediction with a variation is performed. Note that the respective trend patterns (Pj) of the optimal prediction, the upside prediction, and the downside prediction resulting from the execution of step S205are referred to hereinafter as an optimal prediction (before offset processing), an upside prediction (before offset processing), and a downside prediction (before offset processing).

Subsequently, the sudden demand removal unit125determines the difference between the actual demand and the predicted value at the final demand occurrence time tn (actual demand−predicted value) for each of the optimal prediction (before offset processing), the upside prediction (before offset processing), and the downside prediction (before offset processing) (S206). Note that the final demand occurrence time tn is a value that is unchanged from the initial time. The difference according to the optimal prediction (before offset processing), the difference according to the upside prediction (before offset processing), and the difference according to the downside prediction (before offset processing) are referred to hereinafter as offset (optimal prediction), offset (upside prediction), and offset (downside prediction).

Subsequently, the sudden demand removal unit125determines the results of respectively adding offset (optimal prediction), offset (upside prediction), and offset (downside offset processing) on each of the optimal prediction (before offset processing), the upside prediction (before offset processing), and the downside prediction (before offset processing) as the optimal prediction (after offset processing), the upside prediction (after offset processing), and the downside prediction (after offset processing), respectively (S207).FIG.12illustrates an example of optimal prediction (after offset processing), upside prediction (after offset processing), and downside prediction (after offset processing).

Subsequently, for the optimal prediction (after offset processing), the sudden demand removal unit125calculates a statistical value (for example, average) of the prediction error for the change in the actual demand in [t−T+1, t] and substitutes the calculation result into the variable Y (S208).

Subsequently, the sudden demand removal unit125determines whether Y is equal to or greater than the tolerance prediction error c (S209). In other words, it is determined whether the comparison result between the optimal prediction (after offset processing) and the change in the actual demand satisfies a predetermined condition (a condition where Y is less than the tolerance error ε).

In a case where Y is less than ε (No in S209), the sudden demand removal unit125selects, as the utilization target of the prediction, the optimal prediction (after offset processing), the upside prediction (after offset processing), and the downside prediction (after offset processing) that are last obtained (S210).

On the other hand, in a case where Y is equal to or greater than c (Yes in S209), the sudden demand removal unit125determines whether Y is greater than X (S211). In other words, t is determined whether the last selected optimal prediction is worse in accuracy than the previously selected optimal prediction. In a case where Y is greater than X (Yes in S211), the sudden demand removal unit125selects the optimal prediction utilized in the calculation of X and the upside prediction and the downside prediction corresponding to the optimal prediction as the utilization target of the prediction (S212). The optimal prediction utilized in the calculation of X refers to the optimal prediction determined one time before the last optimal prediction.

On the other hand, in a case where Y is equal to or less than X (No in S211), the sudden demand removal unit125determines whether the value of the variable ite is less than max_ite (S213). max_ite indicates the upper limit of the number of times the sudden demand is removed (i.e., the upper limit of the number of repetitions of step S202and subsequent steps). In a case where the value of the variable ite is less than max_ite (Yes in S213), the sudden demand removal unit125substitutes the result of adding 1 to the value of the variable ite into the variable ite (S214). Subsequently, the sudden demand removal unit125substitutes the value of the variable Y for the variable X (S215), and repeats step S202and subsequent steps.

In a case where the value of the variable ite is greater than or equal to the max_ite (that is, in a case where the prediction error is not sufficiently small even if the impact of sudden demand is removed) (No in S213), the sudden demand removal unit125detects changes in the trend (S216). In this case, the determination of step S110inFIG.5is No, and step S111is performed.

Subsequently, details of step S111will be described.FIG.13is a flowchart for explaining an example of a processing procedure of a handling processing with a change in the trend.

In step S301, the trend change handling unit126identifies a time point at which a change in the trend has occurred. The following Method 1 and Method 2 are given by way of example as a method for identifying the time at which the change in the trend has occurred.

First, the moving average E[e](x) of the prediction error of the optimal prediction at time x, and the moving average E[σ](x) of the standard deviation of the prediction error are calculated by the following method. Here, e(x) is the difference between the actual demand and the predicted value of the optimal prediction at time x (actual demand−predicted value).
E[e](x)=α*E[e](x−1)+(1−a)*e(x)  (a)
E[σ](x)=β*E[σ](x−1)+(1−β)*|e(x)−E[e](x)|  (b)
Calculations of (a) and (b) above are performed for x=tn−T+1, . . . , tn. The start time point of the time period at which the condition (exceeding threshold value) where e(x) exceeds an upper limit of error (E[e](x)+γE[σ](x)) occurs N times consecutively is identified as the occurrence time point of the change in the trend. In other words, in a case where exceeding a threshold value is not consecutive for N times, in this embodiment it is determined to be a sudden demand.

FIGS.14and15are diagrams for explaining a first identification method of a time point when a trend change has occurred. InFIGS.14and15, an example is illustrated where α=β=¼, γ=2, and N=3.

The table and graph ofFIG.14illustrates the time series changes or the like of each parameter for Method 1 in a case where there is no change in trend (a case of sudden demand). The table and graph ofFIG.15illustrates the time series changes or the like of each parameter for Method 1 in a case where a change in trend has occurred.

In the table ofFIG.14, the condition of exceeding a threshold value (TRUE) in the column of exceeding threshold value is only one time of time=6. Thus, in this case, it is determined that there is no change in the trend.

On the other hand, in the table inFIG.15, the condition of exceeding a threshold value (TRUE) in the column of exceeding threshold value is consecutive for three times at time=6 to 8. Thus, in this case, the start time point (time=6) of the three consecutive time periods is identified as the time point at which the trend change has occurred.

For the data (teacher data) of [tn−T+1, tn], the demand increment c(x) (x=tn−T+1, . . . , tn−1) for each unit time period (per month) is determined. The start time kmax for the unit time period that takes the maximum value of the demand increment is identified as a time point at which a trend change has occurred.

FIG.16is a diagram for explaining a second identification method of a time point when a trend change has occurred. InFIG.16, an example where tn−2 is identified as the time when a trend change has occurred is illustrated.

Subsequently, the trend change handling unit126deletes data of a time period of the time series data of the target prediction unit before the time point when the trend change has occurred (S302).

Note that, as illustrated inFIG.5, step S302is followed by the re-execution of step S101and subsequent steps. In this case, due to the action of step S302, the time period before the time point when the trend change has occurred is removed from the initial prediction original time period (the prediction original time period prior to the removal of the time period of sudden demand). As a result, in a case where the number of data of the time series data of the target prediction unit after the occurrence of the trend change is less than a minimum value of T+Δi, the trend change handling unit126is required to perform processing with each Δi as further smaller value (for example, flat 1/n).

As described above, according to the present embodiment, a prediction with a variation in terms of demand can be made possible. As a result, for example, a user may select a prediction line depending on the application and design the investment plan, or network plan, for an infrastructure facility that corresponds to the demand of the path, based on the actual data.

By including a non-linear function in the trend pattern, it is possible to improve the accuracy of demand prediction even in a case where the trend of the future demand increases in a non-linear manner.

Even in a case where sudden demand or trend changes exist, it is possible to improve the accuracy of the demand prediction.

Note that the present embodiment may be applied to demand for other articles or services other than a path.

Note that, in the present embodiment, the prediction original time period is an example of a first time period. The teacher data acquisition unit121is an example of a first acquisition unit. The teacher data time period is an example of a second time period. The learning data time period is an example of a third time period. The learning data acquisition unit122is an example of a second acquisition unit. The parameter identification unit123is an example of a first identification unit. The time period after the start time of the unit time period for which the demand increment is the maximum is an example of a fourth time period. The time period before the time point when the trend change has occurred is an example of a fifth time period. The sudden demand removal unit125is an example of a first removal unit. The trend change handling unit126is an example of a second removal unit. The optimal trend pattern Popt is an example of a first trend pattern. The optimal prediction (after offset processing) is an example of a second trend pattern.

Although the embodiments of the present invention have been described above in detail, the present invention is not limited to such specific embodiments, and various modifications or changes can be made within the scope of the gist of the present invention described in the claims.

REFERENCE SIGNS LIST