Clear Filters
Clear Filters

Scatter plot and curve fitting?

10 views (last 30 days)
abdur rauf
abdur rauf on 15 Jan 2019
Commented: Rik on 17 May 2019
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 Comments
Rik
Rik on 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
Rik on 17 May 2019
Comment mistakenly posted as answer by Wen Wen:
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.

Sign in to comment.

Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!