python 中的曲线拟合反函数

Curve fitting inverse function in python

我正在尝试找到一个映射 20k 个数据点的函数。

上图是这 20k 个数据点的图表。

我尝试使用带有 Scipy 包的拉格朗日插值实现,我只选择了 8 个点进行测试,但我不理解结果(例如 f(343) 它输出 -8244613接近 500 的值)。

我利用这8点找到了一个很好的实现: 数据(12500, 0), 数据(10000, 3), 数据(7500, 11), 数据(5000, 31), 数据(2500, 88), 数据(1000, 211), 数据(400, 410), 数据(20, 1756),

拉格朗日拟合 n 个点到 n-th 阶多项式。您可以确定这些点位于多项式描述的曲线上,但除此之外,曲线可以延伸到任何地方。这就是您观察到的 f(343) 远离 500 乍一看,您的曲线看起来更像是带有一些风味参数的 1/x

考虑到数据点的数量(以及您的数据集的平淡无奇的性质并且没有给出上下文),我建议在两个相邻点之间进行线性插值并使用第一对和最后一对进行外插。