【发布时间】:2015-06-01 10:47:13
【问题描述】:
R 中的 smooth.spline 函数允许在粗糙度(由二阶导数的积分平方定义)和拟合点(通过对残差的平方求和定义)之间进行权衡。这种权衡是由 spar 或 df 参数完成的。在一个极端,你得到最小二乘线,另一个你得到一条非常摆动的曲线,它与所有数据点相交(或者如果你有重复的 x 值和不同的 y 值,则为平均值)
我查看了 Python 中的 scipy.interpolate.UnivariateSpline 和其他样条变体,但是,它们似乎只能通过增加结数和为允许的 SS 残差设置阈值(称为 s)来进行权衡。相比之下,R 中的 smooth.spline 允许在所有 x 值处都有结,而不必有一条摆动的曲线到达所有点——惩罚来自二阶导数。
Python 是否有以这种方式运行的样条拟合机制?允许所有结但惩罚二阶导数?
【问题讨论】:
标签: python r smoothing splines