A predictive modeling method may include determining a time interval of time-series data; identifying one or more variables of the data as targets; determining a forecast range and a skip range associated with a prediction problem represented by the data; generating training data and testing data from the time-series data; fitting a predictive model to the training data; and testing the fitted model on the testing data. The forecast range may indicate a duration of a period for which values of the targets are to be predicted. The skip range may indicate a temporal lag between the time period corresponding to the data used to make predictions and the time period corresponding to the predictions. The skip range may separate input data subsets representing model inputs from subsets representing model outputs, and separate test data subsets representing model inputs from subsets representing validation data.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A predictive modeling method comprising: performing a predictive modeling procedure, including: (a) obtaining time-series data including one or more data sets, wherein each data set includes a plurality of observations, wherein each observation includes (1) an indication of a time associated with the observation and (2) respective values of one or more variables; (b) determining a time interval of the time-series data; (c) identifying one or more of the variables as targets, and identifying zero or more other variables as features; (d) determining a forecast range and a skip range associated with a prediction problem represented by the time-series data, wherein the forecast range indicates a duration of a period for which values of the targets are to be predicted, and wherein the skip range indicates a temporal lag between a time associated with an earliest prediction in the forecast range and a time associated with a latest observation upon which predictions in the forecast range are to be based; (e) generating training data from the time-series data, wherein the training data include a first subset of the observations of at least one of the data sets, wherein the first subset of the observations includes training-input and training-output collections of the observations, wherein the times associated with the observations in the training-input and training-output collections correspond, respectively, to a training-input time range and a training-output time range, wherein the skip range separates an end of the training-input time range from a beginning of the training-output time range, and wherein a duration of the training-output time range is at least as long as the forecast range; (f) generating testing data from the time-series data, wherein the testing data include a second subset of the observations of at least one of the data sets, wherein the second subset of the observations includes testing-input and testing-validation collections of the observations, wherein the times associated with the observations in the testing-input and testing-validation collections correspond, respectively, to a testing-input time range and a testing-validation time range, wherein the skip range separates an end of the testing-input time range from a beginning of the testing-validation time range, and wherein a duration of the testing-validation time range is at least as long as the forecast range; (g) fitting a predictive model to the training data; and (h) testing the fitted model on the testing data. 2. The method of claim 1, wherein the time interval of the time-series data is determined based, at least in part, on the times associated with at least a subset of the observations included in at least one of the data sets. 3. The method of claim 2, wherein determining the time interval of the time-series data comprises: for each of the data sets, determining a respective time interval of the data set; and determining that the time intervals of at least two of the data sets are different, wherein the time interval of the time-series data is determined based, at least in part, on (1) respective proportions of the observations included in each of the data sets, and/or (2) the respective time intervals of each of the data sets. 4. The method of claim 3, wherein determining the respective time interval of the data set comprises: determining respective time periods between each pair of successive observations included in the data set; if the time periods between the pairs of successive observations exhibit a plurality of non-uniform durations, the time interval of the data set is determined based, at least in part, on (1) respective proportions of the pairs of successive observations exhibiting each of the non-uniform durations, and/or (2) the durations of the time periods; and if the time periods between the pairs of successive observations are of uniform duration, the time interval of the data set is the duration of each of the time periods. 5. The method of claim 3, wherein the time interval of the time-series data is a shortest time interval that is an integer multiple of the respective time intervals of each of the data sets. 6. The method of claim 5, further comprising: for each data set, if the time interval of the data set is shorter than the time interval of the time-series data, down-sampling the observations of the data set, thereby converting the time interval of the data set to the time interval of the time-series data. 7. The method of claim 6, wherein down-sampling the observations of the data set comprises, for each instance of the time interval of the time-series data in a time period corresponding to the data set: identifying all observations in the data set associated with times corresponding to the respective instance of the time interval of the time-series data; aggregating the identified observations to generate an aggregate observation; and replacing the identified observations in the data set with the aggregate observation. 8. The method of claim 7, wherein aggregating the identified observations comprises setting a value of each variable in the aggregate observation to (1) the corresponding variable value included in an earliest of the identified observations, (2) the corresponding variable value included in a latest of the identified observations, (3) a greatest value of the corresponding variable values included in the identified observations, (4) a least value of the corresponding variable values included in the identified observations, (5) an average of the corresponding variable values included in the identified observations, or (6) a value of a function of the corresponding variable values included in the identified observations. 9. The method of claim 1, wherein at least a group of the observations of the time-series data include respective values of a first variable, and wherein the method further comprises, prior to fitting the predictive model to the training data and testing the fitted model on the testing data: determining that the values of the first variable comprise time values; for each observation in the group, generating a respective value of a second variable, wherein the value of the second variable comprises an offset between the time value of the first variable and a reference time value; and adding the values of the second variable to the respective observations in the group. 10. The method of claim 9, further comprising: removing the values of the first variable from the observations in the group. 11. The method of claim 9, wherein the reference time comprises a date of an event. 12. The method of claim 11, wherein the event comprises a birth, a wedding, a graduation from a school, a commencement of employment for an employer, or a commencement of work in a particular position. 13. The method of claim 1, wherein the forecast range is determined based, at least in part, on (1) a time interval of the time-series data, (2) a number of observations included in the time-series data, (3) a time period corresponding to the time-series data, and/or (4) a natural time period selected from the group consisting of microseconds, milliseconds, seconds, minutes, hours, days, weeks, months, quarters, seasons, years, decades, centuries, and millennia. 14. The method of claim 13, wherein the forecast range is an integer multiple of the time interval of the time-series data. 15. The method of claim 14, wherein a time period between times associated with successive predictions in the forecast range is equal to the time interval of the time-series data. 16. The method of claim 1, wherein the skip range is determined based, at least in part, on latency in collection of the time-series data, latency in communication of the time-series data, latency in analyzing the time-series data, latency in communication of analyses of the time series-data, and/or latency of implementing actions based on the analyses of the time series-data. 17. The method of claim 1, further comprising determining a duration of the training-input time range based, at least in part, on a total number of observations included in the time-series data, an amount of variation in values of at least one of the variables over time, an amount of seasonal variation in values of at least one of the variables, a consistency of variation in values of at least one of the variables over a plurality of time periods, and/or a duration of the forecast range. 18. The method of claim 17, wherein fitting the predictive model to the training data comprises fitting the predictive model to a subset of the training data corresponding to a portion of the training-input time range, wherein the portion of the training-input time range starts at a time subsequent to a starting time of the training-input time range and ends at an ending time of the training-input time range. 19. The method of claim 18, wherein a duration of the portion of the training-input time range is an integer multiple of the duration of the forecast range. 20. The method of claim 1, further comprising: performing cross-validation of the predictive model. 21. The method of claim 20, wherein the training data are first training data, wherein the testing data are first testing data, wherein the fitted model is a first fitted model, and wherein performing the cross-validation of the predictive model comprises: (i) generating second training data and second testing data from the time-series data, wherein the second training data include a third subset of the observations of at least one of the data sets, and wherein the second testing data include a fourth subset of the observations of at least one of the data sets; (j) fitting the predictive model to the second training data to obtain a second fitted model; and (k) testing the second fitted model on the second testing data. 22. The method of claim 21, wherein the first subset of observations corresponds to a sliding training window covering a first range of training times and each observation included in the first subset is associated with a time within the first range of training times, wherein the third subset of observations corresponds to the sliding training window covering a second range of training times and each observation included in the third subset is associated with a time within the second range of training times, and wherein an earliest time in the first range of training times is earlier than an earliest time in the second range of training times. 23. The method of claim 22, wherein the second subset of observations corresponds to a sliding testing window covering a first range of testing times and each observation included in the second subset is associated with a time within the first range of testing times, wherein the fourth subset of observations corresponds to the sliding testing window covering a second range of testing times and each observation included in the fourth subset is associated with a time within the second range of testing times, and wherein an earliest time in the first range of testing times is earlier than an earliest time in the second range of testing times. 24. The method of claim 23, wherein the first testing time range partially overlaps the second training time range. 25. The method of claim 24, wherein the second testing time range does not overlap any portion of the first training time range, and does not overlap any portion of the second training time range. 26. The method of claim 1, further comprising: performing nested cross-validation of the predictive model. 27. The method of claim 26, wherein performing the nested cross-validation of the predictive model comprises: partitioning the time-series data into a first plurality of partitions including at least a first partition of the time-series data and a second partition of the time-series data; and partitioning the first partition of the time-series data into a plurality of partitions of the first partition of the time-series data including at least a first partition of the first partition of the time-series data and a second partition of the first partition of the time-series data, wherein the training data comprise the first partition of the first partition of the time-series data, and wherein the testing data comprise at least a plurality of the partitions of the first partition of the time-series data other than the first partition of the first partition of the time-series data. 28. The method of claim 27, wherein the training data are first training data, the testing data are first testing data, the fitted model is a first fitted model, and performing the nested cross-validation of the predictive model further comprises: (i) generating, from the first partition of the time-series data, second training data and second testing data, wherein the second training data comprise the second partition of the first partition of the time-series data, and wherein the second testing data comprise at least a plurality of the partitions of the first partition of the data set other than the second partition of the first partition of the time-series data; (j) fitting the predictive model to the second training data to obtain a second fitted model; and (k) testing the second fitted model on the second testing data. 29. The method of claim 28, wherein performing the nested cross-validation further comprises: testing the first fitted model and the second fitted model on the second partition of the time-series data; and comparing the first fitted model to the second fitted model based on results of testing the first and second fitted models on the second partition of the time-series data. 30. A predictive modeling apparatus comprising: a memory configured to store a machine-executable module encoding a predictive modeling procedure, wherein the predictive modeling procedure includes a plurality of tasks including at least one pre-processing task and at least one model-fitting task; and at least one processor configured to execute the machine-executable module, wherein executing the machine-executable module causes the apparatus to perform the predictive modeling procedure, including: performing the pre-processing task, including: (a) obtaining time-series data including one or more data sets, wherein each data set includes a plurality of observations, wherein each observation includes (1) an indication of a time associated with the observation and (2) respective values of one or more variables, (b) determining a time interval of the time-series data, and (c) identifying one or more of the variables as targets, and identifying zero or more other variables as features; (d) determining a forecast range and a skip range associated with a prediction problem represented by the time-series data, wherein the forecast range indicates a duration of a period for which values of the targets are to be predicted, and wherein the skip range indicates a temporal lag between a time associated with an earliest prediction in the forecast range and a time associated with a latest observation upon which predictions in the forecast range are to be based; and performing the model-fitting task, including: (e) generating training data from the time-series data, wherein the training data include a first subset of the observations of at least one of the data sets, wherein the first subset of the observations includes training-input and training-output collections of the observations, wherein the times associated with the observations in the training-input and training-output collections correspond, respectively, to a training-input time range and a training-output time range, wherein the skip range separates an end of the training-input time range from a beginning of the training-output time range, and wherein a duration of the training-output time range is at least as long as the forecast range, (f) generating testing data from the time-series data, wherein the testing data include a second subset of the observations of at least one of the data sets, wherein the second subset of the observations includes testing-input and testing-validation collections of the observations, wherein the times associated with the observations in the testing-input and testing-validation collections correspond, respectively, to a testing-input time range and a testing-validation time range, wherein the skip range separates an end of the testing-input time range from a beginning of the testing-validation time range, and wherein a duration of the testing-validation time range is at least as long as the forecast range, (g) fitting a predictive model to the training data, and (h) testing the fitted model on the testing data.