【问题标题】:Is this possible to find equation of a series using genetic programming?这是否可以使用遗传编程找到一系列方程?
【发布时间】:2011-06-28 23:25:46
【问题描述】:

我有一个组成系列的数字列表。我想找到可以重新生成同一系列的方程。这可能吗?另外,您建议对其进行编程(GA、GP 等)。请举个例子。

【问题讨论】:

  • 我会为该系列选择一个参数形式,允许一些噪音(如果相关)并尝试使用例如拟合参数。最小二乘,更一般的最大似然,甚至贝叶斯。如果您的数字是整数,请不要考虑我所说的。
  • @Alexandre:你仍然需要一些适合 的东西,例如一个公式,其中有要估计的参数。
  • @Tim:这就是“参数形式”的意思。没有出路,如果您希望结果有用,您必须做出假设。否则,您将简单地过度拟合该系列。如果 OP 告诉我们他想用他寻找的方程做什么,这也会有所帮助。如果目标是压缩数据,还有其他方法可以做到这一点。如果目标是建模,那么参数形式是强制性的。
  • 您已经成为 Stack Overflow 的成员 8 个月了,但从未投票,也从未接受过答案。请阅读常见问题解答!

标签: algorithm math genetic-algorithm genetic-programming series


【解决方案1】:

你可以看看project Eureqa

Eureqa(发音为“eureka”)是一种软件工具,用于检测数据中的方程式和隐藏的数学关系。它的目标是确定最简单的数学公式,这些公式可以描述产生数据的基本机制。 Eureqa 可以免费下载和使用。

该软件旨在为一系列数据找到最小二乘近似值。如果您的系列可以准确地描述为一个函数,您可能会找到它。 Eureqa 使用遗传算法,在网页中有一些论文和文章的引用。

您可能会在下面看到在 Eureqa 上运行的 3*x^2+4 序列的结果(来自我的机器):

后脚本:

很遗憾,该软件不再免费了:(

【讨论】:

  • 感谢您的回复。如果我猜测这些常量可能会参与生成序列,我该怎么办。例如:今天的日期、出生日期等...如何在等式中添加这些常数。
  • @Nabeel 您必须下载软件,然后将所有变量作为列加载到 excel 类型的电子表格中。之后,您选择要使用的函数类型(即三角函数、指数函数、多项式等),然后软件使用遗传算法重新组合这些“主”函数,直到找到匹配项
猜你喜欢
  • 2020-11-28
  • 1970-01-01
  • 2016-05-17
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 2020-03-28
  • 2011-10-27
  • 1970-01-01
相关资源
最近更新 更多