有一些有趣的R包实现非参数导数估计。纽厄尔和艾贝克的短审查可以是有帮助的:http://maths.dur.ac.uk/~dma0je/Papers/newell_einbeck_iwsm07.pdf
在这里,我们考虑基于所述pspline
软件包(在m阶导数平滑用惩罚花键)的示例:
数据生成过程是一个负逻辑模型与加性噪声(因此y值都是负像@ForeverLearner的ROIC变量:
set.seed(1234)
x <- sort(runif(200, min=-5, max=5))
y = -1/(1+exp(-x))-1+0.1*rnorm(200)
我们开始绘制曲线的非参数估计(黑线是真正的曲线和红色估计曲线):
library(pspline)
pspl <- smooth.Pspline(x, y, df=5, method=3)
f0 <- predict(pspl, x, nderiv=0)
然后,我们估计曲线的一阶导数:
f1 <- predict(pspl, x, nderiv=1)
curve(-exp(-x)/(1+exp(-x))^2,-5,5, lwd=2, ylim=c(-.3,0))
lines(x, f1, lwd=3, lty=2, col="red")
而这里的二阶导数:
f2 <- predict(pspl, x, nderiv=2)
curve((exp(-x))/(1+exp(-x))^2-2*exp(-2*x)/(1+exp(-x))^3, -5, 5,
lwd=2, ylim=c(-.15,.15), ylab=)
lines(x, f2, lwd=3, lty=2, col="red")
yes,point-wise slope @李哲源ZheyuanLi – ForeverLearner
@李哲源ZheyuanLi谢谢!是啊黄土曲线功能的问题和我的数据是我有负数。我会尝试你所建议的。 – ForeverLearner