大量数据,插值

时间:2011-02-16 20:48:25

标签: python numpy scipy data-fitting

我正在寻找一种“方法”来获得一个公式,公式来自拟合一组数据(3000点)。我正在使用勒让德多项式,但是对于>它给出的20分不是确切的值。我可以编写chi2测试,但算法需要一些时间来计算N个参数,并且在开始时我不知道函数是怎么样的,所以需要时间。我正在考虑样条......也许......

所以输入是:3000品脱

输出:f(x)= ......某事

我想要一个合适的公式。在python中执行此操作的最佳方法是什么?

让力量与我们同在! Nykon

4 个答案:

答案 0 :(得分:3)

多项式拟合如何:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html

或其他一些插值方案:

http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html

如果不了解有关数据集的更多信息以及需要多大程度的拟合,很难推荐合适的方法。

答案 1 :(得分:2)

除非样条没有给你一个“公式”,至少除非你有足够的资金来处理所有的分段。即便如此,它也不会轻易写下来,也不会给你任何可以看的东西。

简单样条线为您提供插值。更糟糕的是,对于3000点,插值样条曲线将为您提供大致相当多的立方体段!你之前说过插值。当然,无论如何,高阶的插值多项​​式将是完整的crapola,所以不要认为你可以回到那里。

如果你需要的只是一个可以在任何点提供精确插值的工具,并且你真的不需要一个明确的公式,那么插值样条是一个不错的选择。

或者你真的想要近似吗?一个近似适合您的数据的功能,可以消除任何噪音?事实是,很多时候,当不知道自己在做什么的人说“插值”时,他们确实意味着近似,平滑。当然这是可能的,但是有关于曲线拟合,经验数据建模的整本书籍。您的第一个目标是选择一个代表这些数据的智能模型。当然,如果你从对物理关系的理解中有一些明智的模型选择,那么你可以使用非线性回归方案估计该模型的参数,其中有很多可以找到。

如果您没有模型,并且不愿意选择大致具有正确形状的模型,那么您将留下样条曲线形式的通用模型,可以适用于回归意义,或者使用高阶多项式模型,我对此毫不尊重。

我的观点是,您需要做出一些选择,并对模型的选择进行一些研究。

答案 2 :(得分:0)

唯一的公式是3000阶的多项式。

合适度有多好?你期望什么类型的公式?

答案 3 :(得分:0)

您可以对观察到的点进行采样(随机选择最佳)并将三次样条拟合到此样本中(如果重复此过程,则可以创建样条线分布)。将样条拟合到3,000点有点多,但基于样本生成样条曲线分布可以让您了解函数的外观。正如乔希上面提到的,http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html是开始搜索的好地方。