分位数回归虚拟变量

时间:2014-10-28 15:19:13

标签: r quantile quantreg

我使用R中的quantreg包计算分位数回归模型。在模型中,因变量(Y)为NAS_DELAY,自变量(Xs)为SEANSON1TO4SEANSON2TO4SEANSON3TO4。 该模型是:

NAS_DELAY=aSEANSON1TO4+bSEANSON2TO4+cSEANSON3TO4+d

SEANSON1TO4SEANSON2TO4SEANSON3TO4是虚拟变量,0或1.我使用R来计算截距和其他回归系数,但结果显示

  

“rq.fit.br中的错误(x,y,tau = tau,....)奇异设计矩阵;另外:警告消息1:在summary.rq(xi,....):278951非正面的fis“。

我无法弄清楚原因。

"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

我做错了什么?

2 个答案:

答案 0 :(得分:0)

由于数据集中构造的因子,矩阵组成是单数。

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

如果您有足够的数据/对您的数据有意义,那么thread指向一些可能的解决方案(如果适用于您的数据)。

答案 1 :(得分: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之前转换为虚拟变量可能会出现问题。