繁体   English   中英

在多维数组中寻找相似之处

[英]Finding similarities in a multidimensional array

考虑一个设置每天销售目标的销售部门。 总体目标并不重要,但超额或未满是重要的。 例如,如果第1周的星期一的目标是50,而我们卖出60,则该天的得分为+10。 在星期二,我们的目标是48,我们以46分卖出46分。 在本周末,我们对本周进行如下评分:

[0,0]=10,[0,1]=-2,[0,2]=1,[0,3]=7,[0,4]=6

在此示例中,星期一(0,0)以及星期四和星期五(0,3和0,4)均为“热门”

如果我们查看第2周的结果,则会看到:

[1,0]=-4,[1,1]=2,[1,2]=-1,[1,3]=4,[1,4]=5

对于第2周,一周的结束是热的,而星期二是温暖的。

接下来,如果我们比较第一周和第二周,就会发现一周的结束往往比一周的第一部分要好。 因此,现在让我们添加第3和第4周:

[0,0]=10,[0,1]=-2,[0,2]=1,[0,3]=7,[0,4]=6
[1,0]=-4,[1,1]=2,[1,2]=-1,[1,3]=4,[1,4]=5
[2,0]=-8,[2,1]=-2,[2,2]=-1,[2,3]=2,[2,4]=3
[3,0]=2,[3,1]=3,[3,2]=4,[3,3]=7,[3,4]=9

从这一点上,我们可以看到,本周末的理论更好。 但是我们也看到月底比开始要好。 当然,我们希望下个月将本月与下个月进行比较,或者将一组月的季度或年度结果进行比较。

我不是数学或统计专家,但我很确定有针对此类问题的算法。 由于我没有数学背景(并且不记得以前的任何代数),因此在哪里可以寻求帮助? 这种“热点”逻辑有名称吗? 是否存在可以对多维数组进行切片,切块和比较的公式或算法?

任何帮助,指示或建议,不胜感激!

ways to analyse it. 这些数据并不是真正的多维数据,它只是一个简单的时间序列,有分析方法。 我建议您从傅立叶变换开始,它检测一系列的“节奏”,因此该数据将显示在7天的峰值,大约30天,如果将数据集扩展到几年,它将显示旺季和假期为一年的高峰。 在您准备使用真实的多维数据之前,这应该让您保持一段时间,例如通过添加天气信息,股市数据,最近的体育赛事的结果等等。

以下内容可能与您相关:技术分析中的随机震荡指标 ,用于确定库存是否超买或超卖。

我在这里简化了,但是实际上您有两个移动的计算:

  • 14天随机指标:100 *(今天的收盘价-最近14天的低点)/(最近14天的高点-最近14天的低点)
  • 3天随机:相同的计算,但相对于3天。

14天和3天随机数将倾向于遵循相同的曲线。 您的随机性将落在1.0到0.0之间; 高于0.8的随机指标被认为是超买或看跌,低于0.2则表示超卖或看涨。 更具体地说,当您的其中一个区域的3天随机数“穿越” 14天随机数时,您便可以预测价格的动量。

尽管有人认为技术分析是伏都教,但经验证据表明它具有一定的预测能力。 随机值是一种可视化价格随时间变化的非常简单有效的方法。

您要做的很简单-您只需要计算数据的自相关并查看相关图即可 从相关图可以看到数据的“隐藏”周期,然后可以使用此信息来分析周期。

结果是-您的数字及其标准化的自相关。

10    1,000
-2    0,097
 1   -0,121
 7    0,084
 6    0,098
-4    0,154
 2   -0,082
-1   -0,550
 4   -0,341
 5   -0,027
-8   -0,165
-2   -0,212
-1   -0,555
 2   -0,426
 3   -0,279
 2    0,195
 3    0,000
 4   -0,795
 7   -1,000
 9

我使用Excel来获取值。 但是将A列中的序列添加等式=CORREL($A$1:$A$20;$A1:$A20)到单元格B1 ,然后将其复制到B19 如果添加折线图,则可以很好地看到数据的结构。

在我看来, OLAP方法(如MS Excel中的数据透视表)非常适合该问题。

您已经可以对模式周期做出合理的猜测-您正在查看每周和每月的情况。 例如,要查找每周模式,只需将所有星期一的平均值平均,依此类推。 一个月的某几天,一年的几个月都一样。

当然,您可以使用复杂的算法来确定每周有一个模式,但是您已经知道会期望这样做。 如果您认为确实存在一些您永远不会怀疑的模式(有一个奇怪的社区,他们每周工作5天,并且经常出差),请务必使用强大的工具-但是如果您知道寻找什么样的东西,真的没有必要。

Daniel建议关联时,他的想法是正确的,但我不认为自相关就是您想要的。 相反,我建议将每个星期彼此关联。 您的相关性峰值(即接近1的值)建议,在该特定班次中,周的值彼此相似(即为周期)。

例如,当您相互关联时

0 0 1 2 0 0

0 0 0 1 1 0

结果将是

 2 0 0 1 3 0

最大值是3,对应于第二个数组(右)移动4

0 0 0 1 1 0 -->  0 0 1 1 0 0

和nn乘数明智

0   0   1   2   0   0
0   0   1   1   0   0
----------------------
0 + 0 + 1 + 2 + 0 + 0 = 3

请注意,建立关联后,您可以创建自己的“假”周并将所有真实周进行互相关,即通过寻找以下值来查找与假周形状相对应的每周值的“形状”:相关结果中出现峰值。

因此,如果您有兴趣查找接近周末的几周,则可以使用“假”周

 -1 -1 -1 -1  1  1

并且如果您在相关的第一个值中获得了很高的响应,则意味着您与之相关的真实周大致具有这种形状。

ARIMA或类似的Box-Jenkins模型可能会超出您正在寻找的范围,但是一种使您能够进行预测,查看诸如统计显着性之类的功能的技术方法将是ARIMA或类似的Box-Jenkins模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM