Methods, systems, devices and neural networks for forecasting a time series
Methods, systems, devices, and neural networks are for forecasting a time series. According to one example, a natural language processing engine receives input natural language describing historical data of a time series and, based on the input natural language, generates output natural language which describes a forecast for the time series.
1 . A method comprising: obtaining historical data of a time series; converting, by a converter module, the historical data of the time series into natural language describing the historical data; sending the natural language describing the historical data to a natural language processing engine; and
generating, by the natural language processing engine, output natural language which describes a forecast for the time series based on the natural language describing the historical data, wherein the converter module and the natural language processing engine are implemented by one or more processors, wherein the natural language engine is implemented by a neural network including a natural language branch and an auxiliary branch comprising a numerical time series predictor, and wherein the neural network has been trained on historical data of the time series using a combined loss function for the natural language branch and the auxiliary branch.
2 . The method of claim 1 , wherein the historical data includes time series data comprising a plurality of numerical data points and a plurality of time values corresponding to the numerical data points.
3 . The method of claim 1 , wherein the historical data includes an identifier which identifies a subject of the time series.
4 . The method of claim 1 , wherein the historical data includes semantic contextual data describing a property of one or more time values of the time series.
5 . The method of claim 1 , wherein the-historical data includes geographic data, such as but not limited to human mobility data or weather data.
6 . The method of claim 1 , wherein the time series includes a sequence of observations at different points in time of a number of people at one or more places of interest (POI) and optionally also includes text data categorising the POI and/or text data describing conditions relevant to one or more of the observations.
7 . The method of claim 1 , wherein the converter module converts the historical data into natural language having a pre-defined format.
8 . The method of claim 1 , wherein the converter modules uses a language template to convert the historical data into natural language describing the historical data.
9 . The method of claim 8 , wherein the natural language template comprises one or more predefined sentences or phrases including a plurality of gaps which are to be populated by historical data of the time series.
10 . The method of claim 1 , comprising:
a virtual assistant module receiving a natural language question;
the virtual assistant module determining a point of interest (POI) relevant to the natural language question;
the virtual assistant module obtaining historical data of a time series which historical data is relevant to the natural language question and the determined POI;
the virtual assistant module sending the obtained historical data to the converter module.
11 . The method of claim 1 wherein the natural language processing branch and the auxiliary branch are linked by a momentum function.
12 . The method of claim 11 , wherein the momentum function has a momentum factor between 0.001 and 0.1.
13 . The method of claim 11 , wherein the combined loss function has a loss of 0.1 or less.
14 . The method of claim 1 , wherein the time series comprises a sequence of observations and the number of observations in the historic data set is in the range of 5 to 20 observations.
15 . The method of claim 1 , further comprising extracting numerical data from the output natural language and producing an output based on the numerical data.
16 . The method of claim 11 , further comprising controlling a physical process or initiate an electronic transaction based on the numerical data.
17 . A method comprising: receiving natural language describing historical data of a time series; inputting the natural language describing the historical data to a natural language processing engine which has been trained on plurality of sentence pairs, each sentence pair comprising an input sentence describing the time series in a first time period and a corresponding target sentence forecasting the time series in a second time period; and generating, by the natural language processing engine, output natural language which describes a forecast for the time series based on the natural language describing the historical data, wherein the natural language processing engine is implemented by one or more processors, wherein the natural language engine is implemented by a neural network including a natural language branch and an auxiliary branch comprising a numerical time series predictor, and wherein the neural network has been trained on historical data of the time series using a combined loss function for the natural language branch and the auxiliary branch.
18 . The method of claim 13 , wherein the historical data further comprises contextual data relating to one or more time values or data points of the time series and wherein the natural language processing engine has been trained on sentence pairs which include contextual data as well as time values and data points.