How to use Grey Correlation analysis to obtain correlation coefficient?

2 views (last 30 days)
Hi everyone.
I have a data matrix with ten columns that I want to find the correlation coefficient of each column of this matrix with the target vector with Grey Correlation Analysis method. Can anyone explain the steps of this algorithm. Please help me. I need your help.

Answers (1)

Image Analyst
Image Analyst on 22 Aug 2021
Do you mean like this:
% Get data.
data = rand(10, 10); % 10 columns of data
[rows, columns] = size(data)
targetVector = rand(rows, 1);
% Get correlation coefficients
correlationCoefficients = zeros(1, columns);
for col = 1 : columns
correlationCoefficientMatrix = corrcoef(data(:, col), targetVector);
correlationCoefficients(col) = correlationCoefficientMatrix(1, 2)
end
  3 Comments
Image Analyst
Image Analyst on 23 Aug 2021
I think you can figure this out.
For Step 1 you can use rescale().
For step 2 just use division, subtraction, and multiplication along with min(abs(lambda0-lambdaz)).
For step 3 use the sum() function and division.
I'm not sure what equation (4) is used for. It seems deltaoz is not used anywhere, unless you want to replace the expression in equations (5) and (6) with it.
Nazila Pourhajy
Nazila Pourhajy on 23 Aug 2021
My problem is that the correlation coefficient obtained with GCA with coefficients obtained with Copula is not the same in Matlab. I thought that the GCA steps might be wrong.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!