gpt4 book ai didi

python - 从一组曲线到数据点的最佳拟合

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:32 24 4
gpt4 key购买 nike

我有一组曲线 F={f1, f2, f3,..., fN},每条曲线都是通过一组点定义的,即:我没有显式 函数的形式。所以我有一组 N 表,如下所示:

#f1: x  y
1.2 0.5
0.6 5.6
0.3 1.2
...

#f2: x y
0.3 0.1
1.2 4.1
0.8 2.2
...

#fN: x y
0.7 0.3
0.3 1.1
0.1 0.4
...

我还有一组观察/测量的数据点 O=[p1, p2, p3,..., pM] 其中每个点都有 x, y坐标和 [0, 1] 之间的给定权重,所以它看起来像:

#O: x  y  w
0.2 1.6 0.5
0.3 0.7 0.3
0.1 0.9 0.8
...

因为 N ~ 10000(我有大量的函数)我正在寻找的是一种有效的(更准确地说:快速)找到曲线的方法最适合我的一组观察和加权O

当我有函数的显式形式 (scipy.optimize.curve_fit) 时,我知道如何找到最适合 python 的函数,但是当我将函数定义为表时,我该怎么做呢?

最佳答案

为了拟合,您需要两个元素,即数据(您已经拥有)和模型空间(线性模型、高斯过程、支持向量回归)。在您的情况下,您的模型有额外的限制,即某些数据点的权重应该不同于其他数据点。可能是这样的事情对你有用:

from scipy.interpolate import UnivariateSpline

temp = np.asarray([10, 9.6, 9.3, 9.0, 8.7])
height = np.asarray([129, 145, 167, 190, 213])
f = UnivariateSpline(height, temp)

现在你可以在任何你想要的地方计算f:

test_points = np.arange(120, 213, 5)  
plot(height, temp, 'o', regular_heights, f(test_points), 'x')

enter image description here

关于python - 从一组曲线到数据点的最佳拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18264160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com