![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/188448/image.jpeg)
How to get R^2 of a 5th order polyfit?
37 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I need to find how poorly the 5th order fit is for:
[p,S] = polyfit(x,y0,5);
yp = polyval(p,x);
An R^2 would be perfect, but I can not understand the answers I'm finding. I don't think I want correlations.
R^2.
Thanks!
0 comentarios
Respuestas (1)
John D'Errico
el 13 de Mayo de 2018
Editada: John D'Errico
el 13 de Mayo de 2018
polyfit does not return an R^2. A good idea, because IMHO, R^2 is of little value in determining if the fit is good. Does the fit look good? If not, then who cares what R^2 tells you? And if the fit looks like crap, then again, do you need R^2? Reliance on a single number is a bad idea. But people demand it.
x = linspace(0,1,50);
y = exp(x) + randn(size(x))/100;
P5 = polyfitn(x,y,5)
P5 =
struct with fields:
ModelTerms: [6×1 double]
Coefficients: [-0.34052 0.37377 0.44485 0.11449 1.1189 0.99134]
ParameterVar: [1.223 7.7232 6.3053 0.95902 0.023737 5.4246e-05]
ParameterStd: [1.1059 2.7791 2.511 0.97929 0.15407 0.0073652]
DoF: 44
p: [0.7596 0.89362 0.8602 0.90746 4.7259e-09 3.4139e-59]
R2: 0.99963
AdjustedR2: 0.99959
RMSE: 0.0096032
VarNames: {'X1'}
P5.R2
ans =
0.99963
plot(x,y,'ro',x,polyvaln(P5,x),'b-')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/188448/image.jpeg)
If you have the curve fitting toolbox, this would have worked as well:
[mdl,stuff] = fit(x',y','poly5')
mdl =
Linear model Poly5:
mdl(x) = p1*x^5 + p2*x^4 + p3*x^3 + p4*x^2 + p5*x + p6
Coefficients (with 95% confidence bounds):
p1 = -0.3405 (-2.569, 1.888)
p2 = 0.3738 (-5.227, 5.975)
p3 = 0.4448 (-4.616, 5.506)
p4 = 0.1145 (-1.859, 2.088)
p5 = 1.119 (0.8084, 1.429)
p6 = 0.9913 (0.9765, 1.006)
stuff =
struct with fields:
sse: 0.0046111
rsquare: 0.99963
dfe: 44
adjrsquare: 0.99959
rmse: 0.010237
Finally, with a little more effort, you could have used the stats toolbox. You would need to do a bit more to use regress and regstats however. But you would get more complete information about the model then too.
Ver también
Categorías
Más información sobre Linear and Nonlinear Regression 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!