[英]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天和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
并且如果您在相关的第一个值中获得了很高的响应,则意味着您与之相关的真实周大致具有这种形状。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.