I have a collection of univariate, irregularly spaced, financial time series. Each series is labeled by its class. The image below shows some example data.

Historical Data

A note on the data:

  1. The time series could be made evenly spaced by filling in missing values with 0. Based on the data generating process, zeros would make much more physical sense than values obtained via interpolation. I think that this is the most unique and important fact about my data.
  2. The stationarity of the time series cannot be guaranteed.
  3. Other properties of the time series cannot be guaranteed. For example, the time series may have steps and pulses or outliers.
  4. I don't believe that my data satisfy the Markov Property because low current values would not necessarily lead me to predict low values in the future. I would need to consider the historical context.
  5. The time series don't exist in their own worlds. Information from one time series will very likely provide information about another.
  6. Value is in currency and may be treated as a continuous variable.
  7. The data will come from users of software that is still in development. Right now, I am testing the waters with personal financial data.

The Task:
I will receive new, unlabeled data that will almost always be at future time points. For example, the new data might look like this:

|        Date         | Value |
| 2019-08-09T03:34:12 | 15.75 |
| 2019-08-05T16:22:24 | 4.72  |
| 2019-08-18T19:58:54 | 28.19 |
| 2019-08-14T04:03:47 | 16.44 |

What is an example of a way my new data can be classified (with accompanying class probabilities)?

My new data can be from any of the classes. For example, the 3rd row above could be from class W while the rest of the rows could be from class F. (But, because the new data is unlabeled, I will not know which class each row is from.) For each row of my new data and for each class, I would like to get the subjective probability that the given row came from that class.

My Thoughts:

I know that time series classification is a thing, but I'm not sure how or even if it could be used with my data. From what I have read, it sounds like time series classification works by matching up the series on a common time axis. I don't think this will work for me because my new unlabeled data comes from the future. Also, my new data cannot be assumed to be from the same class. I think that what I need to do (but am unsure how) is to make probabilistic forecasts for each time series. Then, I will be able to use these forecasts to do probabilistic classification of my new data.

Acceptable Solutions:

If your solution uses a model based upon assumptions that may not be met by my data, then that is acceptable. I can worry about choosing an optimal model later. I just need a general idea of how this may be done with formulas. Keywords of what to Google or examples of people doing similar classifications are also welcome.

  • $\begingroup$ It seems that each class here is its own time-series/sequence. So for new datapoints, you wish to assign which sequence it most likely belongs to? If you were to do this with human intelligence, how would you do it? Can you describe the reasoning or aspects that make a point more likely to belong to a particular sequence? $\endgroup$
    – Jon Nordby
    Mar 2, 2022 at 20:18
  • $\begingroup$ Btw, your data would be a bit easier to understand from the plot if there were markers at each datapoint (especially the irregularity/sparsity concept). $\endgroup$
    – Jon Nordby
    Mar 2, 2022 at 20:21
  • 1
    $\begingroup$ One approach would be to make one probabilistic model existing time series (per "class"). Could be ARIMA, VAR, Gaussian Process etc., Then score new points under each model, and assign the one which it is considered most likely $\endgroup$
    – Jon Nordby
    Mar 2, 2022 at 20:24
  • $\begingroup$ @JonNordby Yes, each class here is its own time-series/sequence. Yes, for new data points, I wish to assign which sequence it most likely belongs to. If I were to do this using human intelligence, I would eyeball the mean value for each class and the frequency at which values are being reported and make a prediction from there. $\endgroup$ Mar 3, 2022 at 4:00
  • 1
    $\begingroup$ A probabilistic model will always be able to compute the probability of a given datapoint. Basically you just try each new datapoint with each model, and then assign the datapoint to the model which gave the highest probability. If only one model gave high probability, then the confidence is high. If several models give very similar probabilities, then confidence in the assignment is low $\endgroup$
    – Jon Nordby
    Mar 3, 2022 at 15:00


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.