比较R中用于面板数据的分位数回归程序(即lqmm()和rqpd())

时间:2013-03-16 09:45:16

标签: r panel quantile

对于具有固定效应的给定面板数据分位数回归问题(参见下文),是否可以使lqmm()输出与rqpd()的输出完全匹配(或至少非常接近)?

请参阅下面的示例以及随后的结论/评论。我的结论是对的吗?

library(lqmm)
library(rqpd)

set.seed(10)
     m <- 3
     n <- 10
     s <- as.factor(rep(1:n,rep(m,n)))
     x <- exp(rnorm(n*m))
     u <- x*rnorm(m*n) + (1-x)*rf(m*n,3,3)
     a <- rep(rnorm(n),rep(m,n))
     y <- rep(1:n,rep(m,n)) + u 
 #    fit <- rqpd(y ~ x | s, panel(lambda = 5))

data1<-data.frame(y,x,s)
fit.lqmm<- lqmm(fixed=y~x ,  random=~1, group=s, iota=.5,nK=2000, type="normal", rule=1, covariance="pdIdent", data=data1)
coef(fit.lqmm)
ss1<-raneff.lqmm(fit.lqmm)

sig2<-cov.lqmm(fit.lqmm)
sig2


fit.rqpd <- rqpd(y ~ x | s, panel(lambda = 1/2*1/sig2,taus=.5, method="pfe", tauw=1))
coef(fit.rqpd)

# comparing estimated fixed effects
ss2<-coef(fit.rqpd)[3:length(coef(fit.rqpd))]
plot(as.matrix(ss1),as.numeric(ss2))

结论/评论

  1. 我们希望对于特定的lambda选择,rqpd()应与lqmm()紧密匹配。我想它应该是lambda=1/(2 cov.lqmm)时。正确?
    • 我说紧密匹配并不精确,因为rqpd是基于固定lambda的L1正则化,而我认为(??)lqmm是基于L2正则化但是对于特定的lambda而言结果来自Geraci和Bottai(2007)的程序。
  2. 一开始,至少在nK很小时,即nK = 7时,这种情况不会发生。但随着nK增加到100或1000,这两个程序似乎“接近”
  3. 所以似乎lqmm的恰当使用至少取决于nK的良好(可能足够大)选择。
  4. 我正在探索使用lqmm()因为这里系统地选择了惩罚参数,而在rqpd()中需要提供它。但是,由于我无法将lqmm()rqpd匹配为特定的lambda选项,因此我不确定我理解lqmm正在做什么。

0 个答案:

没有答案