繁体   English   中英

R分位数回归单调三次样条

[英]R quantile regression monotone cubic spline

我正在使用一个自然三次样条对某些数据运行分位数回归模型,该模型需要单调递减(因为它不能在任何时候物理增加)。 首先,我使用splines包中的ns()函数来实现这一点,但很快发现它不会(不出所料)。 所以我发现功能mSpline从包装splines2这是为了适应单调样条曲线,但它也不起作用。 下面是这两个函数的示例以及它们如何在mtcarsmtcars

如何通过我的方法或其他方法实现获得单调递减样条的目标?

如果可以将其他变量添加到模型中,则可以加分,这些变量不是样条曲线。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM