警告 "X在机器精度范围内存在等级不足 "的问题。

问题描述 投票:0回答:1

我试图在MATLAB中建立一个有20个预测因子的多元线性回归,这些预测因子是分类的,每个因子有4个层次。我正在使用函数 "regress",像这样(这些不是实际的变量)。

X = [ ones(size(x1)) x1 x2 x3... x20]; [b,bint,r,rint] = regress(Y, X);

在这之前,我将分类变量中的向量x1,x2...x20用dummyvar转换。

我得到了这个错误,在b系数和这个错误中得到了很多0。

警告: X在机器精度范围内存在等级缺陷。

在dummyvar文档中提到。要想在回归模型中使用虚拟变量 你必须删除一列(创建一个参考组)或者拟合一个没有截距项的回归模型。

我试过不使用截距项(size(x1)),但得到的是同样的错误。

我将感谢任何关于如何解决这个问题的意见。

matlab regression linear-regression rank
1个回答
0
投票

尽量把问题简化到最小的工作实例,然后把它贴在这里,这样我们就可以重现它,帮助你完成。请看 https:/en.wikipedia.orgwikiRank_(linear_algebra)阶级缺失的例子。

© www.soinside.com 2019 - 2024. All rights reserved.