I am training an SVM model to predict the trend of stock prices (one-day ahead predictions. Classification task). It Had completely slipped from my mind that SVMs assume IID data until I had a conversation with a friend.

This made me rethink about my approach and I have a few questions.

  1. Why does SVM assume IID data in the first place?

  2. By IID, does it mean that all the features should be linearly uncorrelated or should there not be any non-linear relationships as well?

The features include basic stock data (Open, High, Low, Close, Volume) and technical indicators (derived from basic data). Of course, the technical indicators will have dependencies with basic data. So I removed the basic data from the feature space. However, this does mean that the technical indicators are not related. Also,

  1. How does one make sure that the data is identically distributed? Does scaling (Normalization or Standardization) help in this case?

Lastly, I have read some papers wherein people have used NN and SVM (both assume IID data) for stock trend prediction, but nowhere did I see any mention of the IID assumption and the fact that stock data is actually not uncorrelated and to some extent exhibits some autocorrelation as well. So,

  1. How does one justify the use of non IID data as input to such algorithms which assume that the data is IID?

Thank you :)


1 Answer 1


The assumption regarding IID variables is to ensure a unique solution. By IID, it means they should be uncorrelated. You can't make sure data is identically distributed. Scaling and standardization are the obvious for you to find the solution. One justifies the use by getting satisfied by the solution found by the SVM algorithm (which is just one of the solution it has found).

But, you can the parameters for SVM and use a different kernel altogether. Remove redundant features yourself.

Or if you are looking at stock price prediction, look at Jane Market Street Prediction on Kaggle. I have seen heavy use of trees, mixture models and NNs.


Your Answer

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

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