有一些有趣的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