Is train_test_split(shuffle=False) appropriate for time series?
Here's a simple explanation of why it's not a good idea to shuffle data when working with time series:
Imagine that you have a bunch of data points that represent things that happened over time. Each data point has a time stamp, like a date, that tells you when it happened.
Now, imagine that you mix up all of the data points and put them in a different order. This is like shuffling a deck of cards. It might seem like a good idea because it helps you check if your model is working well, but it's actually not a good idea because the order of the data points is important.
The data points are like a story, and the order they happened in is important to understanding the story. If you shuffle the data points, it's like telling the story out of order, and it doesn't make sense anymore. It's hard for your model to learn from the data if the data doesn't make sense.
So, when you're working with time series data, it's important to keep the data points in the order that they happened. This way, your model can learn from the data and make good predictions.
Is the sklearn.model_selection.train_test_split(shuffle=False) method appropriate for times series forocast? Or one should never use this method to perform the train and test set split when dealing with time series?
Many people argue that train_test_split should not be used because it does the split randomly, which leads to data leakeage. However, if the setting of shuffle=False is precisely to define that there should be no data leak between the training and test sets, why not use train_test_split(shuffle=False) for time series?
I know about the TimeSeriesSplit, but I would like to understand, still, if it is correct to use train_test_split(shuffle=False) for time series.