可变运动趋势的签名

时间:2014-02-12 23:47:40

标签: algorithm data-analysis

有人能指出我应该学习的算法方向来解决以下任务:

我有大约10个变量。他们不断变化,我记录他们的变化。我需要在数据中找到变量移动相似的不同位置:在两个地方x1上升50%,x2下降20%,x3保持原位,依此类推所有10.说这发生在时间第15点,再次在时间点225.我需要认识到这种模式,因此我需要为这种运动总和的每个一般类别产生“签名”。

最理想的是,此签名应扩展到相当长的行:x1上升15%,下降20%,上升30%,但始终对所有10个变量一起使用。在财务方面,他们可能需要对库存分析进行此操作,但他们采用了哪些算法?

编辑:我正在调查第一个答案中的多维树,但现在我也在考虑另一条路径:因为值必须加起来一百,而且我可以越来越近似于更高的值(超过50%的任何东西只是得分“超过一半”,例如),那么我可以使用这样的事实:较高的“架子”只能由非常有限数量的变量占用(只有一个“超过一半”,只有3个在“30-50%”类别中,以减少每个记录分布的可能变化的总量。我可以构造一个哈希函数来为每个分布提供一个密钥,然后在其中包含原始分布之后的每个分布的密钥。

1 个答案:

答案 0 :(得分:1)

您可以使用k-d tree,每个变量为10维,1。

收到“更改”后:

  1. 检查树是否有新更改的最近邻居。验证它是否“足够接近”以考虑相似,如果是这样 - 输出它。
  2. 将新更改插入树中,以便将来的更改可以访问它。
  3. 由于最近邻搜索和插入在k-d树中都是O(logN),因此每次更改都需要O(logN)进行检查,总计为O(NlogN)