手动估计分位数回归
机器算法验证
回归
回归系数
分位数
擅长
分位数回归
2022-04-09 14:41:29
2个回答
(比答案长一点的评论,但我错过了评论的重复)
首先,您对损失的计算似乎是正确的(这是R
代码):
y <- c(5, 4, 5, 4, 7)
x <- c(1, 2, 3, 4, 5)
a <- 0.217092
b <- 1.594303
tau <- 0.75
f <- function(par, y, x, tau) {
sum((tau - (y <= par[1] + par[2]*x)) * (y - (par[1] + par[2]*x)))
}
f(par=c(a, b), y=y, x=x, tau=tau)
[1] 3.782908
其次,Excel求解器似乎有问题。使用R
的优化器,我们发现:
optim(c(0.1, 0.2), f, y=y, x=x, tau=tau)
$par
[1] 4.4999998 0.4999998
$value
[1] 1.250001
$counts
function gradient
143 NA
所以损失optim
比使用 Excel 的求解器要低。
第三,请注意,您估计分位数回归的方法不如求解相应的线性程序。无论如何,与 Roger Koenker 的quantreg
包的比较产生:
library(quantreg)
rq(y ~ x, tau=tau)
Call:
rq(formula = y ~ x, tau = tau)
Coefficients:
(Intercept) x
4.5 0.5
Degrees of freedom: 5 total; 3 residual
R
这与'soptim
求解器的解非常接近。
关于你的另一个问题:你能详细说明你想了解什么吗?
其它你可能感兴趣的问题