[問題] 有關時間序列資料計算DTW問題
資料檔:https://www.dropbox.com/s/3wh4o9c0l5pplwq/test.csv?dl=0
資料檔說明:資料檔維度為60*99,有99條時間序列
(每條時間序列長度不一,長度最長為60(可視為60個單位時間點))
問題描述:因現實資料的關係,有些時間序列會有NA值
但查過文獻之後,這不影響分析
小弟主要要做的分析是1 by 1計算這些時間序列的相似性
(而DTW就是一種可以計算兩條序列不等長(也可等長)的相似性之計算距離方法)
而得出99*99的距離矩陣之後 再對距離矩陣做資料探勘中的分群
問題:因時間序列有NA值,所以不太能用自動化的方式一次完成99*99分析
小弟原本的程式碼如下
test=read.csv("") #讀檔
library(dtw)
DtstMatrix=dist(test,method="DTW") #執行這行會出現錯誤
所以小弟用比較笨的方法,用眼睛一條一條看,然把NA的值取出來再做計算
小弟此時的程式碼如下
eg1.如果要計算等長的序列
d1=dtw(test[,5],test[,6]) #以計算第5與第6條序列相似性為例
d1$distance #看兩條序列的距離,越小表示越相似
eg2.如果要計算不等長的序列
d2=dtw(test[,5],test[c(1:45),7]) #以計算第5與第7條序列相似性為例
不過小弟要每條序列都與每條序列做一次計算然後得出99*99的距離矩陣
距離矩陣示意圖如下(28*28為例)
http://i.imgur.com/Tp5we4U.jpg

不知道各位前輩有沒有什麼較方便的方法可以教導小弟一下
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.161.128
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1444794197.A.74F.html
※ 編輯: sinclairJ (223.139.27.173), 10/14/2015 13:01:36
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章