WO2019231636A1 - Multivariate multi-time point forecasting - Google Patents

Multivariate multi-time point forecasting Download PDF

Info

Publication number
WO2019231636A1
WO2019231636A1 PCT/US2019/031909 US2019031909W WO2019231636A1 WO 2019231636 A1 WO2019231636 A1 WO 2019231636A1 US 2019031909 W US2019031909 W US 2019031909W WO 2019231636 A1 WO2019231636 A1 WO 2019231636A1
Authority
WO
WIPO (PCT)
Prior art keywords
historical
time points
forecasting
time
factors
Prior art date
Application number
PCT/US2019/031909
Other languages
French (fr)
Inventor
Guolin KE
Jiang Bian
Tie-Yan Liu
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of WO2019231636A1 publication Critical patent/WO2019231636A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0838Historical data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities

Definitions

  • a solution for multivariate multi-time point forecasting In this solution, a forecasting query related to a plurality of factors at a plurality of time points is received. A plurality of historical features are extracted from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points. Forecasting results related to the plurality of factors at the plurality of time points are determined in time sequence based on the plurality of historical features.
  • FIG. 1 illustrates a block diagram of a computing device in which various implementations of the subject matter described herein can be implemented
  • FIG. 2 illustrates a flowchart of a process of multivariate multi-time point forecasting according to some implementations of the subject matter described herein;
  • FIG. 3 illustrates a block diagram of an example of a forecasting module in the computing device of Fig. 1 according to some implementations of the subject matter described herein;
  • FIG. 4 illustrates a flowchart of a process for training a forecasting model according to some implementations of the subject matter described herein.
  • the term“includes” and its variants are to be read as open terms that mean“includes, but is not limited to.”
  • the term“based on” is to be read as“based at least in part on.”
  • the terms“one implementation” and“an implementation” are to be read as“at least one implementation.”
  • the term“another implementation” is to be read as“at least one other implementation.”
  • the terms“first,”“second,” and the like may refer to different or same objects. Other definitions, either explicit or implicit, may be included below.
  • Fig. 1 illustrates a block diagram of a computing device 100 in which various implementations of the subject matter described herein can be implemented. It would be appreciated that the computing device 100 shown in Fig. 1 is merely for purpose of illustration, without suggesting any limitation to the functions and scopes of the implementations of the subject matter described herein in any manner. As shown in Fig. 1, the computing device 100 includes a computing device 100 in form of a general-purpose computing device. Components of the computing device 100 may include, but are not limited to, one or more processors or processing units 110, a memory 120, a storage device 130, one or more communication units 140, one or more input devices 150, and one or more output devices 160.
  • the computing device 100 may be implemented as any user terminal or service terminal having the computing capability.
  • the service terminal may be a server, a large- scale computing device or the like that is provided by a service provider.
  • the user terminal may for example be any type of mobile terminal, fixed terminal, or portable terminal, including a mobile phone, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistant (PDA), audio/video player, digital camera/video camera, positioning device, television receiver, radio broadcast receiver, E-book device, gaming device, or any combination thereof, including the accessories and peripherals of these devices, or any combination thereof.
  • the computing device 100 can support any type of interface to a user (such as“wearable” circuitry and the like).
  • the processing unit 110 may be a physical or virtual processor and can implement various processes based on programs stored in the memory 120. In a multi-processor system, multiple processing units execute computer executable instructions in parallel so as to improve the parallel processing capability of the computing device 100.
  • the processing unit 110 may also be referred to as a central processing unit (CPU), a microprocessor, a controller or a microcontroller.
  • the storage device 130 can be any detachable or non-detachable medium and may include a machine-readable medium, which can be used for storing information and/or data and can be accessed in the computing device 100.
  • the computing device 100 may further include additional detachable/non-detachable, volatile/non-volatile memory medium.
  • additional detachable/non-detachable, volatile/non-volatile memory medium Although not shown in Fig. 1, it is possible to provide a disk drive for reading from and/or writing into a detachable and non-volatile disk and a disc drive for reading from and/or writing into a detachable non-volatile disc. In such cases, each drive may be connected to a bus (not shown) via one or more data medium interfaces.
  • the communication unit 140 communicates with a further computing device via the communication medium.
  • the functions of the components in the computing device 100 can be implemented by a single computing cluster or multiple computing machines that can communicate via communication connections. Therefore, the computing device 100 can operate in a networked environment using a logical connection with one or more other servers, networked personal computers (PCs) or further general network nodes.
  • PCs personal computers
  • some or all components of the computing device 100 may also be arranged in form of cloud computing architecture.
  • the components may be provided remotely and work together to implement the functions described in the subject matter described herein.
  • cloud computing provides computing, software, data access and storage service, which will not require end users to be aware of the physical positions or configurations of the systems or hardware providing these services.
  • the cloud computing provides the services via a wide area network (such as Internet) using proper protocols.
  • a cloud computing provider provides applications over the wide area network, which can be accessed through a web browser or any other computing components.
  • the computing device 100 may be used to implement multivariate multi -time point forecasting in the implementations of the subject matter described herein.
  • the computing device 100 can receive a forecasting query 170 related to a plurality of factors at the plurality of time points via the input device 150.
  • the forecasting query 170 may be for example input by the user.
  • the computing device 100 may receive, via the input device 150, the forecasting query 170, “what are the demands for goods X in Cities A and B in the future three months?”
  • the processing unit 110 of the computing device 100 can determine a forecasting result 180 for the forecasting query 170 by running the forecasting module 122 and then output this forecasting result via the output device 160.
  • the forecasting result 180 of the forecasting module 122 includes a table of demands for goods X in Cities A and B in the future three months (from May 2018 to July 2018).
  • Fig. 2 illustrates a flowchart of a process for multivariate multi-time point forecasting 200 according to some implementations of the subject matter described herein.
  • the process 200 may be implemented by the computing device 100 of Fig. 1, for example, at the forecasting module 122. For convenience of illustration, the process is described with reference to Fig. 1.
  • the computing device 100 receives a forecasting query 170 related to a plurality of factors at a plurality of time points.
  • the forecasting query 170 may be input by a user to the computing device 100 via the specific input device 150.
  • the forecasting query 170 may be related to a plurality of future time points and the plurality of factors and may indicate that the user expects the computing device 100 to provide forecasting results related to the plurality of factors and the plurality of time points.
  • the plurality of time points herein refer to time points divided as per any time unit, for example, hours, days, weeks, months, years, and the like.
  • the historical data may be stored in a storage device of the computing device 100 (e.g., the storage device 130), or stored in other storage devices or databases that are accessible by the computing device 100.
  • the historical data to be used are related to historical features to be extracted, as will be described in detail below.
  • the computing device 100 may extract historical features from the historical data. These historical features indicate characteristics of the historical data related to the plurality of factors, and can be used to facilitate forecasting the future tendency. In some implementations, the types of the historical features to be extracted may be predetermined.
  • the computing device 100 may extract a first historical feature.
  • the first historical feature may indicate historical information at a short-term time point, and may specifically indicate data items related to the factors at a predetermined historical time point. For example, for a given target time point in the plurality of time points to be forecasted, it is possible to extract, from the historical data portion, the data item related to the respective factor at the latest i th historical time point, where i may be a value approximately equal to 1, for example, 1, 2 or 3.
  • the computing device 100 may extract a second historical feature.
  • the second historical feature may indicate a long-term historical average value, and may specifically indicate an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points. Extraction of the second historical feature is suitable for historical data related to numerical values. For example, for a given target time point in the plurality of time points to be forecasted, it is possible to extract, from the historical data portion, an average value of k data items related to the respective factor at the latest k historical time points, where k may take a value larger than 2, for example, a value of 7, 14 or 28. As a specific example in Fig.
  • the computing device 100 may further extract a third historical feature which may indicate a periodical historical average value, and may specifically indicate an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points.
  • the periodical time points refer to a number of time points having an equal time interval between every two consecutive time points. Such time period may be, for example, set as a week, a month, a quarter, a year, or the like. Extraction of the third historical feature is suitable for historical data related to numerical values.
  • the target time point is April
  • the plurality of historical features may also include historical features extracted from the historical data portions related to two or more factors during the plurality of historical time points, which may also be referred to as multi-factor related historical features or multi-grained historical features.
  • the computing device 100 may extract a set of historical features (referred to as a second set of historical features) across the plurality of historical data portions.
  • the second set of historical features indicate characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points.
  • Such historical features are particularly suitable for factors having a hierarchical structure.
  • the plurality of factors relate to different regions (e.g., cities)
  • regions e.g., cities
  • factors involve a hierarchical structure related to region division.
  • the hierarchical structure may ranges from coarse levels to fine levels, including for example continents, countries, provinces/states, cities, administrative regions, streets, and the like.
  • the forecasting result determined for a previous time point may also be used to determine a forecasting result at a subsequent time point.
  • the computing device 100 determines, based on the plurality of historical features and the first forecasting result (for example, a forecasting result related to the plurality of factors at the first time point) related to the plurality of factors at the first time point in the plurality of time points. Then, the computing device 100 determines a second forecasting result related to the plurality of factors at a second time point after the first time point based on the plurality of historical features and the first forecasting result (e.g., the forecasting result related to the respective factors at the second time point). The computing device 100 may further determine the forecasting results of subsequent time points in a similar manner.
  • an association relationship between the historical features and the forecasting results may be pre-established.
  • Such association relationship may be for example represented as a model (e.g., referred to as a forecasting model). Then, it is possible to use such forecasting model to determine the forecasting results based on extracted plurality of historical features.
  • Such forecasting model may be pre-trained using training data. A training process will be discussed in detail later.
  • the computing device 100 may use a Gradient Boosting Decision Tree (GBDT) having a predetermined parameter set to determine the forecasting results.
  • the GBDT is a widely-used model that is based on a decision tree, and includes a plurality of nodes (also referred to as leaves or leaf nodes) arranged in a tree structure.
  • the GBDT employs the idea of Boost, of which the algorithm is comprised of a plurality of decision trees. Conclusions of all the decision trees are accumulated as the final answer.
  • the GBDT does not require each of the decision trees to learn too much knowledge, but allows each decision tree to learn a part of the knowledge and then accumulates the learnt knowledge to form a strong model.
  • the GBDT usually requires definite feature input. That is to say, the GBDT does not learn which features in the historical data can facilitate the forecasting result through the training process, but learn the combination, weighting and thresholds of input predetermined features to obtain a corresponding parameter set, thereby obtaining a desired capability of forecasting.
  • the decision tree building and learning in the GBDT falls within the scope of the GBDT algorithm, and the implementations of the subject matter described here are not limited in this regard.
  • a process of training a GBDT for the purpose of forecasting in the implementations of the subject matter described herein will be described in detail below.
  • the plurality of nodes of the GBDT are associated with the plurality of extracted historical features.
  • the GBDT may determine the forecasting results according to the predetermined parameter set and based on input of these historical features.
  • the GBDT further includes some extra nodes that are associated with the extracted time features respectively.
  • the historical features and time features are all pre- extracted from the historical data. The GBDT may execute the decision according to the extracted features and determine the final forecasting results.
  • a GBDT is trained for a single time point to reduce complexity.
  • This GBDT may determine a forecasting result for the single time point according to the input features (the historical features and time features) each time.
  • the computing device 100 may use the GBDT to determine, in time sequence, the first forecasting result for the first time point of the plurality of time points based on the input features, and then determine, based on the input features and the first forecasting result, the second forecasting result for the second time point after the first time point.
  • the computing device 100 may modify the plurality of historical features (and the time features) based on the first forecasting result, and determine the second forecasting result based on the modified features. Since some historical features and/or time features might be extracted by taking the earliest time point(s) of a plurality of time points as a reference. After a forecasting result is determined for the earliest time point, this forecasting result may be considered as historical data for the subsequent time points, and therefore may be used to modify the extracted features.
  • the first historical feature may be modified from a data item at a time point before the earliest time point to a data item related to the factor in the forecasting result determined for the earliest time point.
  • the first time feature may be modified as indicating a condition of a holiday within a period of time including the earliest time point. It would be appreciated that the modification may be conducted similarly for other historical features and/or time features. Of course, in some cases, even if the first forecasting result is considered, some features (such as the second time feature) might not be changed.
  • the used forecasting model e.g., the GBDT
  • the used forecasting model may only be trained as determining the forecasting result for a single time point (the forecasting related to the plurality of factors at a certain time point).
  • the forecasting result determined each time may be further used for the subsequent forecasting.
  • such forecasting model may be considered as a recurrent forecasting model (for example, a recurrent GBDT). In this recurrent manner, the design, training and utilization of the forecasting model are simplified, thereby substantially reducing complexity and improving effectiveness.
  • Fig. 3 shows an example of the forecasting module 122 that is based on the GBDT.
  • the forecasting module 122 may be configured to implement the forecasting process of Fig. 2.
  • the forecasting module 122 includes a feature extraction submodule 310 and a GBDT model 320.
  • the forecasting module 122 is configured to extract historical features 312 from the historical data 302.
  • the forecasting module 122 is further configured to extract one or more time features 312 based on the plurality of time points related to the forecasting query 170.
  • the extracted historical features and/or time features 312 are provided to the GBDT module 320 as the model input.
  • the GBDT model 320 uses a parameter set obtained from the training to determine a forecasting result 322 at the first time point in the plurality of time points in time sequence based on the input features 312.
  • the forecasting result 322 may be provided as a part of the forecasting results 180 of the computing device 100 for output and may be further provided to the feature extraction submodule 310 to modify the historical features and/or time features 312 extracted by the feature extraction submodule 310.
  • the modified feature 312 continues to be provided to the GBDT model 320 to determine a forecasting result 322 at a subsequent second time point.
  • the forecasting results at the subsequent ones of the plurality of time points may also be determined.
  • the computing device 100 obtains historical data related to a plurality of factors at a plurality of historical time points.
  • the historical data serve as training data of the forecasting model. Depending on the requirement for model training, it is possible to obtain available historical data related to different factors before a longer period of time.
  • the forecasting model is used to forecast data related to the plurality of factors at a plurality of future time points, the obtained historical data may be associated with the identical plurality of factors. In some other implementations, the obtained historical data may be associated with a plurality of different factors.
  • the computing device 100 extracts a plurality of historical features from the historical data.
  • the features to be extracted during the training and the features extracted during the implementation may be of the same types, even if the historical data may be related to different factors and historical time points.
  • the computing device 100 determines a parameter set for the forecasting model at least based on the plurality of historical features.
  • values of the parameter set may be initialized, for example, as random values.
  • the parameter set may be updated continuously by using the training data, until a predetermined convergence condition is reached.
  • Various training methods may be utilized to perform the updating of the parameter set, and the implementations of the subject matter described herein are not limited in this regard.
  • the forecasting model is designed to determine the forecasting results at different time points in a recurrent manner, during the training, in addition to the plurality of historical features extracted from the historical data and the historical data portion related to the plurality of factors at the second historical time point, the first historical data portion related to the previous first historical time point is also be used to update the parameter set for the forecasting model again.
  • the first historical data portion is served as a forecasting result that is expected to be determined by the forecasting model for the first historical time point.
  • the computing device 100 may modify the plurality of historical features based on the first historical data portion, and then take the modified historical features as the input of the forecasting model, so as to perform the updating of the parameter set again based on the difference between the processing result of the forecasting model on the basis of the current parameter set and the second historical data portion.
  • a forecasting error with respect to a previous time point might be propagated to a subsequent time point, which may result in long-term inaccurate forecasting.
  • random noise may be introduced in the historical data for training during the training of the forecasting model.
  • the historical data may be changed randomly.
  • the data items e.g., numerical values
  • It is possible to improve robustness of the forecasting model e.g., the GBDT model
  • by introducing the random noise thereby achieving better long-term forecasting accuracy.
  • the subject matter disclosed here provides a computer-implemented method, comprising: receiving a forecasting query related to a plurality of factors at a plurality of time points, extracting a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points; and determining forecasting results related to the plurality of factors at the plurality of time points in time sequence based on the plurality of historical features, the determining comprising: determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point.
  • determining the forecasting result comprises: determining the forecasting results by using a Gradient Boosting Decision Tree (GBDT) having a predetermined parameter set, the GBDT comprising a plurality of nodes arranged in a tree structure, and the plurality of nodes being associated with the plurality of historical features, respectively.
  • GBDT Gradient Boosting Decision Tree
  • extracting the plurality of historical features comprises: identifying, from the historical data, a plurality of historical data portions related to respective ones of the plurality of factors at the plurality of historical time points; extracting a first set of historical features from the plurality of historical data portions, respectively, the first set of historical features indicating characteristics of the historical data portions related to the respective factors at the plurality of historical time points; and extracting a second set of historical features across the plurality of historical data portions, the second set of historical features indicating characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points.
  • each historical data portion comprises data items corresponding to a respective factor at different historical time points of the plurality of historical time points
  • extracting the first set of historical features comprises: extracting from each historical data portion at least one of the following: a first historical feature indicating a data item related to the respective factor at a predetermined historical time point in the plurality of historical time points, the predetermined time point having a predetermined time interval from one of the plurality of time points, a second historical feature indicating an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points, and a third historical feature indicating an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points.
  • the at least two factors are at a same level in a predetermined hierarchical structure.
  • condition of the holiday indicates at least one of the following: whether there is a holiday, duration of the holiday, and a type of the holiday.
  • determining the second forecasting result comprises: modifying the plurality of historical features based on the first forecasting result; and determining the second forecasting result based on the plurality of modified historical features.
  • each historical data portion comprises data items corresponding to a respective factor at different historical time points of the plurality of historical time points
  • extracting the first set of historical features comprises: extracting from each historical data portion at least one of the following: a first historical feature indicating a data item related to the respective factor at a predetermined historical time point in the plurality of historical time points, the predetermined time point having a predetermined time interval from one of the plurality of time points, a second historical feature indicating an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points, and a third historical feature indicating an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points.
  • determining the forecasting results further comprises: determining at least one time feature based on the plurality of time points, the at least one time feature indicating a time pattern before the plurality of time points, during the plurality of time points, and/or after the plurality of time points; and determining the forecasting results further based on the at least one time feature.
  • the parameter set for the GBDT is determined based on further historical data related to a plurality of further factors at a plurality of historical time points, and the further historical data being changed randomly when determining the parameter set.
  • the at least two factors are at a same level in a predetermined hierarchical structure.
  • the machine-executable instructions when executed by a device, further cause the device to: determine at least one of the following: a first time feature indicating a condition of a holiday within a first predetermined time period before the plurality of time points, a second time feature indicating a condition of a holiday included within the plurality of time points, and a third time feature indicating a condition of a holiday within a second predetermined time period after the plurality of time points.
  • condition of the holiday indicates at least one of the following: whether there is a holiday, duration of the holiday, and a type of the holiday.
  • Program code for carrying out the methods of the subject matter described herein may be written in any combination of one or more programming languages.
  • the program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowcharts and/or block diagrams to be implemented.
  • the program code may be executed entirely or partly on a machine, executed as a stand-alone software package partly on the machine, partly on a remote machine, or entirely on the remote machine or server.
  • a machine-readable medium may be any tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine- readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Implementations of the subject matter described herein provide a solution for multivariate multi-time point forecasting. In this solution, a forecasting query related to factors at time points is received. Historical features are extracted from historical data related to factors at historical time points before time points. Forecasting results related to the factors at the historical time points are determined in time sequence based on the historical features. The determining comprises determining, based on the historical features, a first forecasting result related to the factors at a first time point and determining, based on the historical features and the first forecasting result, a second forecasting result related to the factors at a second time point. In this way, it is possible to quickly extend forecasting on the basis of a single time point to forecasting for various time points, so as to improve the efficiency and accuracy.

Description

MULTIVARIATE MULTI-TIME POINT FORECASTING
BACKGROUND
[0001] In many application scenarios, it is required to forecast data for a future period of time. Examples of such scenarios include, for example, forecasting of article or service demand, forecasting of transportation, and the like. Accurate forecasting results may assist relevant organizations and persons in planning in advance, thereby having benefits in economic profits, manpower costs, risk avoidance, and the like. In some cases, such forecasting might involve many factors. For example, it might be expected to forecast a demand for certain goods in different regions for a future period of time. In this example, the different regions are considered as multiple factors in this forecasting problem. Currently, multivariate multi-time point forecasting is still a challenge. Many proposed forecasting methods cannot provide accurate and effective forecasting results.
SUMMARY
[0002] In accordance with implementations of the subject matter described herein, there is provided a solution for multivariate multi-time point forecasting. In this solution, a forecasting query related to a plurality of factors at a plurality of time points is received. A plurality of historical features are extracted from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points. Forecasting results related to the plurality of factors at the plurality of time points are determined in time sequence based on the plurality of historical features. The determining of the forecasting results comprises: determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point. In this way, it is possible to quickly extend forecasting on the basis of a single time point to forecasting for various time points, so as to improve the efficiency and accuracy.
[0003] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Fig. 1 illustrates a block diagram of a computing device in which various implementations of the subject matter described herein can be implemented;
[0005] Fig. 2 illustrates a flowchart of a process of multivariate multi-time point forecasting according to some implementations of the subject matter described herein;
[0006] Fig. 3 illustrates a block diagram of an example of a forecasting module in the computing device of Fig. 1 according to some implementations of the subject matter described herein; and
[0007] Fig. 4 illustrates a flowchart of a process for training a forecasting model according to some implementations of the subject matter described herein.
[0008] Throughout the drawings, the same or similar reference symbols refer to the same or similar elements.
DETAILED DESCRIPTION
[0009] The subject matter described herein will now be discussed with reference to several example implementations. It is to be understood these implementations are discussed only for the purpose of enabling those skilled persons in the art to better understand and thus implement the subject matter described herein, rather than suggesting any limitations on the scope of the subject matter.
[0010] As used herein, the term“includes” and its variants are to be read as open terms that mean“includes, but is not limited to.” The term“based on” is to be read as“based at least in part on.” The terms“one implementation” and“an implementation” are to be read as“at least one implementation.” The term“another implementation” is to be read as“at least one other implementation.” The terms“first,”“second,” and the like may refer to different or same objects. Other definitions, either explicit or implicit, may be included below.
[0011] Fig. 1 illustrates a block diagram of a computing device 100 in which various implementations of the subject matter described herein can be implemented. It would be appreciated that the computing device 100 shown in Fig. 1 is merely for purpose of illustration, without suggesting any limitation to the functions and scopes of the implementations of the subject matter described herein in any manner. As shown in Fig. 1, the computing device 100 includes a computing device 100 in form of a general-purpose computing device. Components of the computing device 100 may include, but are not limited to, one or more processors or processing units 110, a memory 120, a storage device 130, one or more communication units 140, one or more input devices 150, and one or more output devices 160.
[0012] In some implementations, the computing device 100 may be implemented as any user terminal or service terminal having the computing capability. The service terminal may be a server, a large- scale computing device or the like that is provided by a service provider. The user terminal may for example be any type of mobile terminal, fixed terminal, or portable terminal, including a mobile phone, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistant (PDA), audio/video player, digital camera/video camera, positioning device, television receiver, radio broadcast receiver, E-book device, gaming device, or any combination thereof, including the accessories and peripherals of these devices, or any combination thereof. It would be contemplated that the computing device 100 can support any type of interface to a user (such as“wearable” circuitry and the like).
[0013] The processing unit 110 may be a physical or virtual processor and can implement various processes based on programs stored in the memory 120. In a multi-processor system, multiple processing units execute computer executable instructions in parallel so as to improve the parallel processing capability of the computing device 100. The processing unit 110 may also be referred to as a central processing unit (CPU), a microprocessor, a controller or a microcontroller.
[0014] The computing device 100 typically includes various computer storage medium. Such medium can be any medium accessible by the computing device 100, including, but not limited to, volatile and non-volatile medium, or detachable and non-detachable medium. The memory 120 can be a volatile memory (for example, a register, cache, Random Access Memory (RAM)), a non-volatile memory (such as a Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), or a flash memory), or any combination thereof. The memory 120 may include a forecasting module 122 configured to perform functions of various implementations described herein. The forecasting module 122 can be accessed and operated by the processing unit 110 to implement corresponding functions.
[0015] The storage device 130 can be any detachable or non-detachable medium and may include a machine-readable medium, which can be used for storing information and/or data and can be accessed in the computing device 100. The computing device 100 may further include additional detachable/non-detachable, volatile/non-volatile memory medium. Although not shown in Fig. 1, it is possible to provide a disk drive for reading from and/or writing into a detachable and non-volatile disk and a disc drive for reading from and/or writing into a detachable non-volatile disc. In such cases, each drive may be connected to a bus (not shown) via one or more data medium interfaces.
[0016] The communication unit 140 communicates with a further computing device via the communication medium. In addition, the functions of the components in the computing device 100 can be implemented by a single computing cluster or multiple computing machines that can communicate via communication connections. Therefore, the computing device 100 can operate in a networked environment using a logical connection with one or more other servers, networked personal computers (PCs) or further general network nodes.
[0017] The input device 150 may be one or more of a variety of input devices, such as a mouse, keyboard, tracking ball, voice-input device, and the like. The output device 160 may be one or more of a variety of output devices, such as a display, loudspeaker, printer, and the like. By means of the communication unit 140, the computing device 100 can further communicate with one or more external devices (not shown) such as the storage devices and display device, with one or more devices enabling the user to interact with the computing device 100, or any devices (such as a network card, a modem and the like) enabling the computing device 100 to communicate with one or more other computing devices, if required. Such communication can be performed via input/output (I/O) interfaces (not shown).
[0018] In some implementations, as an alternative of being integrated on a single device, some or all components of the computing device 100 may also be arranged in form of cloud computing architecture. In the cloud computing architecture, the components may be provided remotely and work together to implement the functions described in the subject matter described herein. In some implementations, cloud computing provides computing, software, data access and storage service, which will not require end users to be aware of the physical positions or configurations of the systems or hardware providing these services. In various implementations, the cloud computing provides the services via a wide area network (such as Internet) using proper protocols. For example, a cloud computing provider provides applications over the wide area network, which can be accessed through a web browser or any other computing components. The software or components of the cloud computing architecture and corresponding data may be stored on a server at a remote position. The computing resources in the cloud computing environment may be merged or distributed at locations in a remote data center. Cloud computing infrastructures may provide the services through a shared data center, though they behave as a single access point for the users. Therefore, the cloud computing architectures may be used to provide the components and functions described herein from a service provider at a remote location. Alternatively, they may be provided from a conventional server or installed directly or otherwise on a client device.
[0019] The computing device 100 may be used to implement multivariate multi -time point forecasting in the implementations of the subject matter described herein. In performing the forecasting, the computing device 100 can receive a forecasting query 170 related to a plurality of factors at the plurality of time points via the input device 150. The forecasting query 170 may be for example input by the user. In the example of Fig. 1, the computing device 100 may receive, via the input device 150, the forecasting query 170, “what are the demands for goods X in Cities A and B in the future three months?” The processing unit 110 of the computing device 100 can determine a forecasting result 180 for the forecasting query 170 by running the forecasting module 122 and then output this forecasting result via the output device 160. For example, the forecasting result 180 of the forecasting module 122 includes a table of demands for goods X in Cities A and B in the future three months (from May 2018 to July 2018).
[0020] It would be appreciated that the forecasting query 170 and the forecasting result 180 in Fig. 1 are only examples. In other implementations, the computing device 100 may further process other types of forecasting. Although the forecasting query 170 and the forecasting result 180 are given in form of text and table in the example of Fig. 1, the forecasting query 170 and/or the forecasting result 180 may be received and/or presented in other forms such as audio, image and/or video. The implementations of the subject matter described herein are not limited in this regard.
[0021] In some solutions involving forecasting, most solutions can only implement forecasting related to a single factor at a single future time point. Such forecasting is less efficient, and its accuracy is hard to ensure. For example, to forecast data at multiple future time points, it is necessary to train a corresponding model with respect to each time point to perform the forecast. This increases training and usage complexity and consumes more time, manpower and computing costs.
[0022] According to some implementations of the subject matter described herein, there is provided a solution for multivariate multi-time point forecasting. According to the solution, to support forecasting queries related to a plurality of factors at a plurality of time points, historical data related to a plurality of factors at a plurality of historical time points before the plurality of time points are obtained, and a plurality of historical features are extracted from the historical data to determine forecasting results related to the plurality of factors at the plurality of time points. During the determining of the forecasting result, in addition to the extracted historical features, the forecasting result determined for a previous time point is further used to determine a forecasting result at a subsequent time point. In this manner, it is possible to quickly expand to forecasting with respect to the plurality of time points on the basis of solving the forecasting problem at a single time point, and improve the forecasting efficiency and accuracy.
[0023] Example implementations of the subj ect matter described herein will be described in detail with reference to the figures.
[0024] Fig. 2 illustrates a flowchart of a process for multivariate multi-time point forecasting 200 according to some implementations of the subject matter described herein. The process 200 may be implemented by the computing device 100 of Fig. 1, for example, at the forecasting module 122. For convenience of illustration, the process is described with reference to Fig. 1.
[0025] At 210, the computing device 100 receives a forecasting query 170 related to a plurality of factors at a plurality of time points. The forecasting query 170 may be input by a user to the computing device 100 via the specific input device 150. The forecasting query 170 may be related to a plurality of future time points and the plurality of factors and may indicate that the user expects the computing device 100 to provide forecasting results related to the plurality of factors and the plurality of time points. The plurality of time points herein refer to time points divided as per any time unit, for example, hours, days, weeks, months, years, and the like. The plurality of factors refer to entities (also referred to as“variables”) in the forecasting query except for the dimension of time, for example, places, articles, organizations, and the like. In the example of Fig. 1, the forecasting query 170 may be “what are the demands for goods X in Cities A and B in the future three months,” where “the future three months” refer to three time points from the time point of sending the forecasting query 170 (such as May 2018, June 2018, and July 2018), and“Cities A and B” refer to the plurality of factors (that is, the places) in the forecasting query 170.
[0026] In some implementations, the forecasting query may be initiated in various forms such as text and speech, or may be selected via a user interface of the output device 160 of the computing device 100. The computing device 100 may utilize various proper technologies to convert the initiated forecasting query 170 into a computer-recognizable language, for example, a Structured Query Language (SQL). The computing device 100 may recognize, from the forecasting query 170, the key information such as time points and factors to which this query is related. It would be appreciated that the scope of the subject matter described here is not limited in this regard.
[0027] In response to receiving the forecasting query 170, the computing device 100 may perform corresponding forecasting to provide forecasting results to the forecasting query 170. Specifically, at 220, the computing device 100 extracts a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points. In the implementations of the subject matter described herein, the forecasting query for the future time points depends on the historical data. Here, the historical data for forecasting are historical data related to the same plurality of factors at a plurality of historical time points before the plurality of time points related to the forecasting query 170. For example, if the forecasting query 170 involves“the demands for goods X in Cities A and B in the future three months,” the historical data may be the actual demand for goods X in Cities A and B in a number of months before.
[0028] In some implementations, the historical data may be stored in a storage device of the computing device 100 (e.g., the storage device 130), or stored in other storage devices or databases that are accessible by the computing device 100. In some implementations, the historical data to be used are related to historical features to be extracted, as will be described in detail below.
[0029] In implementations of the subject matter described herein, to perform the forecasting, the computing device 100 may extract historical features from the historical data. These historical features indicate characteristics of the historical data related to the plurality of factors, and can be used to facilitate forecasting the future tendency. In some implementations, the types of the historical features to be extracted may be predetermined.
[0030] In some implementations, the plurality of historical features may include characteristics of the historical data portions related to individual factors during the plurality of historical time points, also referred to as individual factor-related historical features. In this case, the computing device 100 identifies, from the historical data, a plurality of historical data portions related to respective factors, and then extracts a set of historical features (hereinafter referred to as a first set of historical features for convenience of description) from each of the historical data portions. Each historical data portion includes data items corresponding to a respective factor at different ones of the plurality of historical time points. For example, in the historical demand data for goods X in Cities A and B, each historical data portion includes the demand for goods X in City A or City B in the past multiple months. The historical features extracted from each historical data portion may specifically indicate characteristics of the historical data portion related to the respective factors at the plurality of historical time points.
[0031] In some implementations, for each historical data portion, the computing device 100 may extract a first historical feature. The first historical feature may indicate historical information at a short-term time point, and may specifically indicate data items related to the factors at a predetermined historical time point. For example, for a given target time point in the plurality of time points to be forecasted, it is possible to extract, from the historical data portion, the data item related to the respective factor at the latest ith historical time point, where i may be a value approximately equal to 1, for example, 1, 2 or 3. Regarding the example of Fig. 1, it is possible to extract, for the historical data portion related to City A, the demand for goods X in City A in the third month ahead from the first future month (i.e., February 2018), as the first historical feature. The corresponding first historical feature may also be extracted for the historical data portion related to City B.
[0032] In some implementations, for each historical data portion, the computing device 100 may extract a second historical feature. The second historical feature may indicate a long-term historical average value, and may specifically indicate an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points. Extraction of the second historical feature is suitable for historical data related to numerical values. For example, for a given target time point in the plurality of time points to be forecasted, it is possible to extract, from the historical data portion, an average value of k data items related to the respective factor at the latest k historical time points, where k may take a value larger than 2, for example, a value of 7, 14 or 28. As a specific example in Fig. 1, for the historical data portion related to City A, it is possible to extract an average value of the demand for goods X in City A in three months ahead from the first future month (e.g., February, March and April 2018), as the second historical feature. The corresponding second historical feature may also be extracted for the historical data portion related to City B.
[0033] Alternatively, or in addition, for each historical data portion, the computing device 100 may further extract a third historical feature which may indicate a periodical historical average value, and may specifically indicate an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points. The periodical time points refer to a number of time points having an equal time interval between every two consecutive time points. Such time period may be, for example, set as a week, a month, a quarter, a year, or the like. Extraction of the third historical feature is suitable for historical data related to numerical values. For example, for a given target time point in the plurality of time points to be forecasted, if the target time point is April, it is possible to extract, from the historical data portions, an average value of data items related to Aprils in recent years (for example, two or more years).
[0034] The above extracted historical features are respectively associated with a single factor. In addition or alternatively, the plurality of historical features may also include historical features extracted from the historical data portions related to two or more factors during the plurality of historical time points, which may also be referred to as multi-factor related historical features or multi-grained historical features. Specifically, the computing device 100 may extract a set of historical features (referred to as a second set of historical features) across the plurality of historical data portions. The second set of historical features indicate characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points. Such historical features are particularly suitable for factors having a hierarchical structure. For example, if the plurality of factors relate to different regions (e.g., cities), such factors (cities) involve a hierarchical structure related to region division. The hierarchical structure may ranges from coarse levels to fine levels, including for example continents, countries, provinces/states, cities, administrative regions, streets, and the like.
[0035] The computing device 100 may, based on the plurality of related factors, extract the hierarchical structure of these factors, and then extract historical features of the historical data portions related to two or more factors belonging to the same level. The computing device 100 may directly extract historical features from historical data portions related to some factors of the same level, or may consider historical data portions related to other factors above or below the level. For example, from data items included by historical data portions related to different cities, different provinces/states or different countries, the computing device 100 may extract features similar to the first set of historical feature, as the second set of historical features. In this manner, the features related to the plurality of factors may be taken into consideration.
[0036] In some implementations, in addition to the historical features, the computing device 100 may further determine at least one time feature based on the plurality of time points. A time feature indicates a time pattern before the plurality of time points, during the plurality of time points, and/or after the plurality of time points. Usually, from the perspective of the time dimension, many events have different patterns in a holiday than in non-holiday time. Therefore, the time feature may indicate a holiday condition, including whether there is a holiday, duration of the holiday, and/or a type of the holiday (e.g., New Year Day, Christmas, and Lunar New Year). Specifically, the computing device 100 may extract a first time feature which indicates a condition of a historical holiday within a first predetermined time period (e.g., one month, one quarter or one year) before the plurality of time points, for example, whether there are one or more holidays, the duration of the holiday(s) and/or the type(s) of the holiday(s). The computing device 100 may further extract a second time feature to indicate a condition of a holiday included within the plurality of time points, and may, in addition or alternatively, extract a third time feature to indicate a condition of a future holiday within a second time period (e.g., one month, one quarter or one year) after the plurality of time points.
[0037] Still referring to Fig. 2, at 230, the computing device 100 determines, at least based on the plurality of historical features, the forecasting results 180 related to the plurality of factors at the plurality of time points in time sequence. The computing device 100 determines a forecasting result related to each factor at each time point. For example, in the example shown in Fig. 1, the computing device 100 may determine the demands for goods X in Cities A and B in each of the future three months, as shown in the demand table in Fig. 1. In some implementations, if one or more time features are extracted in addition to the historical features, the computing device 100 may further determine the forecasting results based on the time features.
[0038] In implementations of the subject matter described herein, in addition to the extracted historical features, the forecasting result determined for a previous time point may also be used to determine a forecasting result at a subsequent time point. Specifically, the computing device 100 determines, based on the plurality of historical features and the first forecasting result (for example, a forecasting result related to the plurality of factors at the first time point) related to the plurality of factors at the first time point in the plurality of time points. Then, the computing device 100 determines a second forecasting result related to the plurality of factors at a second time point after the first time point based on the plurality of historical features and the first forecasting result (e.g., the forecasting result related to the respective factors at the second time point). The computing device 100 may further determine the forecasting results of subsequent time points in a similar manner.
[0039] In some implementations, an association relationship between the historical features and the forecasting results may be pre-established. Such association relationship may be for example represented as a model (e.g., referred to as a forecasting model). Then, it is possible to use such forecasting model to determine the forecasting results based on extracted plurality of historical features. Such forecasting model may be pre-trained using training data. A training process will be discussed in detail later.
[0040] In some implementations, the computing device 100 may use a Gradient Boosting Decision Tree (GBDT) having a predetermined parameter set to determine the forecasting results. The GBDT is a widely-used model that is based on a decision tree, and includes a plurality of nodes (also referred to as leaves or leaf nodes) arranged in a tree structure. The GBDT employs the idea of Boost, of which the algorithm is comprised of a plurality of decision trees. Conclusions of all the decision trees are accumulated as the final answer. Hence, the GBDT does not require each of the decision trees to learn too much knowledge, but allows each decision tree to learn a part of the knowledge and then accumulates the learnt knowledge to form a strong model.
[0041] The GBDT usually requires definite feature input. That is to say, the GBDT does not learn which features in the historical data can facilitate the forecasting result through the training process, but learn the combination, weighting and thresholds of input predetermined features to obtain a corresponding parameter set, thereby obtaining a desired capability of forecasting. The decision tree building and learning in the GBDT falls within the scope of the GBDT algorithm, and the implementations of the subject matter described here are not limited in this regard. A process of training a GBDT for the purpose of forecasting in the implementations of the subject matter described herein will be described in detail below.
[0042] In some implementations, the plurality of nodes of the GBDT are associated with the plurality of extracted historical features. The GBDT may determine the forecasting results according to the predetermined parameter set and based on input of these historical features. In addition, the GBDT further includes some extra nodes that are associated with the extracted time features respectively. The historical features and time features are all pre- extracted from the historical data. The GBDT may execute the decision according to the extracted features and determine the final forecasting results.
[0043] In some implementations, a GBDT is trained for a single time point to reduce complexity. This GBDT may determine a forecasting result for the single time point according to the input features (the historical features and time features) each time. The computing device 100 may use the GBDT to determine, in time sequence, the first forecasting result for the first time point of the plurality of time points based on the input features, and then determine, based on the input features and the first forecasting result, the second forecasting result for the second time point after the first time point.
[0044] In some implementations, the computing device 100 may modify the plurality of historical features (and the time features) based on the first forecasting result, and determine the second forecasting result based on the modified features. Since some historical features and/or time features might be extracted by taking the earliest time point(s) of a plurality of time points as a reference. After a forecasting result is determined for the earliest time point, this forecasting result may be considered as historical data for the subsequent time points, and therefore may be used to modify the extracted features.
[0045] For example, for the second time point of the plurality of time points, if the first historical feature requires to extract a data item related to a certain factor at one time point ahead, the first historical feature may be modified from a data item at a time point before the earliest time point to a data item related to the factor in the forecasting result determined for the earliest time point. As another example, for the second time point of the plurality of time points, if the first time feature indicates a condition of a holiday in a period of time before the earliest time point, the first time feature may be modified as indicating a condition of a holiday within a period of time including the earliest time point. It would be appreciated that the modification may be conducted similarly for other historical features and/or time features. Of course, in some cases, even if the first forecasting result is considered, some features (such as the second time feature) might not be changed.
[0046] It would be appreciated that for subsequent time points of the plurality of time points, it is also possible to constantly use the forecasting result at a previous time point in a similar manner to change the features to be used subsequently, and further determine the forecasting result at a next time point. In this way, the used forecasting model (e.g., the GBDT) may only be trained as determining the forecasting result for a single time point (the forecasting related to the plurality of factors at a certain time point). The forecasting result determined each time may be further used for the subsequent forecasting. Hence, such forecasting model may be considered as a recurrent forecasting model (for example, a recurrent GBDT). In this recurrent manner, the design, training and utilization of the forecasting model are simplified, thereby substantially reducing complexity and improving effectiveness.
[0047] Fig. 3 shows an example of the forecasting module 122 that is based on the GBDT. The forecasting module 122 may be configured to implement the forecasting process of Fig. 2. As shown in Fig. 3, the forecasting module 122 includes a feature extraction submodule 310 and a GBDT model 320. In response to the computing device 100 receiving the forecasting query 170, the forecasting module 122 is configured to extract historical features 312 from the historical data 302. In some implementations, the forecasting module 122 is further configured to extract one or more time features 312 based on the plurality of time points related to the forecasting query 170. The extracted historical features and/or time features 312 are provided to the GBDT module 320 as the model input. The GBDT model 320 uses a parameter set obtained from the training to determine a forecasting result 322 at the first time point in the plurality of time points in time sequence based on the input features 312. The forecasting result 322 may be provided as a part of the forecasting results 180 of the computing device 100 for output and may be further provided to the feature extraction submodule 310 to modify the historical features and/or time features 312 extracted by the feature extraction submodule 310. The modified feature 312 continues to be provided to the GBDT model 320 to determine a forecasting result 322 at a subsequent second time point. Similarly, the forecasting results at the subsequent ones of the plurality of time points may also be determined.
[0048] It has been described above the example implementations of the forecasting using the trained forecasting model (such as the GBDT). A training process of the forecasting model will be discussed below. Fig. 4 illustrates a flowchart of a process for training a forecasting model 400 according to some implementations of the subject matter described herein. The process 400 may be implemented by the computing device 100 of Fig. 1 or by other computing devices. That is to say, the forecasting model may be trained and used by the same computing device or by different computing devices. For purpose of description, the process is described with reference to Fig. 1. The forecasting model to be trained may be the GBDT model, for example, the GBDT model 320 described with reference to Fig. 3.
[0049] At 410, the computing device 100 obtains historical data related to a plurality of factors at a plurality of historical time points. The historical data serve as training data of the forecasting model. Depending on the requirement for model training, it is possible to obtain available historical data related to different factors before a longer period of time. In some implementations, if the forecasting model is used to forecast data related to the plurality of factors at a plurality of future time points, the obtained historical data may be associated with the identical plurality of factors. In some other implementations, the obtained historical data may be associated with a plurality of different factors. For example, if it is expected to use the forecasting model to forecast the demands for goods X in Cities A and B, the historical demands for goods X or (goods Y) in different Cities, such as Cities C and D (or Cities A and C) may be obtained as the historical data for training. In addition, such historical data may also be data that can be obtained at any historical time points. Such historical data may all enable the forecasting model to learn the association relationship between the features and forecasting results. [0050] At 420, the computing device 100 extracts a plurality of historical features from the historical data. The features to be extracted during the training and the features extracted during the implementation may be of the same types, even if the historical data may be related to different factors and historical time points. These types of historical features may be those that are described above with reference to Fig. 2, and thus will not be described in detail here for the sake of brevity.
[0051] In some implementations, in addition to the historical features, the computing device 100 may further determine at least one time feature based on the plurality of time points. By taking each historical time point in question as a reference, such time feature may be a condition of a holiday before that time point, during a plurality of historical time points, and after that time point determined. Such time feature(s) is also similar to the time feature(s) extracted during the implementation, and therefore will not be detailed here.
[0052] At 430, the computing device 100 determines a parameter set for the forecasting model at least based on the plurality of historical features. During the training, values of the parameter set may be initialized, for example, as random values. Then, the parameter set may be updated continuously by using the training data, until a predetermined convergence condition is reached. Various training methods may be utilized to perform the updating of the parameter set, and the implementations of the subject matter described herein are not limited in this regard.
[0053] Since the forecasting model is designed as performing the forecasting for a certain time point, during the training, the parameter set for the forecasting model is updated each time based on the plurality of historical features and a first historical data portion related to the plurality of factors at a certain time point (e.g., a first historical time point). At this time, the historical features are served as the input of the forecasting model. The forecasting model uses the current parameter set to process the input historical features, and a difference between such processing result and the ground-truth data (i.e., the first historical data portion) at the historical time point may be used to update the parameter set for the forecasting model.
[0054] In some implementations, it is possible to use a historical data portion related to a second historical time point after the first historical time point to continue to update the parameter set.
[0055] Since the forecasting model is designed to determine the forecasting results at different time points in a recurrent manner, during the training, in addition to the plurality of historical features extracted from the historical data and the historical data portion related to the plurality of factors at the second historical time point, the first historical data portion related to the previous first historical time point is also be used to update the parameter set for the forecasting model again. In this case, the first historical data portion is served as a forecasting result that is expected to be determined by the forecasting model for the first historical time point. In some implementations, the computing device 100 may modify the plurality of historical features based on the first historical data portion, and then take the modified historical features as the input of the forecasting model, so as to perform the updating of the parameter set again based on the difference between the processing result of the forecasting model on the basis of the current parameter set and the second historical data portion.
[0056] A forecasting error with respect to a previous time point might be propagated to a subsequent time point, which may result in long-term inaccurate forecasting. To reduce the error propagation, random noise may be introduced in the historical data for training during the training of the forecasting model. For example, the historical data may be changed randomly. Specifically, it is possible to randomly change the data items (e.g., numerical values) corresponding to the respective factors at different historical time points in the historical data, thereby achieving introduction of the random noise in the historical data. It is possible to improve robustness of the forecasting model (e.g., the GBDT model) by introducing the random noise, thereby achieving better long-term forecasting accuracy.
[0057] Some example implementations of the subject matter described here are listed below.
[0058] In one aspect, the subject matter disclosed here provides a computer-implemented method, comprising: receiving a forecasting query related to a plurality of factors at a plurality of time points, extracting a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points; and determining forecasting results related to the plurality of factors at the plurality of time points in time sequence based on the plurality of historical features, the determining comprising: determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point.
[0059] In some implementations, determining the forecasting result comprises: determining the forecasting results by using a Gradient Boosting Decision Tree (GBDT) having a predetermined parameter set, the GBDT comprising a plurality of nodes arranged in a tree structure, and the plurality of nodes being associated with the plurality of historical features, respectively.
[0060] In some implementations, the parameter set for the GBDT is determined based on further historical data related to a plurality of further factors at a plurality of historical time points, and the further historical data being changed randomly when determining the parameter set.
[0061] In some implementations, extracting the plurality of historical features comprises: identifying, from the historical data, a plurality of historical data portions related to respective ones of the plurality of factors at the plurality of historical time points; extracting a first set of historical features from the plurality of historical data portions, respectively, the first set of historical features indicating characteristics of the historical data portions related to the respective factors at the plurality of historical time points; and extracting a second set of historical features across the plurality of historical data portions, the second set of historical features indicating characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points.
[0062] In some implementations, each historical data portion comprises data items corresponding to a respective factor at different historical time points of the plurality of historical time points, and wherein extracting the first set of historical features comprises: extracting from each historical data portion at least one of the following: a first historical feature indicating a data item related to the respective factor at a predetermined historical time point in the plurality of historical time points, the predetermined time point having a predetermined time interval from one of the plurality of time points, a second historical feature indicating an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points, and a third historical feature indicating an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points.
[0063] In some implementations, the at least two factors are at a same level in a predetermined hierarchical structure.
[0064] In some implementations, determining the forecasting results further comprises: determining at least one time feature based on the plurality of time points, the at least one time feature indicating a time pattern before the plurality of time points, during the plurality of time points, and/or after the plurality of time points; and determining the forecasting results further based on the at least one time feature. [0065] In some implementations, determining the at least one time feature comprises determining at least one of the following: a first time feature indicating a condition of a holiday within a first predetermined time period before the plurality of time points, a second time feature indicating a condition of a holiday included within the plurality of time points, and a third time feature indicating a condition of a holiday within a second predetermined time period after the plurality of time points.
[0066] In some implementations, the condition of the holiday indicates at least one of the following: whether there is a holiday, duration of the holiday, and a type of the holiday.
[0067] In some implementations, determining the second forecasting result comprises: modifying the plurality of historical features based on the first forecasting result; and determining the second forecasting result based on the plurality of modified historical features.
[0068] In another aspect, the subject matter described herein provides a device, comprising: a processing unit; and a memory coupled to the processing unit and having instructions stored thereon which, when executed by the processing unit, cause the device to perform acts comprising: receiving a forecasting query related to a plurality of factors at a plurality of time points; extracting a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points; and determining forecasting results related to the plurality of factors at the plurality of time points in time sequence based on the plurality of historical features, the determining comprising: determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point.
[0069] In some implementations, determining the forecasting results comprises: determining the forecasting results by using a Gradient Boosting Decision Tree (GBDT) having a predetermined parameter set, the GBDT comprising a plurality of nodes arranged in a tree structure, and the plurality of nodes being associated with the plurality of historical features, respectively.
[0070] In some implementations, the parameter set for the GBDT is determined based on further historical data related to a plurality of further factors at a plurality of historical time points, and the further historical data being changed randomly when determining the parameter set. [0071] In some implementations, extracting the plurality of historical features comprises: identifying, from the historical data, a plurality of historical data portions related to respective ones of the plurality of factors at the plurality of historical time points; extracting a first set of historical features from the plurality of historical data portions, respectively, the first set of historical features indicating characteristics of the historical data portions related to the respective factors at the plurality of historical time points; and extracting a second set of historical features across the plurality of historical data portions, the second set of historical features indicating characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points.
[0072] In some implementations, each historical data portion comprises data items corresponding to a respective factor at different historical time points of the plurality of historical time points, and wherein extracting the first set of historical features comprises: extracting from each historical data portion at least one of the following: a first historical feature indicating a data item related to the respective factor at a predetermined historical time point in the plurality of historical time points, the predetermined time point having a predetermined time interval from one of the plurality of time points, a second historical feature indicating an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points, and a third historical feature indicating an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points.
[0073] In some implementations, the at least two factors are at a same level in a predetermined hierarchical structure.
[0074] In some implementations, determining the forecasting results further comprises: determining at least one time feature based on the plurality of time points, the at least one time feature indicating a time pattern before the plurality of time points, during the plurality of time points, and/or after the plurality of time points; and determining the forecasting results further based on the at least one time feature.
[0075] In some implementations, determining the at least one time feature comprises determining at least one of the following: a first time feature indicating a condition of a holiday within a first predetermined time period before the plurality of time points, a second time feature indicating a condition of a holiday included within the plurality of time points, and a third time feature indicating a condition of a holiday within a second predetermined time period after the plurality of time points.
[0076] In some implementations, the condition of the holiday indicates at least one of the following: whether there is a holiday, duration of the holiday, and a type of the holiday.
[0077] In some implementations, determining the second forecasting result comprises: modifying the plurality of historical features based on the first forecasting result; and determining the second forecasting result based on the plurality of modified historical features.
[0078] In a further aspect, the subject matter described herein provides a computer program product being stored on a computer-readable medium and comprising machine- executable instructions which, when executed by a device, cause the device to: receive a forecasting query related to a plurality of factors at a plurality of time points; extract a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points; and determine forecasting results related to the plurality of factors at the plurality of time points in time sequence based on the plurality of historical features, the determining comprising: determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point.
[0079] In some implementations, the machine-executable instructions, when executed by a device, further cause the device to: determine the forecasting results by using a Gradient Boosting Decision Tree (GBDT) having a predetermined parameter set, the GBDT comprising a plurality of nodes arranged in a tree structure, and the plurality of nodes being associated with the plurality of historical features, respectively.
[0080] In some implementations, the parameter set for the GBDT is determined based on further historical data related to a plurality of further factors at a plurality of historical time points, and the further historical data being changed randomly when determining the parameter set.
[0081] In some implementations, the machine-executable instructions, when executed by a device, further cause the device to: identify, from the historical data, a plurality of historical data portions related to respective ones of the plurality of factors at the plurality of historical time points; extract a first set of historical features from the plurality of historical data portions, respectively, the first set of historical features indicating characteristics of the historical data portions related to the respective factors at the plurality of historical time points; and extract a second set of historical features across the plurality of historical data portions, the second set of historical features indicating characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points.
[0082] In some implementations, each historical data portion comprises data items corresponding to a respective factor at different historical time points of the plurality of historical time points, and the machine-executable instructions, when executed by a device, further cause the device to: extract from each historical data portion at least one of the following: a first historical feature indicating a data item related to the respective factor at a predetermined historical time point in the plurality of historical time points, the predetermined time point having a predetermined time interval from one of the plurality of time points, a second historical feature indicating an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points, and a third historical feature indicating an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points.
[0083] In some implementations, the at least two factors are at a same level in a predetermined hierarchical structure.
[0084] In some implementations, the machine-executable instructions, when executed by a device, further cause the device to: determine at least one time feature based on the plurality of time points, the at least one time feature indicating a time pattern before the plurality of time points, during the plurality of time points, and/or after the plurality of time points; and determining the forecasting results further based on the at least one time feature.
[0085] In some implementations, the machine-executable instructions, when executed by a device, further cause the device to: determine at least one of the following: a first time feature indicating a condition of a holiday within a first predetermined time period before the plurality of time points, a second time feature indicating a condition of a holiday included within the plurality of time points, and a third time feature indicating a condition of a holiday within a second predetermined time period after the plurality of time points.
[0086] In some implementations, the condition of the holiday indicates at least one of the following: whether there is a holiday, duration of the holiday, and a type of the holiday.
[0087] In some implementations, the machine-executable instructions, when executed by a device, further cause the device to: modify the plurality of historical features based on the first forecasting result; and determine the second forecasting result based on the plurality of modified historical features. [0088] The functionally described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-Programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
[0089] Program code for carrying out the methods of the subject matter described herein may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowcharts and/or block diagrams to be implemented. The program code may be executed entirely or partly on a machine, executed as a stand-alone software package partly on the machine, partly on a remote machine, or entirely on the remote machine or server.
[0090] In the context of this disclosure, a machine-readable medium may be any tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine- readable signal medium or a machine-readable storage medium. A machine-readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0091] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations are performed in the particular order shown or in sequential order, or that all illustrated operations are performed to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the subject matter described herein, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in the context of separate implementations may also be implemented in combination in a single implementation. Rather, various features described in a single implementation may also be implemented in multiple implementations separately or in any suitable sub-combination.
[0092] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter specified in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1. A computer-implemented method, comprising:
receiving a forecasting query related to a plurality of factors at a plurality of time points;
extracting a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points; and determining forecasting results related to the plurality of factors at the plurality of time points in time sequence based on the plurality of historical features, the determining comprising:
determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and
determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point.
2. The method of claim 1, wherein determining the forecasting results comprises: determining the forecasting results by using a Gradient Boosting Decision Tree
(GBDT) having a predetermined parameter set, the GBDT comprising a plurality of nodes arranged in a tree structure, and the plurality of nodes being associated with the plurality of historical features, respectively.
3. The method of claim 2, wherein the parameter set for the GBDT is determined based on further historical data related to a plurality of further factors at a plurality of historical time points, and the further historical data being changed randomly when determining the parameter set.
4. The method of claim 1, wherein extracting the plurality of historical features comprises:
identifying, from the historical data, a plurality of historical data portions related to respective ones of the plurality of factors at the plurality of historical time points;
extracting a first set of historical features from the plurality of historical data portions, respectively, the first set of historical features indicating characteristics of the historical data portions related to the respective factors at the plurality of historical time points; and
extracting a second set of historical features across the plurality of historical data portions, the second set of historical features indicating characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points.
5. The method of claim 4, wherein each historical data portion comprises data items corresponding to a respective factor at different historical time points of the plurality of historical time points, and wherein extracting the first set of historical features comprises: extracting from each historical data portion at least one of the following:
a first historical feature indicating a data item related to the respective factor at a predetermined historical time point in the plurality of historical time points, the predetermined time point having a predetermined time interval from one of the plurality of time points,
a second historical feature indicating an average value of data items related to the respective factor at at least two consecutive time points of the plurality of historical time points, and
a third historical feature indicating an average value of data items related to the respective factor at a number of periodical time points of the plurality of historical time points.
6. The method of claim 4, wherein the at least two factors are at a same level in a predetermined hierarchical structure.
7. The method of claim 1, wherein determining the forecasting results further comprises:
determining at least one time feature based on the plurality of time points, the at least one time feature indicating a time pattern before the plurality of time points, during the plurality of time points, and/or after the plurality of time points; and
determining the forecasting results further based on the at least one time feature.
8. The method of claim 7, wherein determining the at least one time feature comprises determining at least one of the following:
a first time feature indicating a condition of a holiday within a first predetermined time period before the plurality of time points,
a second time feature indicating a condition of a holiday included within the plurality of time points, and
a third time feature indicating a condition of a holiday within a second predetermined time period after the plurality of time points.
9. The method of claim 8, wherein the condition of the holiday indicates at least one of the following: whether there is a holiday, duration of the holiday, and a type of the holiday.
10. The method of claim 1, wherein determining the second forecasting result comprises:
modifying the plurality of historical features based on the first forecasting result; and determining the second forecasting result based on the plurality of modified historical features.
11. A device, comprising:
a processing unit; and
a memory coupled to the processing unit and having instructions stored thereon which, when executed by the processing unit, cause the device to perform acts comprising:
receiving a forecasting query related to a plurality of factors at a plurality of time points;
extracting a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points; and
determining forecasting results related to the plurality of factors at the plurality of time points in time sequence based on the plurality of historical features, the determining comprising:
determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and
determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point.
12. The device of claim 11, wherein determining the forecasting results comprises: determining the forecasting results by using a Gradient Boosting Decision Tree
(GBDT) having a predetermined parameter set, the GBDT comprising a plurality of nodes arranged in a tree structure, and the plurality of nodes being associated with the plurality of historical features, respectively.
13. The device of claim 11, wherein extracting the plurality of historical features comprises:
identifying, from the historical data, a plurality of historical data portions related to respective ones of the plurality of factors at the plurality of historical time points;
extracting a first set of historical features from the plurality of historical data portions, respectively, the first set of historical features indicating characteristics of the historical data portions related to the respective factors at the plurality of historical time points; and
extracting a second set of historical features across the plurality of historical data portions, the second set of historical features indicating characteristics of the historical data portions related to at least two of the plurality of factors at the plurality of historical time points.
14. The device of claim 11, wherein determining the forecasting results further comprises:
determining at least one time feature based on the plurality of time points, the at least one time feature indicating a time pattern before the plurality of time points, during the plurality of time points, and/or after the plurality of time points; and
determining the forecasting results further based on the at least one time feature.
15. A computer program product being stored on a computer-readable medium and comprising machine-executable instructions which, when executed by a device, cause the device to:
receive a forecasting query related to a plurality of factors at a plurality of time points;
extract a plurality of historical features from historical data related to the plurality of factors at a plurality of historical time points before the plurality of time points; and
determine forecasting results related to the plurality of factors at the plurality of time points in time sequence based on the plurality of historical features, the determining comprising:
determining, based on the plurality of historical features, a first forecasting result related to the plurality of factors at a first time point of the plurality of time points, and
determining, based on the plurality of historical features and the first forecasting result, a second forecasting result related to the plurality of factors at a second time point after the first time point.
PCT/US2019/031909 2018-05-30 2019-05-13 Multivariate multi-time point forecasting WO2019231636A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810541283.9 2018-05-30
CN201810541283.9A CN110555537A (en) 2018-05-30 2018-05-30 Multi-factor multi-time point correlated prediction

Publications (1)

Publication Number Publication Date
WO2019231636A1 true WO2019231636A1 (en) 2019-12-05

Family

ID=66867764

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/031909 WO2019231636A1 (en) 2018-05-30 2019-05-13 Multivariate multi-time point forecasting

Country Status (2)

Country Link
CN (1) CN110555537A (en)
WO (1) WO2019231636A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469394A (en) * 2020-03-30 2021-10-01 富士通株式会社 Information processing apparatus, information processing method, and computer-readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081398A1 (en) * 2013-09-17 2015-03-19 International Business Machines Corporation Determining a performance target setting
US20160005055A1 (en) * 2014-07-01 2016-01-07 Siar SARFERAZ Generic time series forecasting
US20160055494A1 (en) * 2014-08-19 2016-02-25 Boyi Ni Booking based demand forecast

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928398B1 (en) * 2000-11-09 2005-08-09 Spss, Inc. System and method for building a time series model
US20120095800A1 (en) * 2010-10-15 2012-04-19 International Business Machines Corporation Predicting financial status of a project
US20150371244A1 (en) * 2014-06-23 2015-12-24 Ca, Inc. Forecasting information technology workload demand
US9824067B2 (en) * 2014-08-01 2017-11-21 Tata Consultancy Services Limited System and method for forecasting a time series data
US10922293B2 (en) * 2015-06-21 2021-02-16 Blackhawk Network, Inc. Computer-based data collection, management, and forecasting
US10636044B2 (en) * 2016-03-15 2020-04-28 Accenture Global Solutions Limited Projecting resource demand using a computing device
US20170270427A1 (en) * 2016-03-17 2017-09-21 Microsoft Technology Licensing, Llc Multi-view machine learning
US20170300964A1 (en) * 2016-04-18 2017-10-19 International Business Machines Corporation Estimating the future bounds of time-sensitive metrics
CN107274009A (en) * 2017-05-27 2017-10-20 中国科学院计算技术研究所 A kind of time series data multistep forecasting method and system based on correlation
CN107437199A (en) * 2017-06-16 2017-12-05 北京小度信息科技有限公司 Platform earnings forecast method and device
CN107832866A (en) * 2017-09-26 2018-03-23 晶赞广告(上海)有限公司 A kind of method for predicting and device, storage medium, terminal
CN108053242B (en) * 2017-12-12 2021-02-09 携程旅游信息技术(上海)有限公司 Scenic spot ticket amount prediction method, system, equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081398A1 (en) * 2013-09-17 2015-03-19 International Business Machines Corporation Determining a performance target setting
US20160005055A1 (en) * 2014-07-01 2016-01-07 Siar SARFERAZ Generic time series forecasting
US20160055494A1 (en) * 2014-08-19 2016-02-25 Boyi Ni Booking based demand forecast

Also Published As

Publication number Publication date
CN110555537A (en) 2019-12-10

Similar Documents

Publication Publication Date Title
CA2940760C (en) Intelligent data munging
CN108399564B (en) Credit scoring method and device
CN109190044A (en) Personalized recommendation method, device, server and medium
US20180349790A1 (en) Time-Based Features and Moving Windows Sampling For Machine Learning
US20190114290A1 (en) Query-goal-mission structures
WO2018223331A1 (en) Systems and methods for text attribute determination using conditional random field model
US9773252B1 (en) Discovery of new business openings using web content analysis
US9754015B2 (en) Feature rich view of an entity subgraph
US20200042902A1 (en) Method for Building User Visit Inference Model, Apparatus and Storage Medium
WO2021254046A1 (en) Information query method and device
CN110727857A (en) Method and device for identifying key features of potential users aiming at business objects
CN109783726A (en) A kind of real estate big data computation processing method and its system
US11609897B2 (en) Methods and systems for improved search for data loss prevention
US20220114198A1 (en) System and method for entity disambiguation for customer relationship management
WO2019231636A1 (en) Multivariate multi-time point forecasting
CN113591881A (en) Intention recognition method and device based on model fusion, electronic equipment and medium
CN113515703A (en) Information recommendation method and device, electronic equipment and readable storage medium
US20210256209A1 (en) Predictive event searching utilizing a machine learning model trained using dynamically-generated event tags
US11599797B2 (en) Optimization of neural network in equivalent class space
US20240265207A1 (en) Training of an object linking model
CN103514167B (en) Data processing method and equipment
CN113516524B (en) Method and device for pushing information
CN115495663A (en) Information recommendation method and device, electronic equipment and storage medium
CN113010788A (en) Information pushing method and device, electronic equipment and computer readable storage medium
US20200356564A1 (en) Candidate data record prioritization for match processing

Legal Events

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

Ref document number: 19731002

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19731002

Country of ref document: EP

Kind code of ref document: A1