基于时间的多维数据聚类

时间:2017-06-27 09:45:20

标签: r analytics data-science

我正在尝试根据他们一周工作时间的模式对大量人群进行聚类。这是我正在使用的数据的一个例子:

table, th, td {
    border: 1px solid black;
}
<table>
  <tr>
  <th>Name</th>
  <th>Monday (00:00 to 07:59)</th>
  <th>Monday (08:00 to 15:59)</th>
  <th>Monday (16:00 to 23:59)</th>
  </tr>
  <tr>
  <td>Guy1</td>
  <td>3</td>
  <td>5.5</td>
  <td>0.5</td>
  </tr>
  <tr>
  <td>Guy2</td>
  <td>0</td>
  <td>7</td>
  <td>2</td>
  </tr>
  <tr>
  <td>Guy3</td>
  <td>4</td>
  <td>4</td>
  <td>1</td>
  </tr>
</table>

我想根据工作时间模式找到群集。我正在使用的实际数据集有超过10000行(不同的个体),并且有42列(间隔小时)。我正在使用R-Studio。

我希望看到不同个体的“个人资料”,这些资料将基于本周工作时间模式的相似性。例如,可能一个人的工作时间集中在工作日上午9点到下午6点,表明他属于定期安排的员工群,而另一个人的工作时间集中在夜间,表明该人工作夜班。 / p>

请注意,我是一名尚未毕业的实习生,我今天刚学会了R.这也是我的第一个StackOverflow问题,所以请原谅我无知或不知情。

1 个答案:

答案 0 :(得分:1)

首先,您可能想要了解聚类理论。 例如that post。然后跟进一些R代码。

原因是因为群集通常非常依赖于您的数据以及您想要实现的目标。通常没有完美的解决方案,因此您必须评估自己所完成的工作是否足够好。

你可以对k-means和层次聚类做一些研究,互联网上有大量的资源。我最喜欢的是R帮助,您可以在Rstudio的帮助选项卡中找到它。 查找hclustkmeans以了解这些函数的工作原理。

您还可以查看允许创建时间序列群集的hts。这可以解决创建矩阵距离为10k * 10k时可能遇到的问题。