一直在探索爲匯聚的時間序列數據的類型是不同的選擇:聚類時間戳序列(兩個事件的時間序列數據)
兩個不同的事件 - 說的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