有一种方法可以构建分位数回归的置信区间:
x <- rnorm(1000)
y <- x + 2*rnorm(1000)
rqm1 <- rq(y~x)
summary(rqm1)
默认是什么?是5%吗?如何找到另一个,比如10%?
答案 0 :(得分:1)
summary.qr
方法的默认Alpha级别为.1
,对应于.9
的置信区间宽度。我很困惑这一段时间因为它没有明确记录。
se = "rank"
(少于1001行的数据的默认值)的置信区间是通过使用rq.fit.br
重新设置模型来计算的,rq
是rq.fit.br
使用的基础机制。如果查看alpha
的文档,可以看到默认情况下.1
参数设置为alpha
。如果您将summary.rq
参数传递给rq.fit.br
,它将传递给summary(rqm1)
,您将获得您正在寻找的置信区间。
与summary(rqm1, alpha = .1)
相同的结果:
summary(rqm1, alpha = .05)
95%间隔:
class Book implements JsonSerializable
{
public function jsonSerialize() {
return [
'id' => $this->id,
'title' => $this->title
];
}
}
答案 1 :(得分:0)
你变得很困惑。默认情况下,rq的汇总函数使用秩方法来估计CI 因此,您可以使用summary.rq函数并设置se =“boot”,“nid”,“iid”,“ker”选项以获取不同的标准错误。我已将其设置为se =“boot”。它为您提供系数的标准误差,您可以在qunatile公式中使用它来查找CI。
90%使用
qnorm(0.95)
95%使用
qnorm(0.975)
完整的代码
library(quantreg)
x <- rnorm(1000)
y <- x + 2*rnorm(1000)
rqm1 <- rq(y~x)
summary.rq(rqm1, se="boot") -> rqm2
coef=rqm2$coefficients[,1]
err=rqm2$coefficients[,2]
ci <- list()
for (i in 1:length(coef)){
ci[[i]] <- coef[i] + c(-1,1)*err[i]*qnorm(0.975)}
这将返回截距和所有变量的置信区间