estimate and SE in a linear regression becomes 0

조회 수: 14 (최근 30일)
T27667
T27667 2013년 8월 8일
...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.

채택된 답변

Shashank Prasanna
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');
  댓글 수: 3
T27667
T27667 2013년 8월 14일
편집: T27667 2013년 8월 14일
Or would it be more correct to eliminate the explanatory variable with the highest p value and thereby leaving the variable with estimate and SE = 0 in the model? I assume the varible that gets estimate and SE = 0 is just randomly chosen by MATLAB.
T27667
T27667 2013년 8월 14일
Ohh had one dummy to many. Sorry!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear and Nonlinear Regression에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by