您好我正在尝试使用套索方法执行变量选择,但我的模型包含随机效果。
我使用glmnet中的cv.glmnet和optL1函数运行模型而没有随机效应并且处罚(并得到结果);然而,当我尝试使用glmmLasso以随机效果运行模型时,我获得了大部分输出的NAs。
以下是我的数据的示例。我已经标准化了所有预测变量(x1-x5)。随机因素是图(每个图有两个观察值)
head(data)
Plot y x1 x2 x3 x4 x5
[1,] 1 33.38637 -0.3778876 -0.6493490 -1.9874184 0.13397776 -0.70846326
[2,] 4 26.75993 -1.9377779 -0.6932049 0.6747408 1.28276574 0.04818805
[3,] 5 29.25769 -0.1512598 0.7053084 1.0550493 -0.66133701 -0.72988495
[4,] 6 26.47273 -0.3711473 1.5288232 0.2944324 -0.83807362 -0.58073941
[5,] 6 24.32503 -0.9079206 -1.0732886 0.6747408 0.04560945 2.48661737
[6,] 7 32.93299 -0.7321292 0.1546743 -0.0858761 -0.13112716 -0.50712361
这是我跑的模型:
mod<-glmmLasso(y~x1+x2+x3+x4+x5, rnd=list(Plot=~1), data=data,lambda=10)
输出:
summary(x)
Call:
glmmLasso(fix = y~ x1+x2+X3+X4+x5, rnd = list(Plot = ~1), data = data, lambda = 10)
Fixed Effects:
Coefficients:
Estimate StdErr z.value p.value
(Intercept) 53.4562879 NA NA NA
x1 -32.2591971 NA NA NA
x2 -0.7791392 NA NA NA
x3 -0.0023207 NA NA NA
x4 -0.0148370 NA NA NA
x5 -0.1593585 NA NA NA
Random Effects:
StdDev:
Plot
Plot 3.294686
我原本认为由于基于此的预测变量之间的相关性而无法正常工作:Getting p-values for all included parameters using glmmLasso
但是在考虑相关性时,没有什么是太高了。我甚至尝试删除x2,因为它具有最高的相关性,但我仍然在模型输出中有NA。
x1 x2 x3 x4 x5
x1 1.00000000 0.1632633 -0.08125663 -0.15017421 0.11155284
x2 0.16326326 1.0000000 -0.31222700 0.30135509 0.14519762
x3 -0.08125663 -0.3122270 1.00000000 -0.09517447 -0.05023544
x4 -0.15017421 0.3013551 -0.09517447 1.00000000 0.19224986
x5 0.11155284 0.1451976 -0.05023544 0.19224986 1.00000000
我想知道为什么我要获得NAs。是因为我的样本量(每个随机效应分组只有2个观察结果,或者只有31个观察结果?)任何想法都会受到赞赏。谢谢!
答案 0 :(得分:0)
在您的glmmLasso()
通话中设置countdown
。
这将执行费舍尔得分的最终重新估计。