面板数据的动态时间扭曲(dtw)

时间:2014-06-07 10:02:14

标签: r plot pattern-matching time-series panel-data

对于以下数据框,我使用以下代码计算了成本矩阵。 最初,我创建了一个矩阵,其中[i,j]条目都是10.然后我用dtw函数填充下三角形部分来计算距离。

如何将“distmx”矩阵的上三角形部分设为空白。我的意思是我想删除矩阵“distmx”中上三角部分的10s。

对于此类数据集(面板数据集),如何选择查询和参考系列以进行绘制?

Lines <- "Ctry  year   Carx 
A 2000   13
A 2001    8
A 2002   12
A 2003   16
A 2004   10
A 2005   13
B 2000   20
B 2001   24
B 2002   32
B 2003   32
B 2004   30
B 2005   36
C 2000   42
C 2001   46
C 2002   45
C 2003   56
C 2004   56
C 2005   58
"
DF <- read.table(text = Lines, header = TRUE)

成本矩阵

library(dtw)

ulke <- unique(DF$Ctry)
distmx <- matrix(rep(10, length(ulke)*length(ulke)), ncol=length(ulke))
colnames(distmx)<-rownames(distmx)<-ulke

for (i in 1:length(ulke)){
  for (j in i:length(ulke)){

    distmx[j,i]<-dtw(DF[DF$Ctry== ulke[i],"Carx"], DF[DF$Ctry== ulke[j],"Carx"],       distance.only=TRUE)$distance

 }

}

0 个答案:

没有答案