Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 检测两个相互偏离的数据流_Algorithm_Math_Statistics_Dynamic Programming - Fatal编程技术网

Algorithm 检测两个相互偏离的数据流

Algorithm 检测两个相互偏离的数据流,algorithm,math,statistics,dynamic-programming,Algorithm,Math,Statistics,Dynamic Programming,前几天出现了一个有趣的问题。我有两个连续输出的数据流。例如,A和B(不同的值) 在理想世界中,A和B正好相反。如果A增加x%,那么B将减少x%,反之亦然 然而,在我的世界里,他们并不是100%相对的。这意味着有时A可以增加X%,而B只能减少X-0.Y%。反之亦然,当B增加时。差异很小,但可以检测到 我需要能够检测任何一个数据流比另一个数据流减少0.3%的时间。例如,如果A=30,B=100。下一个数据点是A=33(增加10%),B=89.5(减少10.5%)。那么我需要知道这已经发生了。因为两者

前几天出现了一个有趣的问题。我有两个连续输出的数据流。例如,A和B(不同的值)

在理想世界中,A和B正好相反。如果A增加x%,那么B将减少x%,反之亦然

然而,在我的世界里,他们并不是100%相对的。这意味着有时A可以增加X%,而B只能减少X-0.Y%。反之亦然,当B增加时。差异很小,但可以检测到

我需要能够检测任何一个数据流比另一个数据流减少0.3%的时间。例如,如果A=30,B=100。下一个数据点是A=33(增加10%),B=89.5(减少10.5%)。那么我需要知道这已经发生了。因为两者之间的差异大于0.3%

如果我知道它们的原始值,问题本身就很容易解决。然而,这是一个连续的数据流,我没有参考点。我不需要绝对准确的答案,但需要一个相对的答案


例如,如果我们决定流式传输数据,我怎么知道“嘿,老兄,他们正在出故障,当心”,而不知道他们曾经是什么

我想你在找

  • 记住两个流的最后N个值

    • 循环缓冲区是这方面的理想选择
  • 计算相关系数

  • 检测相似度下降

    • 例如:
    • if(相关系数>-0.997)返回“低于99.7%”