【问题标题】:Fitting one data pattern to another in Python在 Python 中将一种数据模式拟合到另一种数据模式
【发布时间】: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


【解决方案1】:

你想要达到的目标有一个名字。这是一个回归问题。您想找到数据点之间的关系以及它们之间的链接方式。

话虽如此,您可以从 sci-kit learn 中查看LinearRegression()。这对您的情况很有用。

注意:线性回归可能无法捕获您的数据所具有的任何关系,然后尝试使用其他模型,例如带有非线性内核或 NN 的 SVM。 (呃)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2023-04-01
    相关资源
    最近更新 更多