I have a random data that I would like to predict how much a quantity will be in 2020. The data looks like this:

 year        components           total_components
 2019        [Pen, Pencil, Books       4
 2018        [Pen, Pencil, Books       5
             Paper, Eraser] 
 2017        [Pen, Pencil, Books       6
             Paper, Eraser, Napkin] 
 2016        [Pen, Pencil, Books       7
             Paper, Eraser, Napkin, 

In my head, I thought of time series forecasting or RNNs but the data is a bit strange to apply the techniques.

Which ML technique would you suggest here? Thanks :-)


I'm not sure machine learning is the right method to count the number of arguments in a list. You can just write a function that does that and it's all you need...

Now if you want to predict the number of total components, assuming it holds some kind of temporal relation, there are a few techniques possible. But remember: Garbage in, Garbage out...

The easiest is to build a regression model by using past numbers as features, this gives an equation like this:

$$Y_t = a_1 \times Y_{t-1} + a_2 \times Y_{t-2} + ... + b$$

Next you can look at time series (ARIMA, SARIMA), which are a bit more advanced: additional to the time steps, they can take moving average and seasonal components into account.

And finally, you can also look at neural networks. If you have enough, and more importantly meaningful data, you can look at multilayer perceptron with a time window, 1d-convolutions and RNN/LSTM... Plenty resources exist if you want to go with this.


Not the answer you're looking for? Browse other questions tagged or ask your own question.