如何计算数据集中与自身相比的百分比进化变化

数据挖掘 数据集 进化算法
2022-03-08 20:54:54

设想:

假设我有一张桌子,用于记录每天访问商店的顾客数量。现在我想计算过去 30 天内访客人数发生了多少变化,并得出一个告诉我变化率(百分比)的值。但我不想将当前月份的变化与上个月的值进行比较,而是想将当前月份与自身进行比较!我有一些幼稚的解决方案,但我不是数据科学家,我不确定该解决方案是否会给我带来有意义的价值!

我的第一个问题:这是一个有意义的问题吗(将数据集与自身进行比较)?

我的第二个问题:如果是这样,您将如何解决?

解决方案一:我想到的一个解决方案是将第一天的值与最后一天的值进行比较,但这似乎有点愚蠢,因为值可能在两者之间随机波动,结果并不代表波动。

解决方案二:我能想到的另一种解决方案是将每天(一个月内)的值与前一天的值进行比较,然后计算变化率,最后将所有比率累加并得出一个值!

旁注:我想根据变化率获得正负百分比

1个回答

一些建议:

  1. 您在解决方案中的想法是基本但可靠的。例如,第二个想法的波动可以用一个简单的移动平均线来平滑,然后应用你的想法是有意义的。
  2. 另一个想法是将第一天的值设置为阈值,并计算整个月的总负数(从阈值下降)和正数(从阈值上升)。假设在一个固定月份(所有 30 天的值完全相同的月份),变化百分比为 0%。这意味着高于阈值和低于阈值的总和可以为您提供根据第一天的百分比变化的估计值。一个例子是[5, 10, 50, 100, 5, 1]6 天内的访问。我们设置第一天的值(5) 作为阈值。然后你会得到[0%, 100%, 900%, 1900%, 0%, -400%]上升和下降(为什么?!),你可以使用任何数值计算得出最终数字,例如 2900% 上升和 400% 下降,最后可能是 2500% 上升。
  3. 使用上面的想法给出了许多不同的方法来做到这一点。正如您也提到的,不要将每一天与第一天进行比较,而是将其与前一天进行比较并得出最终的变化率。或者考虑对负面变化进行惩罚,例如,如果在一种情况下值严格提高并且最终变化为 +3000%,而在另一种情况下值波动但最终变化再次为 3000%,您可以考虑为第二种情况设置权重,因此差异它们之间被保留。