簡體   English   中英

在python中使用動態時間扭曲(DTW)的時間序列相關

[英]time series correlation using dynamic time warping(DTW) in python

這是我的三個時間序列:

t1  t2  t3
3   8   17
1   8   18
0   8   17
0   8   18
2   8   17
3   8   17
0   8   18
0   8   17
2   8   17
3   8   18
1   8   17
0   8   17
0   8   17
1   8   17
2   8   16
2   8   16
3   8   16
0   8   16
2   8   16
2   8   16
3   8   16
1   8   17
1   8   16
2   8   16
3   8   16
1   8   17
2   8   16
4   8   17
0   8   16
1   8   17
3   8   16
0   8   16
3   8   16
2   8   16
2   8   17
0   8   16
2   8   16
2   8   17
3   8   16
3   8   16
3   8   16
2   8   16
4   8   16
1   8   16
0   8   17
0   8   17
2   8   17
1   8   17
2   8   17
2   8   18
0   8   18
1   8   18
0   8   17
0   8   17
2   8   17
1   8   17
2   8   17
0   8   17
0   8   17
0   8   17

正如我所看到的,DTW 可以給我們輸出,它可以告訴我們時間序列之間的相似性

但我不知道我們該怎么做?

我們怎么能用DTW的輸出說呢?

哪個距離好?? 高還是低?

幫我解決這個問題

謝謝

使用DTW

import pandas as pd
from io import StringIO
from dtaidistance import dtw

data = StringIO("""
t1   t2   t3
3   8   17
1   8   18
.   .   .
.   .   .
0   8   17
0   8   17
""")

# load data into data frame
df = pd.read_csv(data, sep='   ', engine='python', dtype=float)
# transpose data
transposed_matrix = df.values.transpose()
# calculate series cost
results = dtw.distance_matrix_fast(transposed_matrix, compact=True)

輸出:

比較 3 個時間序列的成本結果。 成本越低越好。

[ 51.4392846  118.73078792  67.71262807]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM