6

我使用quantregR 中的包来计算分位数回归模型。在模型中,因变量(Y) 为NAS_DELAY,自变量(Xs) 为SEANSON1TO4, SEANSON2TO4, SEANSON3TO4
型号为:

NAS_DELAY=aSEANSON1TO4+bSEANSON2TO4+cSEANSON3TO4+d

, SEANSON1TO4,是虚拟变量SEANSON2TO4SEANSON3TO40 或 1。我使用 R 计算截距和其他回归系数,但结果表明

“rq.fit.br(x,y,tau=tau,....) 奇异设计矩阵中的错误;此外:警告消息 1:in summary.rq(xi,....):278951 non-positivr菲”。

我不知道为什么。

"fit2<-summary(rq(NAS_DELAY ~SEASON1TO4+SEASON2TO4+SEASON3TO4,tau=c(0.1,0.2,0.3,0.4,0.5),data=fddata))
Error in base::backsolve(r, x, k = k, upper.tri = upper.tri, transpose = transpose,  :   singular matrix in 'backsolve'. First zero in diagonal [1]"
In addition: Warning messages:
1: In rq.fit.br(x, y, tau = tau, ...) : Solution may be nonunique
2: In rq.fit.br(x, y, tau = tau, ...) : Solution may be nonunique
3: In rq.fit.br(x, y, tau = tau, ...) : Solution may be nonunique
4: In rq.fit.br(x, y, tau = tau, ...) : Solution may be nonunique
5: In rq.fit.br(x, y, tau = tau, ...) : Solution may be nonunique
6: In summary.rq(xi, ...) : 188771 non-positive fis

我究竟做错了什么?

4

2 回答 2

0

由于数据集中的构造因素,矩阵组成是奇异的。

参见奇点的解释:这里这里这里。本质上 quantreg 依赖于反转数据矩阵,并且由于因子的形式,矩阵是不可逆的。

如果您有足够的数据/如果它对您的数据有意义,则此线程会指出一些可能的解决方案(如果适合您的数据)。

于 2015-05-07T01:05:46.163 回答
0

我只有部分相同的问题,但这可能仍然对某人有所帮助。我试过了:

myFactor <- as.factor(myData$myVariable)
myDummies = model.matrix(~myFactor)
summary.rq(q <- rq(myTarget ~ myOtherPredictor1+myOtherPredictor2+myDummies))

这导致 Error in rq.fit.br(x, y, tau = tau, ...) : Singular design matrix

然而,执行
summary.rq(q <- rq(myTarget ~ myOtherPredictor1+myOtherPredictor2+myFactor))

没有产生错误。当还有其他预测变量时,在调用 rq 之前转换为假人可能会出现问题。

于 2019-02-20T09:58:51.107 回答