在回归中避免奇异矩阵

时间:2020-05-03 10:59:39

标签: r statistics regression

我想对以下高维代码(n = 123,p = 945)进行分位数回归。但是我收到一个错误消息,说设计矩阵是奇异的,无法计算。下面是我如何使用PRIMsrc软件包提取数据的方法。

library(PRIMsrc)
data(Real.2)
df<-Real.2
y<-df$y
X<-data.matrix(df[2:946])
library(quantreg)
rq1 = rq(y ~X,tau=1)

这似乎是数据本身的问题,因此我尝试在基本包中使用jitter()向响应中添加一些噪音,但这并不能解决问题。有想法吗?

1 个答案:

答案 0 :(得分:1)

您的变量太多,以至于观察值太少。对它们全部进行估计是不可能的。对于您的情况,我建议您尝试套索:

library(PRIMsrc)
data(Real.2)
df<-Real.2
y<-df$y
X<-data.matrix(df[2:946])
library(quantreg)
rq1 = rq.fit.lasso(y=y,x=X,tau=0.5)

系数可以在下面找到:

rq1$coefficients

对于预测等,这应该可以。对于基于系数等的推论,您可能需要多加考虑