0

我正在尝试将自然肘形样条拟合到概率数据(随机变量小于某些值的概率)以获得累积分布函数,该函数使用以下方法可以很好地工作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。

除非有解析解,否则最干净的数值方法是什么?

4

1 回答 1

1

如果您将代码中的环境分配行更改为gBerwin Turlach 在 R-help 上提供的代码:

environment(g) <- environment(f)

...您在 R 2.15.1 中取得了成功。

于 2012-10-11T19:36:06.187 回答