有没有办法以编程方式检测一组数据中的模式?例如,如果我有以下数据,我如何发现第一列每第 6 行重复一次,第二列每第 7 行重复一次?
2 3
1 1
5 2
4 5
3 7
2 6
1 3
5 1
4 2
3 5
2 7
实际数据远比这复杂。我可以使用 PHP 或 Java。有相关的库或函数吗?
最佳答案
我没有任何方便的引用资料,但对于这些相当简单的模式,您可能会想要 auto correlation 。基本上,您可以看到数组与自身与各种增量的关联程度。它的定义是,+1 表示数字完全相关,0 表示它们彼此“完全”随机,-1 表示它们彼此完全“相反”。
对于 delta = 0,您正在将数据与其自身进行比较,以始终保持完美的相关性
在您的例子中,第一列还将显示一个峰值(接近 1 的数字),增量为 6,第二列的增量为 7。
对于 Java,我会检查 Apache Commons Math library .
关于java - 以编程方式检测一组数据中的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8958573/