[英]R quantile regression monotone cubic spline
我正在使用一个自然三次样条对某些数据运行分位数回归模型,该模型需要单调递减(因为它不能在任何时候物理增加)。 首先,我使用splines
包中的ns()
函数来实现这一点,但很快发现它不会(不出所料)。 所以我发现功能mSpline
从包装splines2
这是为了适应单调样条曲线,但它也不起作用。 下面是这两个函数的示例以及它们如何在mtcars
上mtcars
。
如何通过我的方法或其他方法实现获得单调递减样条的目标?
如果可以将其他变量添加到模型中,则可以加分,这些变量不是样条曲线。
library(quantreg)
mod=rq(mpg~ns(hp,df=3),data=mtcars,tau=0.99)
mod=rq(mpg~mSpline(hp,df=3),data=mtcars,tau=0.99) #monotone
preds=predict(mod)
plot(mtcars$mpg~mtcars$hp)
points(preds~mtcars$hp,col=2,cex=1,pch=16)
问题的第一部分:可以使用 Splines 包中的 splineDesign 和 quantreg (rq 函数的选项 method="fnc")来实现具有平滑样条和单调性限制的分位数回归。 R 代码可从https://doi.org/10.1002/jae.2347的补充文件中获得,位于开放档案http://qed.econ.queensu.ca/jae/datasets/haupt002/
问题的第二部分:实施的模型是可加的,并允许添加更多样条、参数或半参数组件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.