Scatter plot and curve fitting?
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello every one,
I have two set of vectors
X=[2,3,2,2,1,4,1,1,1,1,2,4,3,4,3,3,2,2,3,2,3,1];
Y=[9.14,38.66,0.72,0.79,1.96,0.68,7.58,0.83,2.37,3.44,2.17,1.6,21.98,5.19,0.71,25.35,17.65,7.78,14.38,4.77,2.5,29.26];
To find the correlation between X and Y, we have used Spearman rank correlation coefficient
[RHO]=corr(X.',Y.','type','spearman');
For fitting line to the data points, we have used polynomial of degree 1,
p=polyfit(X,Y,1);%This will generate the coefficients of polynomial of degree(1)
y=polyval(p,X);% This will give the fitted values for the desired values.
scatter(X,Y,'*');% This will create a scatter plot
hold on;
plot(X,y,'k-');% This will plot regression line.
The Spearman rank correlation coefficient has negative value, but the regression line seems to represent positive correlation between X and Y. Any help regarding this issue will be highly appreciated.
Thanks
4 commentaires
Rik
le 15 Jan 2019
They are both fairly close to 0. It wouldn't surprise me if there is a lot of overlap between the two confidence intervals.
Rik
le 17 Mai 2019
I had similar problem. I guess it's because the spearman corrlation which transformed the orignial data into ranks while the polyfit function finds the best linear fit based the original data. If this assumption is correct, my question would be how could we plot the fitting line for spearman correlation in matlab.
Réponses (0)
Voir également
Catégories
En savoir plus sur Linear and Nonlinear Regression dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!