我正在尝试将自然肘形样条拟合到概率数据(随机变量小于某些值的概率)以获得累积分布函数,该函数使用以下方法可以很好地工作splinefun()
:
cutoffs <- c(-90,-60,-30,0,30,60,90,120)
probs <- c(0,0,0.05,0.25,0.5,0.75,0.9,1)
CDF.spline <- splinefun(cutoffs,probs, method="natural")
plot(cutoffs,probs)
curve(CDF.spline(x), add=TRUE, col=2, n=1001)
然而,我想使用密度函数,即样条的导数,来执行各种计算(例如,获得随机变量的期望值)。
有没有办法将这个导数作为一个函数来获得,而不仅仅是通过splinefun(x, deriv=1
) 在离散数量的点上进行评估?
这与我正在寻找的非常接近,但可惜该示例似乎不适用于 R 版本 2.15.0。
除非有解析解,否则最干净的数值方法是什么?