如何在Julia中找到适合给定数据点集的函数?

时间:2016-07-08 01:00:56

标签: function mapping julia

所以,我有一个对应于给定特征的向量(相同的维度)。 Julia中是否有一个包可以提供适合这些数据点的数学函数,与原始特征相关?换句话说,我有x和y(两个向量)并且需要在两者之间找到一个合适的映射,即使它是一个非常复杂的映射。此过程的输出应该是连接x和y的符号公式,例如(:x)^ 3 + log(:x) - 4.2454。如果它只是一个多项式近似,那就好了。

如果您使用遗传编程,我想这是在公园散步,但我宁愿选择更简单(更快)的方法,如果它可用的话。感谢

2 个答案:

答案 0 :(得分:3)

原来Polynomials.jl包中包含执行拉格朗日插值的函数polyfit。一个用法示例:

using Polynomials    # install with Pkg.add("Polynomials")
x = [1,2,3]          # demo x
y = [10,12,4]        # demo y

polyfit(x,y)

最后一行返回:

Poly(-2.0 + 17.0x - 5.0x^2)`

评估正确的值。

polyfit函数接受输出多项式的最大度数,但默认使用输入向量xy减去1的长度。这与拉格朗日公式中的多项式,并且由于这种程度的多项式只有在它们相同时才对输入一致(这是一个基本定理) - 可以肯定这是相同的拉格朗日多项式,实际上是这种程度的唯一一个有这个属性。

感谢Polynomial.jl的开发人员让我只是以谷歌的方式回答答案。

答案 1 :(得分:0)

看看MARS回归。多自适应回归样条。