MATLAB: Reuse dimensionality reduction after designing model

classification modelsDeep Learning Toolboxdimensionality reductionprincipal component analysisStatistics and Machine Learning Toolbox

Hi. I'm using a binary classification with SVM and MLP for financial data. My input data has 21 features so I used dimensionally reduction methods for reducing the dimension of data. Some dimensionally reduction methods like stepwise regression report best features so I will used these features for my classification mode and another methods like PCA transform data to a new space and I use for instance 60% of best reported columns (features). The critical problem is in the phase of using final model. For example I used the financial data of past year and two years ago for today financial position. So now I want use past and today data to prediction next year. My question is here: Should I use PCA for new input data before inserting to my designed classification model? How can I use (For example Principal component analysis) for this data? I must use it like before? (pca(newdata…)) or there is some results from last PCA that I must use in this phase?
Thank you so much for your kind helps.

Best Answer

PCA does not take into account the output variance. Therefore, it is suboptimal for classification.
Use PLS instead.
Whatever transformations are made to training data must also be used in validation, test and operational data using the EXACT SAME transformation formed from training data characteristics.
Hope this helps.
Thank you for formally accepting my answer
Greg