首页 文章

是否有一个Python等效于R中的smooth.spline函数

提问于
浏览
13

R中的smooth.spline函数允许在粗糙度(由二阶导数的积分平方定义)和拟合点(通过对残差的平方求和所定义)之间进行权衡 . 这种权衡是通过spar或df参数完成的 . 在一个极端,你获得最小方块线,另一个你得到一个非常摇摆的曲线,它与所有数据点相交(或者如果你有重复的x值,具有不同的y值,则为平均值)

我在Python中查看了scipy.interpolate.UnivariateSpline和其他样条变量,但是,他们似乎只是通过增加结的数量来进行权衡,并为允许的SS残差设置一个阈值(称为s) . 相比之下,R中的smooth.spline允许在所有x值处具有节点,而不必具有击中所有点的摇摆曲线 - 惩罚来自二阶导数 .

Python是否具有以这种方式运行的样条拟合机制?允许所有结,但惩罚二阶导数?

1 回答

  • -1

    我一直在寻找完全相同的东西,但宁愿不必将代码翻译成Python . Splinter包似乎是一个选项,但是:https://github.com/bgrimstad/splinter

相关问题