Using Cross-Correlation for variable selection from a time series database
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi all, I would like to use cross correlation function to a large time series database (e.g 50 different predictor variables) and then perform a variable section,feature selection. So from the large database create a new smaller one(e.g 10 variables). The new subset will contain the most explanatory variables which will have the highest correlation with the independent variable so I can build robust non linear model. I will really appreciate if someone can give me an insight how I will build this model? Any other ideas or an existing code on how to create this subset are welcome!
Thanks
0 comentarios
Respuestas (1)
nick
el 14 de Abr. de 2025
Hello Karamos,
To perform feature selection, you can use the 'xcorr' function to calculate the cross-correlation for each predictor variable with the independent variable as shown:
numPredictors = size(X, 2);
correlations = zeros(numPredictors, 1);
for i = 1:numPredictors
[c, lags] = xcorr(X(:, i), Y, 'coeff');
correlations(i) = max(abs(c));
end
You can then select the number of top features based on the highest correlation values:
numTopFeatures = 10; % Number of features to select
[~, sortedIndices] = sort(correlations, 'descend');
topFeatureIndices = sortedIndices(1:numTopFeatures);
Kindly refer to the documentation by executing the following command in MATLAB command Window to learn more about 'xcorr' function :
doc xcorr
0 comentarios
Ver también
Categorías
Más información sobre Database Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!