【发布时间】:2013-08-08 14:27:42
【问题描述】:
我正在尝试找到一种方法来在两个不同点的数组中找到相似之处。我在具有相似模式的点周围画了圆圈,我想以假设 100 点的间隔进行某种自动比较,并告诉该间隔的相似系数是多少。如您所见,它可能也没有完全对齐,因此点对点比较也不是一个好的解决方案(我想)。稍微未对齐的模式也可能意味着它们与模式匹配(但显然系数较小)
相似性可能意味着什么(1 个系数是完美匹配,0 或更少 - 根本不匹配):
- 点 640 到 660 - 非常相似(系数约为 0.8)
- 点 670 到 690 - 非常相似(系数为 ~0.5-~0.6)
- 点 720 到 780 - 假设非常相似(系数为 ~0.5-~0.6)
- 点 790 到 810 - 完全相似(系数为 1)
系数只是我对比较函数的最终计算结果与给定数据的看法。
我阅读了很多关于 SO 的帖子,但似乎并没有解决我的问题。非常感谢您的帮助。谢谢
附:完美的答案是为函数提供伪代码,该函数可以接受两个数据数组作为参数(数据间隔)并返回相似系数。
【问题讨论】:
-
您能否澄清一下-您的
point是什么类型的数据?它代表什么? (您提供的图形太小,看不到) -
我认为您正在寻找一些相关或互相关的度量。对我来说太复杂了,无法尝试解释或提供伪代码 ab initio。建议您查看主题(也许在维基百科上)并返回一个尖锐的问题。
-
@Eugene 点只是一个整数:arrayA = [0,1,2,0] 和 arrayB = [0,1,2,0] 将是完美的匹配。但是 arrayA = [0,1,2,0] 和 arrayB = [0,0,1,2] 将是一个非常相似的匹配,但需要对齐。并且 arrayA = [0,1,2,0] 和 arrayB = [0,2,3,0] 也意味着非常相似或非常相似的匹配,因为模式相似。
-
这个问题似乎是题外话,因为它是关于找到一个很好的数据相似性度量。它更适合math.stackexchange.org 或stats.stackexchange.org
-
@Chowlett 我相信如果你在Mathematics 上很活跃,你不会认为它适合那里。我不太确定Cross Validated。这个问题没有表现出对问题的最低理解,这是它不适合这里的主要原因。
标签: algorithm math pseudocode