使用 scipy (Python) 将样条拟合到具有重复 x 的数据

Fitting spline to data with duplicate x using scipy (Python)

我正在尝试使用 python 中的包 'scipy' 中的 'interp1d' 函数在具有 5700 个数据样本(具有重复的 x 值,即 x:水平轴)的数据上拟合样条曲线.我尝试使用低阶样条 (k=1) 和二次样条 (k=2)、三次样条 (k=3)。 我很震惊地看到 'spline' 在我的 data.Although 样条曲线上的怪异反应在 'k=1' 有一定道理,但它过度拟合可笑(二次和三次样条曲线表现太差)。在我的第一个在试验中,我使用多项式拟合来拟合数据,结果令人鼓舞。 我原以为样条拟合会给出比多项式拟合更好的结果。This is the result with splines。 请建议我,我哪里错了?

如果数据集的每个 X 值都有单独的唯一值点,则每个数据点的有效权重为 1.0。但是,如果该数据集中的单个数据点被加倍或复制,一旦该单个数据点的有效权重为 2.0。

如果一个数据集中的所有数据点都被复制一次,那么每个点都具有相同的有效权重 2.0 - 即所有数据点将具有相同的权重。

如果此数据集中的一些数据点具有唯一的 X 值并且一些出现不止一次,一种方法是对 "duplicate" 个数据点的 Y 值进行平均,以便每个点再次具有有效权重1.0。这有时可以在我描述的特定情况下工作。