0

我实际上是在尝试检测由许多较小的子区域(在我的情况下为像素)组成的一个非常大的区域的时间序列特征。我对此了解不多,所以我能想出的唯一方法是整个区域的平均时间序列,尽管我知道这肯定会通过平均来隐藏许多特征。

我只是想知道是否有任何广泛使用的技术可以检测一组时间序列的共同特征?像模式识别或时间序列分类?

非常感谢任何想法/建议!

谢谢!

一些额外的解释:我正在处理几年的遥感图像,时间步长为 7 天。所以对于每个像素,都有一个相关的时间序列,在不同的日期从这个像素中提取值。所以如果我定义一个由许多像素组成的区域,有没有办法检测或提取一些共同特征来表征所有或大部分该区域内像素的时间序列?例如时间序列的形状,或者值明显增加的日期?

4

1 回答 1

0

您可以计算像素的相关矩阵。这只是:

corr = np.zeros((npix,npix))
for i in range(npix):
    for j in range(npix):
        corr(i,j) = sum(data(i,:)*data(j,:))/sqrt(sum(data(i,:)**2)*sum(data(j,:)**2))

如果您想要更多信息,您可以将其计算为时间的函数,即将您的时间序列划分为块(例如分钟)并计算每个块的相关性。然后您可以看到相关性如何随时间变化。

如果相关性变化很大,您可能对像素的互功率谱更感兴趣。这被定义为

cpow(i,j,:) = (fft(data(i,:))*conj(fft(data(j,:)))

这将告诉您有多少像素ij倾向于在不同的时间尺度上一起变化。例如,它们可以在一秒 (1 Hz) 的时间尺度上一致移动,但也可以在 10 秒的时间尺度上发生变化,这些变化彼此不相关。

这一切都取决于你需要什么,真的。

于 2012-11-02T21:14:41.393 回答