IP Library Granted Patent US 10,726,354
Granted Patent B2
US 10,726,354 · App. 15/143,335 · Granted Jul 28, 2020

Concurrently forecasting multiple time series

Inventors: Manish Sainani (Kirkland, WA); Nghi Huu Nguyen (Union City, CA); Zidong Yang (Millbrae, CA)
Assignee: SPLUNK INC.
G06N20/00G06F16/22G06F16/248G06F16/2428G06F16/2471
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,726,354
App. No.
15/143,335
Granted
Jul 28, 2020
Kind
B2
Abstract

Embodiments of the present invention are directed to facilitating concurrent forecasting associating with multiple time series data sets. In accordance with aspects of the present disclosure, a request to perform a predictive analysis in association with multiple time series data sets is received. Thereafter, the request is parsed to identify each of the time series data sets to use in predictive analysis. For each time series data set, an object is initiated to perform the predictive analysis for the corresponding time series data set. Generally, the predictive analysis predicts expected outcomes based on the corresponding time series data set. Each object is concurrently executed to generate expected outcomes associated with the corresponding time series data set, and the expected outcomes associated with each of the corresponding time series data sets are provided for display.

Claims (46)

1. A computer-implemented method comprising:

receiving a request to perform a predictive analysis in association with multiple time series data sets and a set of forecasting algorithms including a model to forecast values for the corresponding time series data set expected to occur in the future, each of the multiple time series data sets and the set of forecasting algorithms identified in the request;

parsing the request to identify each of the time series data sets and the set of forecasting algorithms to use in performing the predictive analysis;

for each of a corresponding one of the time series data sets, initiating an executable object configured to perform forecasting of values expected to occur in the future for the corresponding time series data set using a corresponding one of the set of forecasting algorithms in the received request to predict future values based on the corresponding time series data set;

concurrently executing each executable object to generate one or more expected future values associated with the corresponding time series data set, each executable object including a set of parameters to use for forecasting of values expected to occur in the future; and

providing the one or more expected future values associated with each of the corresponding time series data sets for display, wherein the multiple time series data sets and the corresponding expected future values are concurrently displayed.

2. The computer-implemented method of claim 1 further comprising converting a set of raw data to the set of time series data.

3. The computer-implemented method of claim 1 , wherein the request to perform a predictive analysis comprises a predict command that includes an indication of each of the time series data sets.

4. The computer-implemented method of claim 1 , wherein the request to perform the predictive analysis comprises an indication of a first time series data set and a first forecasting algorithm to utilize to perform the predictive analysis based on the first time series data set, and an indication of a second time series data set and a second forecasting algorithm to utilize to perform the predictive analysis based on the second time series data set.

5. The computer-implemented method of claim 1 , wherein the request to perform the predictive analysis comprises an indication of a first time series data set, an indication of a second time series data set, and an indication of a forecasting algorithm to utilize to perform the predictive analysis in association with the first time series data set and the second time series data set.

6. The computer-implemented method of claim 1 , wherein the request to perform the predictive analysis comprises an indication of a first time series data set and first corresponding parameters to utilize to perform the predictive analysis in association with the first time series data set, and an indication of a second time series data set and second corresponding parameters to utilize to perform the predictive analysis in association with the second time series data set.

7. The computer-implemented method of claim 1 , wherein parsing the request identifies a first forecasting algorithm associated with a first time series data set and a second forecasting algorithm associated with a second time series data set.

8. The computer-implemented method of claim 1 , wherein each executable object is a separate and independent instance of a class, and wherein initiating an executable object for each time series data set comprises constructing a different instance of the class for each time series data set.

9. The computer-implemented method of claim 1 , wherein initiating an executable object for each time series data set comprises creating a different instance of a class for each time series data set, and including in each instance of the class a corresponding set of forecasting parameters associated with the corresponding forecasting algorithm associated with the corresponding time series data set; and

wherein each instance of the class is configured to separately and independently execute the predictive analysis for the corresponding time series data set using the forecasting parameters in the instance.

10. The computer-implemented method of claim 1 , wherein each executable object composes a plurality of executable objects, and wherein concurrently executing each executable object comprises executing each of the plurality of executable objects separately and independently from one another.

11. The computer-implemented method of claim 1 , wherein each executable object is configured to perform the predictive analysis for the corresponding time series data set based on a designated forecasting algorithm specified in the received request.

12. The computer-implemented method of claim 1 , wherein each executable object is configured to perform the predictive analysis for the corresponding time series data set by:

accessing the corresponding time series data set; and

applying a forecasting algorithm designated for the corresponding time series data set to generate the one or more expected future values.

13. The computer-implemented method of claim 1 , wherein each executable object is configured to perform the predictive analysis for the corresponding time series data set by:

accessing the corresponding time series data set;

determining that the corresponding time series data set has at least one missing data value;

generating a predicted missing value for each of the at least one missing data values; and

using the time series data set and the predicted missing values for each of the at least one missing data values to determine periodicity associated with the corresponding time series data set.

14. The computer-implemented method of claim 1 , wherein each executable object is configured to perform the predictive analysis for the corresponding time series data set by:

determining that the corresponding time series data set has at least one missing data value;

generating a predicted missing value for each of the at least one missing data values;

using the corresponding time series data set and the predicted missing values for each of the at least one missing data values to determine periodicity associated with the corresponding time series data set; and

using the periodicity to generate a forecasting model used to generate the one or more expected outcomes associated with the corresponding time series data set.

15. The computer-implemented method of claim 1 , wherein the one or more expected future values associated with each of the corresponding time series data sets are concurrently presented as a graphical visualization in connection with the corresponding time series data sets.

16. The computer-implemented method of claim 1 , wherein the one or more expected future values associated with each of the corresponding time series data sets are concurrently presented in a tabular format.

17. One or more non-transitory computer-readable storage media having instructions stored thereon, wherein the instructions, when executed by a computing device, cause the computing device to:

receive a request to perform a predictive analysis in association with multiple time series data sets and a set of forecasting algorithms including a model to forecast values, for the corresponding time series data set, expected to occur in the future, each of the multiple time series data sets and the set of forecasting algorithms identified in the request;

parse the request to identify each of the time series data sets and the set of forecasting algorithms to use in performing the predictive analysis;

for each of a corresponding one of the time series data sets, initiate an executable object configured to perform forecasting of values expected to occur in the future for the corresponding time series data set using a corresponding one of the set of forecasting algorithms in the received request to predict future values based on the corresponding time series data set;

concurrently execute each executable object to generate one or more expected future values associated with the corresponding time series data set, each executable object including a set of parameters to use for forecasting of values expected to occur in the future; and

provide the one or more expected future values associated with each of the corresponding time series data sets for display, wherein the multiple time series data sets and the corresponding expected future values are concurrently displayed.

18. A computing device comprising:

one or more processors; and

a memory coupled with the one or more processors, the memory having instructions stored thereon, wherein the instructions, when executed by the one or more processors, cause the computing device to:

receive a request to perform a predictive analysis in association with multiple time series data sets and a set of forecasting algorithms including a model to forecast values, for the corresponding time series data set, expected to occur in the future, each of the multiple time series data sets and the set of forecasting algorithms identified in the request;

parse the request to identify each of the time series data sets and the set of forecasting algorithms to use in performing the predictive analysis;

for each of a corresponding one of the time series data sets, initiate an executable object configured to perform forecasting of values expected to occur in the future for the corresponding time series data set using a corresponding one of the set of forecasting algorithms in the received request to predict future values based on the corresponding time series data set;

concurrently execute each executable object to generate one or more expected future values associated with the corresponding time series data set, each executable object including a set of parameters to use for forecasting of values expected to occur in the future; and

provide the one or more expected future values associated with each of the corresponding time series data sets for display, wherein the multiple time series data sets and the corresponding expected future values are concurrently displayed.

Assignments (4)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2016
From: SAINANI, MANISH; NGUYEN, NGHI HUU; YANG, ZIDONG
To: SPLUNK INC.
Reel/Frame 038750/0706 →
Continuity (2)
Continuation In Part 15010732 · Jan 29, 2016
Related Publication 20170220938A1 · Aug 3, 2017
Cited By (1)
US 12,229,111