以下是如何计算两个时间序列的多维动态时间规整的文献解释:
在这个例子中,有两个变量(var1和var2)被观察了三次。
问题是如何以尽可能高的效率计算距离时间规整(dtw)距离矩阵?
以下是一些想法: - 遍历输入图像矩阵的每个值,将向量重塑为矩阵,以便能够计算交叉距离,然后计算dtw距离并将其存储在专用矩阵中。 这肯定是最耗费计算资源的解决方案。
这里是如何计算两个时间序列的多维动态时间规整(Multidimensional Dynamic Time Warping)的文献解释:
library(dtw)
x<- cbind(1:10,1)
y<- cbind(11:15,2)
cxdist <-dist(x,y,method="euclidean")
dtw(cxdist)$distance
实际上,它首先计算交叉距离矩阵,然后将其用作dtw函数的输入。
我想在图像分类中使用多维动态时间规整,这些图像相当大。 图像值存储在可能看起来像这样的数据框中:
inDf <- data.frame(matrix(rnorm(60), ncol = 6))
colnames(inDf) <- c('var1t1','var2t1','var1t2','var2t2','var1t3','var2t3')
在这个例子中,有两个变量(var1和var2)被观察了三次。
问题是如何以尽可能高的效率计算距离时间规整(dtw)距离矩阵?
以下是一些想法: - 遍历输入图像矩阵的每个值,将向量重塑为矩阵,以便能够计算交叉距离,然后计算dtw距离并将其存储在专用矩阵中。 这肯定是最耗费计算资源的解决方案。
x <- inDf[,c("var1t1","var1t2","var1t3")]
和y <- inDf[,c("var2t1","var2t2","var2t3")]
之间? - redmodeinDf
与你的第一个例子有什么关系吗?var1t1
是x
,var2t1
是y
,然后在另外两个时间段中再次重复吗?你想要计算每个时间段每对变量的dtw
距离吗?这些事情与图像有什么关系?此外,看起来dtw
本身就计算了dist
,所以你不需要进行那一步。 - BrodieGcxdist
的维度是什么?据我所知,它们应该是10x10
。因此,我们正在计算var1
中10个三维点和var2
中10个三维点之间的成对距离。这是否正确? - redmode