【发布时间】:2020-11-23 15:32:50
【问题描述】:
假设有一个模式在某些点上是已知的,但具有未知的功能形式。假设还有一个数据集。就计算机而言,两者都只是一组 (x,y) 值。
但是,我仍然想通过简单的关系 a*P+b 将我的模式拟合到数据中,并且我想通过实际的拟合例程找到参数 a,b 的最佳值。我怎样才能用类似于optimize.curve_fit() 的东西来做到这一点,还是我必须发明自己的方法?
【问题讨论】:
-
使用 optimize.curve_fit。有很多例子。另见realpython.com/linear-regression-in-python
-
据我所知,optimize,curve_fit() 需要传递模型函数,而我没有。
-
@BrandonMyers 如果我理解得很好,您有数据点,您想在其中拟合曲线并获取其参数?
-
不,我基本上有2组数据点。一个是已知模式(具体来说是 K7 恒星光谱),然后是数据(我们想要输入的另一个系统的光谱)。该模式没有功能形式,该模式没有
y=mx+b类型的东西,它只是一堆精确的(x,y)数据点。我想知道缩放这些点以匹配数据的最佳参数是什么。换句话说,给定一个 {(Dx, Dy)} 形式的数据集和一个 {(Px,Py)} 形式的模式集,是否有一个函数给出 a,b 使得 Dy-aPy+b 是最小化。 -
@BrandonMyers 你的模型函数是 f(x) = ax + b。
标签: python data-analysis curve-fitting