显示受异常响应时间影响的用户分布

数据挖掘 聚类 统计数据 可视化
2022-02-19 05:20:29

我的数据集是网页在一天内的性能指标(响应时间)。数据大致如下:

| Date | User Id | Response time in milliseconds |
|------+---------+-------------------------------|
| ...  | U1      |                           390 |
| ...  | U2      |                          1965 |
| ...  | U2      |                          7789 |
| ...  | U1      |                           479 |
| ...  | U1      |                          9876 |
  • 绘制第 50、75、90、95 和 99 位的百分位数图表,我可以看到绝大多数用户的响应时间低于 600 毫秒——这被认为是可以接受的。
  • 但是响应时间出现了极大的峰值:我试图在上面的数据示例中勾勒出这一点。
  • 我想做的是可视化是否总是相同的用户受到这些峰值的影响,或者行为是否比这更不稳定。在上面的示例中,用户 U2 会遇到频繁的尖峰,而 U1 有一个尖峰时性能更好(我知道示例中的样本量显然很小,但我希望它有助于说明我所追求的。)
  • 这项工作的目标是揭示是否总是相同的少数用户受到峰值的影响,然后我们可以缩小问题的范围。

一个想法是使用气泡图,它为每个用户可视化以下三元组:

  1. 计算我们在白天看到用户 ID 的频率。(这将是气泡的大小)
  2. 此用户的第 99 个百分位(x 轴)
  3. 此用户的第 75 个百分位(y 轴)

认为我们可以从这种图表中看到:

  • 气泡越大,我们看到用户的频率就越高。
  • 两个轴上越接近 0,整体性能就越好。
  • x 轴上离 0 越远,性能峰值越极端。
  • y 轴上离 0 越远,常见情况的性能越差。

假设是,在右上角附近显示为大气泡的用户可能是要调查的用户。

我想了一会儿,但我不能说我完全相信这就是我所追求的。这种方法对于确定我们是否有大部分相同的用户体验最差的性能是否有意义?

1个回答

一种选择是查看基于百分位数的条件概率。

首先,根据所有数据找到百分位数。例如,第 99 个百分位是 1432 毫秒。

然后,找出高于该阈值的特定用户请求的百分比。例如,U1 有 50% 的请求高于 99%。

这可以制成一个交叉表,以便于探索。行将是每个用户,列将是分箱响应时间百分位数。