我想对以下高维代码(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()向响应中添加一些噪音,但这并不能解决问题。有想法吗?
答案 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
对于预测等,这应该可以。对于基于系数等的推论,您可能需要多加考虑