estimate and SE in a linear regression becomes 0
2 次查看(过去 30 天)
显示 更早的评论
...and tStat and pValue becomes NaN. What is the typical reason for that? It is a dummy (either 0 or 1) by the way.
I get the error message below after fitting the linear model (first line):
mdl = LinearModel.fit(ds,'linear','RobustOpts','on');
Warning: Regression design matrix is rank
deficient to within machine precision.
> In TermsRegression>TermsRegression.checkDesignRank at 98
In LinearModel.LinearModel>LinearModel.fit at 969
What is the typical reason for that?
It is a dummy (either 0 or 1) by the way.
0 个评论
采纳的回答
Shashank Prasanna
2013-8-8
It means exactly what the error message is saying. Your data is rank deficient.
As a caution, when you use datasets as the input to your LinearModel.fit function it assumes that the very last column is the response variable 'y'. If this assumption is untrue in your case you will have to change it by specifying it explicitly using 'ResponseVar'.
Here is an example that yields the same error message you are getting and you can see from the data how it is bad:
mdl = LinearModel.fit(repmat(randn(1,4),10,1),ones(10,1),'linear','RobustOpts','on');
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!