How does REGSTATS compute mse?

12 views (last 30 days)
Jay Ghosh
Jay Ghosh on 8 May 2014
Edited: dpb on 8 May 2014
I have a very simple and seemingly silly question, but I can't figure it out. I am trying to understand why MATLAB returns a mean square error (mse) value of Inf for a perfect regression fit. Shouldn't MSE for a perfect fit be zero?
For example if I have x = [1, 3, 5] and say y = exp(x) = [2.7183 20.0855 148.4312].
Now, just for the sake of it if I do a regression using regstat as: stats = regstat(y,x,'quadratic'), it gives a perfect fit to the function (as expected, since there are 3 points) and stats.yhat are the same values as y.
stats.rsquare = 1 , which makes sense... but stats.mse = Inf. Why so ? According to the traditional formula shouldn't mse be equal to zero, since it is a perfect fit?
Any clarifications will be appreciated. Thanks!

Answers (1)

dpb
dpb on 8 May 2014
Edited: dpb on 8 May 2014
DOF = 0 so the denominator is zero--> inf for the mse.
Try with
x = [1:2:N];
y = x.^2;
instead, for example, for N=[5 7] to illustrate.

Community Treasure Hunt

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

Start Hunting!