R 如何根据特定日期的小时进行聚类

R 如何根据特定日期的小时进行聚类,r,cluster-analysis,k-means,R,Cluster Analysis,K Means,我有一个月内每半小时到一家银行的人数记录 我试图根据“到达”的数量找到不同的集群组。我试着按天来做,我试着按小时来做(不是某一天)。我想根据一天中的时间来尝试 例如: 周四14:00和周日15:00是一个集群,平均到达人数为10000人 周一13:00、周一10:00和周二16:00是一个集群,平均到达人数为15000人 其余的都是另一个平均有2000人到达的集群 我有一个csv文件,列有:日期,日期(1-7),时间,到达 到目前为止,我一直在使用: km <- kmeans(tabl

我有一个月内每半小时到一家银行的人数记录

我试图根据“到达”的数量找到不同的集群组。我试着按天来做,我试着按小时来做(不是某一天)。我想根据一天中的时间来尝试

例如:

  • 周四14:00和周日15:00是一个集群,平均到达人数为10000人
  • 周一13:00、周一10:00和周二16:00是一个集群,平均到达人数为15000人
  • 其余的都是另一个平均有2000人到达的集群
我有一个csv文件,列有:
日期
日期
(1-7),
时间
到达

到目前为止,我一直在使用:

km <- kmeans(table, 3, 15)
plot(km)

kmk-means和类似算法将在此类数据上产生无意义的结果

问题是您使用错误的工具处理错误数据上的错误问题

您的数据是:
Date、Day(1-7)、Time、Arrivals

K-means将尝试最小化方差。但在这个数据集上,方差有意义吗?你怎么知道哪个
k
最有意义?由于
Arrivals
可能具有这些属性中最大的方差,因此它将完全支配您的结果


你首先应该回答的问题是:什么是好结果?然后,考虑将结果可视化的方法来验证你已经达到某个目标。当你可视化数据时,考虑在视觉上手动标记所需结果的方法,这对你来说可能已经足够好了。总比祈祷k-means能产生某种有意义的结果要好;因为在这种混合类型的数据上,它通常不能很好地工作。

您的数据是如何格式化的?欢迎使用SO。请阅读。最好至少发布一些示例数据(输入),并举例说明您认为输出应该是什么。还可以共享您迄今为止尝试过的任何代码。这将使其他人更容易帮助您。我重新编辑了问题,并提供了进一步的详细信息。您可以使用
ddply
通过一个键重新组合数据,该键是“时间/小时”和“特定日期”的串联。谢谢,我正在尝试查找不同类型的拥塞。(如上所述)您建议使用什么方法代替k-means?如果我将日期和到达时间都取消,会改善结果吗?如果你想要更少的随机结果,最好在之前对数据进行z-标准化。但是,如果将集群视为一个黑盒子,则不要期望结果有意义。