R中的面板套索估计

R中的面板套索估计,r,panel,lasso-regression,R,Panel,Lasso Regression,在我的数据集中,我有很多连续的自变量和一个因变量。我想使用逻辑随机效果套索/逻辑固定效果套索进行特征选择。然而,glmnet对于我的评估程序的默认设置是,我使用横截面数据,而我希望R将我的数据视为面板数据,因此它对逻辑套索建模,而我希望逻辑随机效应套索/逻辑固定效应套索模型 因此,在下面的示例代码中,我想让R知道我正在使用一个面板数据集,ID是我的个人/横截面单位,year是我对每个ID进行观察的年份。在下面的代码中,所有个体都被汇集在一起,我甚至在这个逻辑套索估计中得到了ID(和year)的系

在我的数据集中,我有很多连续的自变量和一个因变量。我想使用逻辑随机效果套索/逻辑固定效果套索进行特征选择。然而,
glmnet
对于我的评估程序的默认设置是,我使用横截面数据,而我希望
R
将我的数据视为面板数据,因此它对逻辑套索建模,而我希望逻辑随机效应套索/逻辑固定效应套索模型

因此,在下面的示例代码中,我想让
R
知道我正在使用一个面板数据集,
ID
是我的个人/横截面单位,
year
是我对每个
ID
进行观察的年份。在下面的代码中,所有个体都被汇集在一起,我甚至在这个逻辑套索估计中得到了
ID
(和
year
)的系数。如何估计
R
中的逻辑随机效应套索/逻辑固定效应套索模型

df=cbind(c(1,546,2,56,6,73,4234,436,647,567,87,2,5,76,5,456,6756,6,132,78,32),c(2,3546,26,568,76,873,234,36,67,57,887,29,50,736,51,56,676,62,32,782,322),10:30)
year=rep(1:3, times=7)
ID=rep(1:7, each=3)
x=as.matrix(cbind(ID,year,df))
y1=as.data.frame(rep(c(0,1), each = 18))[1:21,]
y=as.matrix(y1)

fit=glmnet(x,y,alpha=1,family="binomial")
lambdamin=min(fit$lambda)
predict.glmnet(fit,s=lambdamin,newx=x,type="coefficients")

对于lasso+FE,您可以首先按照给定的逻辑降低回归的两侧,例如,然后通过glmnet运行lasso


套索+随机效果在数学上有点复杂,glmnet不支持它。有一个制作混合套索的软件包,但我还没有试过。

这似乎是合理的。对于FE,我需要贬低每个人。但我是否需要像套索之前那样贬低每个人后,将结果自变量作为一个整体进行标准化(居中并除以标准差)?我会先贬低然后标准化,因为如果你先标准化然后贬低,进入套索的东西将不再是零均值和1-std。这可能是口味的问题。是的,这也是我所想的。另一个问题:当你在转换y变量(二进制)时,转换变量(y_it-y_mean_I)可以有五个值:-0.67、-0.33、0、0.33或0.67。因此,二项逻辑模型必须是多项式模型。这是真的吗?此外,模型系数的解释变得非常奇怪,因为y值现在与个体平均值存在偏差。我没有注意到您的结果变量是二进制的,抱歉!您可以尝试估计一个线性概率模型(),它很可能非常接近逻辑回归
                        1
(Intercept) -8.309211e+01
ID           1.281220e+01
year         .           
            -2.339904e-04
             .           
             .