【问题标题】:Plot lqmm functions绘制 lqmm 函数
【发布时间】:2018-11-12 18:33:16
【问题描述】:

我很难在网上找到有关如何轻松绘制 lqmm 模型的示例。因此,例如,在下面,我想要一个简单的图,我可以在其中预测多个分位数并将这些预测叠加到散点图上:

library(lqmm)    
set.seed(123)
M <- 50 
n <- 10 
test <- data.frame(x = runif(n*M,0,1), group = rep(1:M,each=n)) 
test$y <- 10*test$x + rep(rnorm(M, 0, 2), each = n) + rchisq(n*M, 3) 
fit.lqm <- lqm(y ~ x , tau=c(0.1,0.5,0.9),data = test)
fit.lqmm <- lqmm(fixed = y ~ x, random = ~ 1, group = group, data = test, tau = 0.5, nK = 11, type = "normal") 

我可以为 lqm 模型成功地做到这一点,但不是 lqmm 模型。

plot(y~x,data=test)
for (k in 1:3){
 curve((coef.lqm(fit.lqm)[1,k])+(coef.lqm(fit.lqm)[2,k])*(x), add = TRUE)
}

我见过 predict.lqmm 函数,但这会返回数据集中每个 x 值的预测值,而不是 x 轴限制上的平滑函数。提前感谢您的帮助。

【问题讨论】:

  • 大多数predict 函数都支持newdata 参数,它可以让您在range 的值上提供seq()-uence。这可能就是curve 函数正在做的事情。但是,predict.lqmm 要求您指定一个级别值,以确定是否考虑随机效应估计值。您应该阅读该软件包中predict-methods 的帮助页面。

标签: r plot quantreg quantile-regression


【解决方案1】:

你只得到一个 coef.lqmm 的向量,所以你可以用这些值画一条线:

coef(fit.lqmm)
#(Intercept)           x 
#   3.443475    9.258331 

 plot(y~x,data=test)
 curve( coef(fit.lqmm)[1]  +coef(fit.lqmm)[2]*(x), add = TRUE)

要获得正态理论置信区间的分位数等价物,您需要提供 tau 向量。这是针对 90% 的覆盖率估算:

 fit.lqmm <- lqmm(fixed = y ~ x, random = ~ 1, group = group, data = test, tau = c(0.05, 0.5, 0.95), nK = 11, type = "normal")
 pred.lqmm <- predict(fit.lqmm, level = 1)
 str(pred.lqmm)
 num [1:500, 1:3] 2.01 7.09 3.24 8.05 8.64 ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:500] "1" "2" "3" "4" ...
  ..$ : chr [1:3] "0.05" "0.50" "0.95"
 coef(fit.lqmm)
                  0.05     0.50     0.95
(Intercept)  0.6203104 3.443475 8.192738
x           10.1502027 9.258331 8.620478

plot(y~x,data=test)
for (k in 1:3){
curve((coef.lqmm(fit.lqmm) [1,k])+(coef.lqmm(fit.lqmm) [2,k])*(x), add = TRUE)
}

【讨论】:

  • 非常感谢您的评论和回答,他们非常有见地。遗憾的是,没有明显的解决方案来绘制多个分位数。我可能不得不用置信区间来探索这种方法。我会按照建议阅读更多关于预测的帮助页面。再次感谢。
  • 当我阅读帮助页面时,您需要使用来自predict,lqmmlevel=1 来获得包含随机效应的估计值。如果您在对 lqmm 的调用中包含 tau 的值,您将获得多个边际分位数估计值。这些似乎是“置信区间”的 qr 方法等价物。
  • 是的,现在可以了,谢谢!我不确定昨天我哪里出了问题,因为我以为我尝试过这样的事情。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多