一个连续变量中的设备行为与事件率

数据挖掘 机器学习 聚类 相关性
2022-03-08 16:02:20

我有设备,我有一个连续变量的时间序列数据。我必须评估这些设备上该变量的配置文件与“事件”之间的关系。

这些事件是根据某个时间段内的发生情况给出的。

我的第一个意图是制作该变量的类似行为的集群,并将这些集群与低/中/高事件率进行比较。

我正在考虑用最小值、最大值、四分位数、平均值、正常 qq p 值、峰度等作为维度做 K-means,但我认为这不是一个好主意,因为:

  • 这些维度不是独立的
  • 它正在“丢失”数据,因此可能会丢失分类潜力

您对将类似设备分组在一起有什么建议吗?

另外,您还有其他想法来建立这种关系吗?

语境:

  • python3 与 scipy 堆栈
  • 每天约 3000 台设备和数十万条数据;5个月考虑
1个回答

使用描述性统计作为特征的 K-means 聚类完成:

简而言之,我已经尝试了问题中描述的想法,即使我认为它行不通。让经验说话...

我最初有一个设备数据列表。列表中的每个元素都是 2 列,R 行矩阵,每个设备的 R 都不同。因此,每个设备:

[
    [mesureValue, timestamp],
    ..., 
    [mesureValue, timestamp],
]

由于我只对 measureValue 分布感兴趣,因此我将初始数据转换为 8 列、N 行矩阵,其中 N = 设备数。

这些列是根据相应设备的测量值计算得出的:

  • 算术平均值
  • 中位数
  • 第一四分位数
  • 三分之三
  • 最低限度
  • 最大
  • 范围
  • 标准差

有了这个矩阵,我使用 scikit learn (python) 应用了 K-means 聚类。

我使用熊猫数据框(python)在矩阵线和物理设备之间建立了链接,其线索引实际上是设备的序列号。

我已经尝试了 5 个集群,它可以工作。

以防万一,如果我将来需要改进,我计划在列中添加其他统计信息,尤其是偏差与正态性。因此,例如峰度和正常 qq 图 p 值。

最好的祝福。