一直在探索为汇聚的时间序列数据的类型是不同的选择:聚类时间戳序列(两个事件的时间序列数据)
两个不同的事件 - 说的1,2-
事件时间(毫微秒)
- 1 1E3
- 1 6E3
- 1 8E3
- 2 12e3
- 1 54e3
- 1 58e3
- 1 62e3
- 1 67e3
- 1 70e3
- 1 75e3
- 2 103e3
- 2 108e3
- 2 114e3
- 等等
即,时间是随机的(按指数分布)并记录事件1或事件2。录音时间为纳秒。数据集很大,上升到15-20米,并有数百万点
事件是相关的,因此可能发生一堆2或1。例如,将会有小块(1毫秒长的块有100-200个这两种类型的事件)。有些情况下,只会发生一系列需要丢弃的事件类型。 而大多数情况下,只记录单个或几个事件&这只是噪声(> 80%的数据)。
这显然是一个时间序列数据,带有事件类型信息。
我想应用聚类方法来识别有意义的小块。我正在使用Matlab,并试图查看诸如DBSCAN,k-means(由于我不知道簇的先验数量而没有用)等选项,
(记录时间本身可以作为(x1,x2)= abs(x2(2)-x1(2)),如果x是(事件,时间);则还有一个“距离”,因为这些是连续的组块,时间= 10.2到10.23秒,与其他任何部分没有任何关系,即聚类仅用于“识别”短片段(预计在整个数据集中只有几万个)
任何帮助将不胜感激!谢谢。
你看过'clusterdata()'吗? – Oleg
是的。由于数据集庞大,内存不足问题,尽管我可以迭代更小的长度)。但我不知道如何提取我想要的相关部分。 – nahsivar
您是否尝试了savememory选项?此外,请详细说明“有意义的事件顺序”;从评论到休的回答,似乎你只是通过时间戳进行区分,这已经降低了问题的维度,即仅集群时间。 – Oleg