I'm using a LSTM model to forecast time series data. My dataset has far too many variables and I would like to perform dimensionality reduction. My LSTM model works on a rolling window of 500. I perform SVD on each day's rolling window of the past 500 days and obtain a matrix with the top 20 features, or a dataset with 20 columns. The data for each day is then fed into the LSTM model. But I know that the SVD process does not ensure that each day's feature selection will be the same, since it sorts the eigenvalues by descending order. As a result, there are jumps in the data, for each day, since each column is possibly different. What would be a good way to reduce dimensionality for my dataset? Would appreciate any help on this, thank you.