I am looking for machine learning algorithms that can be used with panel data, and that are available in Python. Scikit does seem to contain anything relevant for panel data.


If you are considering to apply machine learning to temporal (i.e. panel data) then I recommend to use a recurrent neural network (RNN) for the tasks at hand.

Python offers several excellent neural networks libraries, such as Caffe, Brainstorm and Theano.

Note that when applying neural networks it is of importance that you have sufficient data available. If this is not the case then I do not recommend machine learning techniques, but in stead would recommend ARMA based models

  • 1
    $\begingroup$ Hi, thanks for your answer. Do you have a specific algorithm in mind? How can RNN take into account the time dimension of the data? $\endgroup$ – ℕʘʘḆḽḘ Nov 9 '15 at 11:19
  • 2
    $\begingroup$ The recurrent neural network (or variations such as LSTM) is the algorithm that I have in mind. Perhaps you want to read up on neural networks and the application of recurrent neural networks to temporal data. cs.toronto.edu/%7Egraves/phd.pdf provides an excellent intro for recurrent neural networks, provided that you have some basic knowledge in the field. $\endgroup$ – Sjoerd Nov 9 '15 at 11:29

If you define panel data as 'grouped' data where the intra-group observations are correlated, see sklearn leave P groups out. See my answer here.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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