【问题标题】:Panel Lasso Estimation in RR中的面板套索估计
【发布时间】:2019-09-20 01:14:02
【问题描述】:

我的数据集中有很多连续的自变量和一个因变量,这些变量是关于给定年份的个人的。我想使用逻辑随机效应套索/逻辑固定效应套索执行特征选择。但是,我的估计过程的glmnet 的默认设置是我使用横截面数据,而我希望R 将我的数据视为面板数据,因此它在我想要一个逻辑随机效应的同时模拟一个逻辑套索Lasso/Logistic 固定效应 Lasso 模型。

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

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")
                        1
(Intercept) -8.309211e+01
ID           1.281220e+01
year         .           
            -2.339904e-04
             .           
             .           

【问题讨论】:

    标签: r panel lasso-regression


    【解决方案1】:

    对于套索+FE,您可以首先按照给出的逻辑贬低回归的双方,例如here,然后通过 glmnet 运行 lasso。

    套索+随机效果在数学上有点more complicated beast,glmnet 不支持开箱即用。有一个用于做混合模型套索的包here,但我还没有尝试过。

    【讨论】:

    • 这似乎是合理的。对于 FE,我需要贬低每个人。但是,在贬低每个人之后,我是否需要像在套索之前所做的那样,将得到的自变量作为一个整体标准化(居中并除以标准差)?
    • 我会先贬低然后标准化,因为如果你先标准化然后贬低,进入套索的东西将不再是均值零和 1-std。不过,这可能是一个品味问题。
    • 是的,我也是这么想的。
    • 另一个问题:在转换 y 变量(二进制)时,转换后的变量 (y_it-y_mean_i) 可以有五个值:-0.67、-0.33、0、0.33 或 0.67。因此,二项式逻辑模型必须是多项式模型。这是真的?此外,模型系数的解释变得非常奇怪,因为 y 值现在是与个体平均值的偏差。
    • 我错过了你的结果变量是二元的,抱歉!您可以尝试估计一个线性概率模型 (en.wikipedia.org/wiki/Linear_probability_model),它很可能会很好地逼近逻辑回归
    猜你喜欢
    • 2018-08-18
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 2023-02-08
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多