Abstract: The present invention relates to a system and method to perform basic analysis on the observed data recorded over a period of time in order to suggest the best fit forecasting model in a computing environment. The system identifies for any seasonality or trend or any other dependency association inherent within the observed data series based upon which it recommends a forecasting model(s) that can be mapped to all patterns in a time series data.
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule13)
Title of invention:
A SYSTEM AND METHOD FOR SELECTING FORECASTING MODEL
Applicant:
TATA Consultancy Services Limited A company Incorporated in India under The Companies Act, 1956
Having address:
Nirmal Building, 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India
Thefoffowing specification particularly describes the invention and the manner in which it is to be performed.
FIELD OF THE INVENTION
The present invention generally relates to the field of time series data analysis, and more particularly relates to selecting best fit forecasting model based on such analysis.
BACKGROUND OF THE INVENTION:
Time series analysis is used to find patterns and relations in the observed data collected over a period of time and then forecast the expected value for a future time period. In any management system (e.g., inventory, material, human resources, etc.), there is always a need for careful planning in order to be successful and this planning depends on ability to predict future behaviors and values of significance to a particular management system. Accurate forecasting of the requirements and events would certainly aid in effective planning. It also enables reliable predictions of the future outcome, thereby reducing the uncertainty inherent in the decision-making process. There is a wide variety of statistical models, which can be used to forecast future values in a time series. The models include a random walk, different types of trends, moving averages, seasonal and non-seasonal exponential smoothers, and univariate ARIMA models.
The initial work has been carried out in translating the time domain into a standard form for efficient computation. As seen, numerous methods are available to fit a model for the observed data and predict future through such adopted model. However, accurate forecasting and predicting is quiet a challenging task. In a real situation accurate forecast is not possible because of anomalies that exist in accessing historical time series data and analyzing the data for selection of suitable forecasting model. Eventually, selection of a right forecasting model for predicting the future value from a given time series data is not appropriate. The inaccuracy observed in forecasting future values has a significant impact on the entire planning process and hence the performance of any organization.
Consequently, there remains a need for a system and a method of improving forecasting method which in turn is dependent on the selection of a right forecasting model. \n light of the foregoing, there is need for a method and system that is capable of performing effective and comprehensive analysis on the time series data that can prove instrumental in enabling selection of a robust and fit-to-purpose forecasting model,
OBJECTS OF THE INVENTION:
it is an object of the present invention to enhance decision making of a system in selection of a "best" forecasting model by performing effective analysis of the time series data.
Another object of the invention is to find out the time series irend, seasonality and non-seasonality factor through a computationally faster process, which in turn maps the time series to best fit forecasting models
Another object of the present invention is to produce a time series comprehensive analysis that can be easily interpreted to forecast future value of a given historical time series data set.
Another object of the invention is to facilitate prediction of accurate future values that can assist organizations in formulating their organizational strategies in order to be successful.
Another object of the present invention is to enable, a reliable prediction of the future outcome thereby reducing the uncertainty inherent in the decision making process.
One other object of the present invention is to sense the pattern inherent within the time series data with minimal computational complexities.
Yet another object of the present invention is to select a minimal library of forecasting models that can be mapped to all patterns in a time series data.
SUMMARY OF THE INVENTION:
The present invention relates generally to a method of executing basic diagnosis and analysis on a given set of observations that are ordered and identified at the time of observation in order to generate forecasts. The system identifies for patterns that may exist in an observed data set like seasonality and trend in order to recommend a forecasting model from a given set of forecasting models that can best model the pattern identified in the data set. The system also takes care of existence of more than one pattern detected in the observed data values in order to improve the accuracy of forecasting results by selecting a forecasting model that can best fit the combinative pattern tracked in the data set.
In one aspect of the invention, a computer implemented method for recommending a best fit forecasting model is provided, the said fit forecasting model is t-jsed on detailed analysis of pattern in collected time series data, wherein the method comprises of: obtaining a plurality of historically realized values of the time series data recorded at each plural time points; determining if a pattern of the obtained data is seasonal or non-seasonal
based on a standard deviation value of said data; deriving a corresponding seasonality factor and a trend factor for each determined seasonality pattern in order to set flag values indicative of combined seasonal and trend pattern of the data; deriving a corresponding dependency association and a trend factor for each determined non seasonality pattern in order to set flag values indicative of combined dependency and trend pattern of the data; and recommending a forecasting model based on various combinations of the flag values generated in response to the seasonality and non seasonality pattern of the data.
In another aspect of the invention, a system for recommending a best forecasting model based on analysis of times series data is provided, wherein the system comprises: an input module for receiving historically realized values of the time series data; a pattern generator for determining seasonality or non seasonality pattern of said data; a flag setter adapted to receive at least one seasonality or a non seasonality factor for amending a pre-existing flag value; a recommendation module adapted to recommend best fit forecasting model by analyzing amended flag values.
Other aspects, features and advantages of the present invention will be described or become apparent from the following detailed description of preferred embodiments, which is to be read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS:
Fig. 1 depicts the system architecture capable of suggesting a best fit forecasting model in accordance with one general embodiment of the present invention.
Fig. 2 is a representation of working of flag setter in combination with a pattern generator in accordance with one preferred embodiment of the present invention.
Figs. 3 show the selection procedure of a best to fit forecasting model commensurating with flag values in accordance with one preferred embodiment of the present invention.
Fig. 4 is a flow chart illustrating the method for analysis and diagnosis for recommending best forecasting model according to one of the preferred embodiments of the present invention.
DETAILED DESCRIPTION OF THE INVENTION:
Before the present method, system and communication enablement are described, it is to be understood that this invention is not limited to the particular methodologies, hardware and network described, as these may vary within the specification indicated. It is also to be
understood that the terminology used in the description is for the purpose of describing the particular versions or embodiments only, and is not intended to limit the scope of the present invention, which will be limited only by the appended claims.
The words "comprising," "having," "containing," and "including," and other forms thereof, are intended to be equivalent in meaning and be open ended in that, an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. The disclosed embodiments are merely exemplary methods of the invention, which may be embodied in various forms. The invention may be described herein in terms of functional and/or logical block components and various processing steps. It should be appreciated that such block components may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. Unless indicated otherwise, a processor or a group of processors such as computers or other devices with a code, software, or any other type of programmable medium stored on them perform all functions and methods of the present invention.
One embodiment of the subject matter is realized as a product being used in a computing environment. The software programs for such a product may comprise routines and subroutines/source codes written in a computer language to perform forecasting based data available described as an embodiment of the present subject matter. Such a product can be contained on a variety of computer-readable or computer-rewritable media, wherein such media may include, but are not restricted to CD-ROM, DVD-ROM, floppy disks, hard disk drive, diskette drive, or other form of storage media, on which alterable/upgradable information can be stored.
The system of the present invention performs in an exemplary computing environment for forecasting based on time series data recorded at each of plural time points to obtain what is called as a time series data. The computing environment comprises a plurality of user devices communicating with a server system over a network. The server system and the user devices may be implemented as any of a variety of conventional computing devices, including, for example, a desktop personal computer (PC), a notebook or portable computer, a tablet computer, a workstation, a mainframe computer, a mobile computing device, an entertainment device, a computing platform, an internet appliance and similar systems. However, a person skilled in the art will comprehend that the embodiment of the present subject matter are not limited to any particular computing system, architecture or application
device, as it may be adapted to take advantage of new computing system and platform as they become accessible.
The server system is connected to the user devices over the network through one or more communication links, for example, via dial-up modem connections, cable links, digital subscriber lines (DSL), wireless or satellite links, or any other suitable form, wherein the network may be a wireless network, a wired network, or any combination thereof. It is needless to mention that those skilled in the art will recognize that the computing environment can include varieties of additional components elaborating intricate details of the system.
Turning now to Figure 1, depicts a schematic diagram of the system architecture 1000 capable of suggesting a best fit forecasting model in accordance with one embodiment of the present invention is presented. The system 1000 elaborately comprises of an input module 100 for receiving the time series data as a conditional input or a problem input; a pattern generator 200 for determining the pattern inherent within the inputted data; a flag setter 300 to receive either of the seasonality factor or the non seasonality factor and accordingly setting the flag values; a recommendation module 400 that suggests best fit forecasting model based upon the amended flag values; and an output module 500 for displaying the recommended forecasting model from the available list of models. The system may additionally comprise of a repository 600 of special indexes to store the data in a structured environment thereby supporting matching of said stored seasonal and non-seasonal data as the input, where the data has been gathered and collected over a period of time. Further, the repository 600 may comprise a structured one or more databases, data warehouse, or distributed data storage across network.
The data received by the input module 100 is subjected to detailed diagnosis and analysis to justify the appropriateness in choosing the forecasting model. Basic analysis is performed by the pattern generator 200 on the following factors:
• Existence of seasonal factor in the received data series.
• If the data is seasonal, whether the seasonality is additive or multiplicative.
• Whether there is any trend and if so, whether this trend is additive or multiplicative.
If the received data is detected as devoid of any seasonal pattern, a dependency association is strived to achieve in identifying the relation of current data with respect to previous data. This relation could be one of the following.
• The current observation depends equally on all previous observations.
• The current observation depends on all previous observations and the degree of
dependency reduces as previous observations move further away from the current
observation.
• The current observation depends on a finite number of most recent observations.
in a business environment, because of socio-economic influences, it is highly unlikely that there is no trend. Hence, the presence of trend in the data is assumed and the data is diagnosed for additive or multiplicative factor. In fact, if there be no trend, it would reflect in the coefficients of additive or multiplicative factor.
For the purposes of present invention, the system 1000 selects list of ten models from the existing literature to analyze alt types of time series for proposing a fairly accurate forecasting model. Accordingly a set of models are identified that can address each combination of patterns in a time series data. The table below presents a list of the selected models for the present system 1000. Each model in turn refers to at least possible error-computing routine to compute the error functions - mean error, mean average error, mean square error and root mean square error and identify the best forecasting model. The following is the list of models considered in accordance with the preferred embodiments of the present invention:
Forecasting Models
: HW_AA Holt-Winters' method with additive seasonal factor and additive trend factor.
HW_AM Holt-Winters' method with additive seasonal factor and multiplicative trend factor.
HW_MA Hoit-Winters' method with multiplicative seasonal factor and additive trend factor.
HW_MM Holt-Winters' method with multiplicative seasonal factor and multiplicative trend factor.
LR_A Linear regression with additive trend.
LMA_A Method of moving average with additive trend.
LES_A Linear exponential smoothing with additive trend.
LR_M Linear regression with multiplicative trend.
LMA_M Method of moving average with multiplicative trend.
LES_M Linear exponential smoothing with multiplicative trend.
Table -1
Referring next to Figure 2, representing a working of flag setter 300 in combination with a pattern generator 200 is presented. The computing system of the present invention performs computation on one input data file at a time. Each data file is a table (multi-row data set). Each row in a data file contains data for a particular attribute (product etc.) in ascending order of time. The (i, j)-th position in the table provides the value of i-th product at the j-th time period.
The method of the present invention first receives the time series data and populate the data file with its name, number of years (for which data is provided), number of time periods in a year and maximum number of attributes (or products). The system 1000 has the capability of forecasting the values for any number of selected rows. The user has the option of either directing the system to use a specific forecasting method or asking to provide most appropriate forecasting method through a diagnosis scheme. The data is received either as a problem or conditional input. After receiving the desired input, the data is transmitted to the pattern generator 200 to perform the seasonal, trend and dependency analysis. The analysis is based on the progression pattern in different series derived from the input time series. The pattern generator 200 reads the input series for analysis that enables the flag setter 300 to set the corresponding flag values as given in Table 2. To check the presence of seasonality within the data series, mean series (the series containing the mean of seasons) is computed.
In the first step a check for Seasonal Effect in the Time Series X[i], i=1:N with L seasons is made, which is shown as follows
Initialise Mean [1:L]=0 Fori=1:L
Forj=1:M
Mean[i]=Mean[i] + X[i + G-1)*L]
EndFor
Mean[i]=Mean[i]/M EndFor
If the standard deviation of the mean series (for unit mean) lies within the 95% level of confidence, the value of SFLAG is set to YES (i.e. data is seasonal) by the flag setter 300.
The second requirement is to compute the mean (Grand Mean) and the standard deviation (Standard Error) of the Mean-Series
Initialise MeanSum=0; SquareMeanSum=0
Fori=1:L
MeanSum=MeanSum + Mean[i]
SquareMeanSum=SquareMeanSum+Mean[i]*Mean[i]
EndFor
GrandMean=MeanSum/L
StandardError=SQRT {(SquareMeartSum L*GrandMean"GrandMean))/(L-1))
If the data is seasonal, a check is made to find out the seasonal factor by the pattern generator 200.
The third step is to check the seasonal factor by using predetermined threshold values If (ABS(StandardError/GrandMean) >= STHRES) SFLAG = 'YES' (Data is seasonal) Else
SFLAG= 'NULL' (Data is non seasonal) Endlf
To check whether the seasonal factor is additive or multiplicative, difference and ratio series are computed from the original time series. If the absolute value of the slope of difference series is less than the absolute value of the slope of the ratio series then the seasonal factor
is additive and STFLAG is set to 'ADD' otherwise STFLAG is set to 'MULT by the flag setter 300.
The method to check for Additive or Multiplicative Seasonal factor, If (SFLAG='YES') comprises of following two steps:
Firstly, the Difference-Series and Ratio-Series are computed as shown below:
Initialise Difference [1:LJ=0.0;Ratio [1:LJ=0.0
lf{L>2)
For t=1:L-1
Difference [i]=Mean [i+1] - Mean [i]
Ratio [i] = Mean [i+1] / Mean [i]
EndFor
SlopeDiff=Slope_of_LIN_REG (Difference [1: L-1 SlopeRatio=
Slope_otLIN_REG (Ratio [1:L-1J)
Else
Difference [1] = Mean [1]
Difference [2] = Mean [2]
Ratio [1] = log (max (Mean [1], Mean [2]))
Ratio [2] = min (Mean [1], Mean [2])
SlopeDiff=Slope_of_LIN_REG (Difference [1 :L]} SlopeRatio= Slope_of_LIN_REG (Ratio [1:LJ) Endlf
The second requirement is to compare the slopes to decide additive or multiplicative seasonal factor
If (ABS(SlopeDiff) <= ABS(SlopeRatio))
STFLAG='ADD'
Else
STFLAG='MULT
Endlf
Endif
To check whether the trend (other than seasonality) is additive or multiplicative difference series and ratio series are computed by the pattern generator 200.
If SFLAG is equal to 'YES' then these two series are computed from the mean series and when SFLAG is equal to 'NULL' then these two series are computed from the original time series. When SFLAG is equal to 'NULL', user is asked to provide the Dependency type {DTYPE) which can take one of these values - ALL, TALL, and HALL. If DTYPE is TALL', the value for T (the order of moving average) is obtained from the user. If the absolute value of the slope of the difference series is less than the absolute value of the slope of the ratio series, trend is additive so TFLAG is set to 'ADD', otherwise the trend is multiplicative and TFLAG is set to 'MULT by the flag setter 300 as shown in Table 2 below:
FLAG VALUE MEANING
SFLAG YES Data is seasonal
NULL Data is non-seasonai
ADD Seasonal trend is additive
STFLAG MULT Seasonal trend is multiplicative
NULL No seasonal trend
TFLAG ADD Trend factor is additive
MULT Trend factor is multiplicative
ALL Value is dependent on all observations
TALL Value is dependent on the truncated number of all observations
DTYPE ...... —
HALL Value is dependent on all observations with higher weights to
recent observations
NULL Data is seasonal
The above mentioned requirement is calculated as below to compute De-seasonalized or non seasonal nature of the data
Initialize De_seasonal [1:N], Index [1:L]
If (STFLAG='ADD')
For i=1:L
Index [i] = (Mean [i]-GrandMean)/GrandMean EndFor Fori=1:L
Forj=1:M
De_seasonal [(j-1)*L+iJ = X [(j-1)*L+i] -
Index [i]' X lQ-1)*L+i] EndFor EndFor Else For i=1:L
Index [i] = Mean [i]/GrandMean EndFor For i=1 :L
Forj=1:M
De_seasonal [(j-1)*L+i] = X [(i-1)*L+i] / Index [i] EndFor EndFor Endlf
The second requirement is to Compute Difference-Series and Ratio-Series
If (M > 3)
No_of_avgs = M
Initialise Avg_val [1:No_of_avgs]=0.0
For i=1:M
Sum = 0.0
For j=1:L
Sum = Sum + De_seasonal [(i-1)*L+j]
EndFor
Avg_vai [i] = Sum / L EndFor Initialise Difference [1:No_of_avgs-1]=0.0,Ratio [1:No_of_avgs-1]=0.0
For i=1 :No_of_avgs-1
Difference [i] = Avg_val [i+1] - Avg_val [i]
Ratio [i] = Avg_val [i+1] / Avg_val [i] EndFor Else
No_of_avgs = L*M
Initialise Difference [1:No_of_avgs-1]=0.0,Ratio [1:No_of_avgs-1]=0.0
Fori=1:No_of_avgs-1
Difference [i] = De_seasonal [i+1] - De_seasonal [i]
Ratio [i] = Ratio [i+1]/Ratio [i] EndFor Endlf
On the basis of these flag values recommendation module 400 points to exactly one of the ten forecasting model shown in Table 3.
Forecasting Models
HW_AA Holt-Winters' method with additive seasonal factor and additive trend factor
HW_AM Holt-Winters' method with additive seasonal factor and multiplicative trend factor
HWJVIA Holt-Winters' method with multiplicative seasonal factor and additive trend factor
HW_MM Holt-Winters' method with multiplicative seasonal factor and multiplicative trend factor
LR_A Linear regression with additive trend
LMA_A Method of moving average with additive trend
LES_A Linear exponential smoothing with additive trend
LRM Linear regression with multiplicative trend
LMA_M Method of moving average with multiplicative trend
LES_M Linear exponentia! smoothing with multiplicative trend
Table 3
Following table 4 lists the suggested model by the recommendation module 400 against each combination of flag values.
SFLAG STFLAGV TFLAG DTYPE Forecasting Ft+m Suggested Model
Value alue Value : Value
YES ADD ADD NULL S< + m'A, + Ct.L+m forecast_by_HW_AA
YES ADD MULT NULL St*(Bt)m + C,.L+m forecast_by_HW_AM
YES I MULT ADD NULL (St+m*A,)*DtL+(n forecast_by_HW_MA
YES MULT MULT NULL St*D,.L+m*(B,)m forecast_by_HW_MA
NULL NULL ADD ALL St+rrTA, forecast_by_LR_A
NULL "NULL ADD TALL S,+ m*A, forecast_by_LMA_A
NULL NULL ADD HALL St+m*A," forecast_by_LES_A
NULL NULL MULT ALL St*(B/ forecast_by_LRJv1
NULL NULL MULT \ TALL S,*(B,f forecast_by_LMA_M
NULL NULL MULT HALL St*B,)"1 fbrecast_by_LESJW
Table 4
In the above table, St represents 'Smoothed Data' at time period t, A, represents 'Additive Trend', Bt represents 'Multiplicative Trend', C, represents 'Additive Seasonality', Dt represents 'Multiplicative Seasonality'. Number of seasons in a year is represented by 'L' and Ft+m is the forecasted value of time series at m-periods ahead of time.
St , At , B, , Ct and Dt are computed by the appropriate forecasting method, which is, suggested by the recommendation module 400 as shown in Figure 3.
Figure 4 details a method for analysis and diagnosis of time series data for recommending the best forecasting model. The data as received in the form of problem or conditional input is shown below:
Problem Input
M Number of years of data
L Number of seasons in a year
N Total number of observations, N=M*L
X[i] The i-th observation, i = 1:N
Conditional Input
DTYPE This is required if the value of SFLAG-NULL' after the diagnosis of seasonal factor. The valid inputs are ALL, TALL, and HALL. "
T The order of the moving average. This input is required only if SFLAG='NULL'
and DTYPE=TALL"
The system selects ten forecasting models for the purposes of present invention, and presents the desired result through an output module 500. The list of forecasting models is discussed in detail that predicts the future value using the analysis and diagnostic scheme of the present invention.
LINEAR REGRESSION MODEL
Forecasting by linear regression model is appropriate if data vary randomly either around a straight line or around an exponential line and if the previous data are of equal importance.
Forecast_by_LR_A ()
This is the method for forecasting if the data pattern satisfies the linear regression model with additive trend. Hence, the flow of control goes into this function when the following conditions are met:
SFLAG = 'NULL' Data is non-seasonal
TFLAG = 'ADD' Trend factor is additive, i.e. data vary around a straight line
DTYPE = 'ALL' Dependent on all previous observations with equal weights
Input as received by the input module:
N Total number of observations
Xi The i-th observation, i=1 :N
m The number of periods to forecast ahead
The forecast for time N+k is an extrapolation of the least square line fit to the data from periods 1 through N, i.e.,
FN+k=a + b*(N+k),
Where a and b are the estimated values of intercept and slope, respectively. Values for a and
b are computed using method of least squares.
Forecast_by_LR_M ()
This is the method for forecasting if the data pattern satisfies the linear regression model with multiplicative trend. Hence, the flow of control goes into this function when the following conditions are met:
SFLAG = 'NULL' Data is non-seasonal
TFLAG = 'MULT Trend factor is multiplicative, i.e. data vary around an exponential
line DTYPE = 'ALL' Dependent on all previous observations with equal weights
Input:
N Total number of observations
Xi The i-th observation, i=1:N
m The number of periods to forecast ahead
The forecast for time N+k is an extrapolation of the least square une fit to the transferred data from periods 1 through N, i.e.,
FN+k=exp(a + b*(N+k)),
Where a and b are the estimated values of intercept and slope for the transferred data,
respectively. Values for a and b are computed using method of least squares.
LINEAR MOVING AVERAGE MODEL
This method is most useful if the current data equally depends on few recent data and the trend is infrequently monotonia This model forecasts future value by considering the linear trends and moving average of moving averages. The linear trend could be additive or multiplicative.
Forecast_by_LMA_A ()
This is the method for forecasting if the data pattern satisfies the linear moving average model with additive trend. Hence, the flow of control goes into this function when the following conditions are met:
SFLAG='NULL' Data is non-seasonal
TFLAG='ADD' Trend is additive
DTYPE- TALL' Dependent on only few recent data values with equal weights
Input:
N Total number of observations
Xi The i-th observation, i=1:N
T The order of moving average
M The number of periods to forecast ahead
The following is the formula for forecast that uses a linear moving average of order TxT.
FN+h=aN+ ba*k, where
aN-2*(YN)-ZM,
bN=(2/(T-1))*(YN-ZN),
ZN= (YN + YKM + YN.2 + YN.3 +...+ YN.T+1) / T,
Forecast_by_LMA_M ()
This is the method for forecasting if the data pattern satisfies the linear moving average model with multiplicative trend. Hence, the flow of control goes into this function when the following conditions are met:
SFLAG='NULL' data is non-seasonal TFLAG='MULT' trend is multiplicative DTYPE=TALL' Dependent on only few recent data values with equal weights
Input:
N Total number of observations
Xi The i-th observation, i=1 :N
T The order of moving average
M The number of periods to forecast ahead
The following is the formula for forecast that uses a linear moving average of order TxT.
F N+k = aN*bNk, where
bN = (2/(T-1))*(YN / ZN), aN = (YN*YN }/ ZNl
N ~ \ ' N TN-1 T N-2 • N-3 TN^T+lJ
Yj = (Xj *Xj-1 * Xj-2 * Xj-3 * *Xj.T+,)1/T
LINEAR EXPONENTIAL SMOOTHING MODEL
The method is most useful if the current data depends on all previous data with the degree of dependency gradually decreasing. This model forecasts future value by considering the linear trends and by taking a weighted average of weighted averages of all previous data values, where more weight is given to recent weighted averages and observations than to older weighted averages and observations.
Forecast_by J.ES_A ()
This is the method for forecasting if the data pattern satisfies the linear exponential smoothing model with additive trend. Hence, the flow of control goes into this function when the following conditions are met:
SFLAG='NULL' data is non-seasonal
TFLAG=,ADD' trend is additive
DTYPE='HALL' Dependent on all previous data with the degree of dependency gradually
decreasing
Input:
N Total number of observations
Xi The i-th observation, i=1:N
a The smoothing parameter to represent weight
M The number of periods to forecast ahead
The following is the formula for forecast that uses a linear exponential smoothing
F N+k = aN + bN*k), where
bN = (a/{1-a))*(YN - ZN), aN = 2*(YN )- ZN,
ZN = {a*YN+(1-a)*ZN.1)
YN=(a*XN+(1-a)*YN.,)
Forecast_by_LES_M (}
This is the method for forecasting if the data pattern satisfies the linear exponential smoothing model with multiplicative trend. Hence, the flow of control goes into this function when the following conditions are met:
SFLAG='NULL' data is non-seasonal
TFLAG-MULT trend is multiplicative
DTYPE='HALU Dependent on all previous data with the degree of dependency gradually
decreasing
Input:
N Total number of observations
Xi The i-th observation, i=1:N
a The smoothing parameter to represent weight
M The number of periods to forecast ahead
The following is the formula for forecast that uses a linear exponential smoothing with multiplicative trend
F N+k = aN*bNk), where
bN = (α/(1-α))*(YN / ZN), αN = (YN*YN )/ ZN,
ZN = (α*YN + (1-α)*ZN.,)
YN=(α*XN+(1-α)*YN-1)
HOLT-WINTERS' MODEL
The approach presented here is unique and different from the ones presented in other
approaches, in the sense that the methodologies presented here can account for seasonal
effect too. The basis for the techniques presented here is the concept of exponential
smoothing. Winters' method, based on triple exponential smoothing, can take care of trend
factor as well as seasonal factor. A trend factor, in turn can either be additive or multiplicative.
Similar explanation holds good for seasonal factor. Hence, in all there can be four
combinations of these factors.
Winters' methods are generalized to take care of all the four possible combinations, based on Pegels classification, which is widely known as Holt-Winters method. Details of Pegels classification are presented in the forthcoming paragraph.
Pegefs classification
All the four exponential smoothing models can be summarized by the following formula: S, = α*P + (1-α)*Q,
where P and Q vary according to which smoothed value S, belongs to. The Table 5 below shows the appropriate P and Q values, and the definitions of the additive trend component At, multiplicative trend component Bf, the additive seasonal component Ct, and the multiplicative seasonal component Dt.
I Seasonal component
Trend Component Additive Multiplicative
Additive P = X,-C,.L
Q = S,., + AM P = X,/Dt.L
Q = SM + AM
Multiplicative P = Xt~Ct.L Q = St-i Bt.i P = Xt/DK Q = St-i Bt_ 1
Table 5
Where Xt = data of original time series
A, = α(SrS,.1) + {1-α)AH Bt = α(Sl/St-1) + (1-α)Bl.1 Ct = α(X,-S,) + {1-α)C,.L Dt = α(Xt/S,) + (1-α)D,.L Note that 0 ≤ a, β, y≤ 1
All the three smoothing parameters involved in this method, namely, a, β, y are taken to be 0.2, a cautious estimate recommended in the literature. However, any value between 0 and 1 is a valid input for a, β, y. But, even experiments on 2 or 3 values for these three parameters would involve tremendous computation. Hence, the justification for initializing the smoothing parameters to 0.2.
The present invention can be applied to a use such as resource management of a computer system in which a usage rate of resources (such as a CPU and a disk) in a computer system or a network system is monitored and prediction of how the usage rate will be increased in the future. Further, the present invention can also be applied to a use where a travel time (time required for passage through a certain road segment) in a traffic system is measured by a sensor, regarded as time series data, and then a variation of the time is predicted.
WE CLAIM:
1) A computer implemented method for recommending a forecasting model based on
analysis of time series data, the method comprising:
obtaining a plurality of historically realized values of the time series data recorded at
each of plural time points;
determining a seasonality pattern of the obtained data based on mean series
computation of the said time series data;
for each determined seasonality pattern, deriving a corresponding additive or
multiplicative dependency of a seasonality factor by computing a difference series and
a ratio series respectively followed by setting corresponding indicative flag values
therein;
for each determined non-seasonality pattern, deriving a corresponding additive or
multiplicative dependency of a trend factor by computing a difference series and a
ratio series respectively followed by setting corresponding indicative flag values
therein; and
recommending a forecasting model based on various combinations of the flag values
generated in response to the seasonality and non seasonality pattern of the data.
2) The method of claim 1, wherein the historically realized values of time series data relates to the plurality of time points for which the data is collected, the said time point designated in years; number of time points within each year and maximum number of attributes for which the value is realized.
3) The method of claim 1, wherein the seasonality pattern is determined by computing mean of the time series data followed by its standard deviation, the said deviation being above a predetermined threshold value for the data to be seasonal.
4) The method of claim 1, wherein the flag value is defined as SFLAG for determined seasonality pattern and STFLAG for combined seasonality and trend pattern of the data.
5) The method of claim 1 &3, wherein the seasonality factor is additive if the slope of difference series of mean series approaches null and multiplicative if the slope of ratio series of mean series approaches null, the said slope computed by linear regression scheme.
6) The method of claim 1, wherein the flag value of dependency association can be
defined either as ALL, TALL or HALL.
7) The method of claim 1, wherein the trend factor is additive if the slope of difference series of mean series approaches null and multiplicative if the slope of ratio series of mean series approaches null, the said slope computed by linear regression scheme.
8) The method of claim 1, wherein the various combinations of flag values generated in response to seasonal or non seasonal pattern or dependency association of the time series data includes SFLAG, STFLAG, TFLAG, or DTYPE.
9) A system for recommending a forecasting model based on analysis of times series data, the system comprising:
an input module for receiving historically realized values of the time series data;
a pattern generator for determining seasonality or non seasonality pattern of the said
data;
a flag setter adapted to receive at least one seasonality or a non seasonality factor
for amending a pre-existing flag value;
a recommendation module adapted to recommend at least one forecasting model
commensurating with amended flag values.
10) The system of claim 9, wherein the input module receives historically realized values of time series data that relates to the plurality of time points for which the data is collected, the said time point designated in years; number of time points within each year and maximum number of attributes for which the value is real/zed.
11) The system of claim 9, wherein the pattern generator determine the seasonality pattern and a corresponding seasonality factor or a non seasonality pattern and a corresponding non seasonality factor
12) The system of claim 9, wherein the non seasonality pattern includes trend pattern or a dependency association.
13) The system of claim 9, wherein the pattern generator determines the seasonality factor as additive if the slope of difference series of mean series approaches null and multiplicative if the slope of ratio series of mean series approaches null, the said slope computed by linear regression scheme.
14) The system of claim 9 & 12, wherein the pattern generator determines the non seasonality factor as additive if the slope of difference series of mean series approaches null and multiplicative if the slope of ratio series of mean series approaches null, the said slope computed by linear regression scheme.
15) The system of claim 9, wherein the flag setter defines the flag value either as SFLAG, STFLAG, TFLAG or DFLAG based upon the seasonality or non seasonality pattern and corresponding factor received from the pattern generator.
16) The system of claim 9 &15, wherein the flag setter defines the flag value of DFLAG either as ALL, TALL or HALL.
17) The system of claim 9, wherein the flag values are initialized to nuJJ and amended between null and unity based on the pattern detected by the pattern generator.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 2783-MUM-2011-POWER OF ATTORNEY(12-10-2011).pdf | 2011-10-12 |
| 1 | 2783-MUM-2011-RELEVANT DOCUMENTS [27-09-2023(online)].pdf | 2023-09-27 |
| 2 | 2783-MUM-2011-CORRESPONDENCE(12-10-2011).pdf | 2011-10-12 |
| 2 | 2783-MUM-2011-RELEVANT DOCUMENTS [30-09-2022(online)].pdf | 2022-09-30 |
| 3 | 2783-MUM-2011-RELEVANT DOCUMENTS [25-09-2021(online)].pdf | 2021-09-25 |
| 3 | 2783-MUM-2011-FORM 1(23-11-2011).pdf | 2011-11-23 |
| 4 | 2783-MUM-2011-RELEVANT DOCUMENTS [31-03-2020(online)].pdf | 2020-03-31 |
| 4 | 2783-MUM-2011-CORRESPONDENCE(23-11-2011).pdf | 2011-11-23 |
| 5 | ABSTRACT1.jpg | 2018-08-10 |
| 5 | 2783-MUM-2011-IntimationOfGrant28-08-2019.pdf | 2019-08-28 |
| 6 | 2783-MUM-2011-PatentCertificate28-08-2019.pdf | 2019-08-28 |
| 6 | 2783-MUM-2011-FORM 3.pdf | 2018-08-10 |
| 7 | 2783-MUM-2011-Written submissions and relevant documents (MANDATORY) [11-07-2019(online)].pdf | 2019-07-11 |
| 7 | 2783-MUM-2011-FORM 2.pdf | 2018-08-10 |
| 8 | 2783-MUM-2011-HearingNoticeLetter.pdf | 2019-05-24 |
| 8 | 2783-MUM-2011-FORM 2(TITLE PAGE).pdf | 2018-08-10 |
| 9 | 2783-MUM-2011-COMPLETE SPECIFICATION [20-02-2019(online)].pdf | 2019-02-20 |
| 9 | 2783-MUM-2011-FORM 18.pdf | 2018-08-10 |
| 10 | 2783-MUM-2011-DRAWING [20-02-2019(online)].pdf | 2019-02-20 |
| 10 | 2783-MUM-2011-FORM 1.pdf | 2018-08-10 |
| 11 | 2783-MUM-2011-FER.pdf | 2018-08-10 |
| 11 | 2783-MUM-2011-FER_SER_REPLY [20-02-2019(online)].pdf | 2019-02-20 |
| 12 | 2783-MUM-2011-DRAWING.pdf | 2018-08-10 |
| 12 | 2783-MUM-2011-OTHERS [20-02-2019(online)].pdf | 2019-02-20 |
| 13 | 2783-MUM-2011-DESCRIPTION(COMPLETE).pdf | 2018-08-10 |
| 13 | 2783-MUM-2011-FORM 4(ii) [18-01-2019(online)].pdf | 2019-01-18 |
| 14 | 2783-MUM-2011-ABSTRACT.pdf | 2018-08-10 |
| 14 | 2783-MUM-2011-CORRESPONDENCE.pdf | 2018-08-10 |
| 15 | 2783-MUM-2011-CLAIMS.pdf | 2018-08-10 |
| 16 | 2783-MUM-2011-ABSTRACT.pdf | 2018-08-10 |
| 16 | 2783-MUM-2011-CORRESPONDENCE.pdf | 2018-08-10 |
| 17 | 2783-MUM-2011-FORM 4(ii) [18-01-2019(online)].pdf | 2019-01-18 |
| 17 | 2783-MUM-2011-DESCRIPTION(COMPLETE).pdf | 2018-08-10 |
| 18 | 2783-MUM-2011-OTHERS [20-02-2019(online)].pdf | 2019-02-20 |
| 18 | 2783-MUM-2011-DRAWING.pdf | 2018-08-10 |
| 19 | 2783-MUM-2011-FER.pdf | 2018-08-10 |
| 19 | 2783-MUM-2011-FER_SER_REPLY [20-02-2019(online)].pdf | 2019-02-20 |
| 20 | 2783-MUM-2011-DRAWING [20-02-2019(online)].pdf | 2019-02-20 |
| 20 | 2783-MUM-2011-FORM 1.pdf | 2018-08-10 |
| 21 | 2783-MUM-2011-COMPLETE SPECIFICATION [20-02-2019(online)].pdf | 2019-02-20 |
| 21 | 2783-MUM-2011-FORM 18.pdf | 2018-08-10 |
| 22 | 2783-MUM-2011-FORM 2(TITLE PAGE).pdf | 2018-08-10 |
| 22 | 2783-MUM-2011-HearingNoticeLetter.pdf | 2019-05-24 |
| 23 | 2783-MUM-2011-FORM 2.pdf | 2018-08-10 |
| 23 | 2783-MUM-2011-Written submissions and relevant documents (MANDATORY) [11-07-2019(online)].pdf | 2019-07-11 |
| 24 | 2783-MUM-2011-FORM 3.pdf | 2018-08-10 |
| 24 | 2783-MUM-2011-PatentCertificate28-08-2019.pdf | 2019-08-28 |
| 25 | ABSTRACT1.jpg | 2018-08-10 |
| 25 | 2783-MUM-2011-IntimationOfGrant28-08-2019.pdf | 2019-08-28 |
| 26 | 2783-MUM-2011-RELEVANT DOCUMENTS [31-03-2020(online)].pdf | 2020-03-31 |
| 26 | 2783-MUM-2011-CORRESPONDENCE(23-11-2011).pdf | 2011-11-23 |
| 27 | 2783-MUM-2011-RELEVANT DOCUMENTS [25-09-2021(online)].pdf | 2021-09-25 |
| 27 | 2783-MUM-2011-FORM 1(23-11-2011).pdf | 2011-11-23 |
| 28 | 2783-MUM-2011-RELEVANT DOCUMENTS [30-09-2022(online)].pdf | 2022-09-30 |
| 28 | 2783-MUM-2011-CORRESPONDENCE(12-10-2011).pdf | 2011-10-12 |
| 29 | 2783-MUM-2011-RELEVANT DOCUMENTS [27-09-2023(online)].pdf | 2023-09-27 |
| 29 | 2783-MUM-2011-POWER OF ATTORNEY(12-10-2011).pdf | 2011-10-12 |
| 1 | Search2783_20-07-2018.pdf |