Есть ли ограничение на размер ввода dtw_path? - PullRequest
0 голосов
/ 28 мая 2020
from tslearn.metrics import dtw_path
import pandas as pd
from tslearn.utils import to_time_series

Я использую пакет dtw_path для синхронизации временных рядов. Временные ряды имеют форму (x, 7), поскольку они представляют собой 7D-векторы для каждой временной точки. Каждое измерение двоичное (0 или 1). Когда я использую код, например, когда максимальный размер одного из временных рядов равен shape (17201, 7), он работает. Однако, когда я использую код для временных рядов с максимальными временными рядами формы (46725, 7), скрипт завершается без сообщения об ошибке, но никогда не запускает / не завершает функцию dtw_path (если я напишу под ним оператор печати, чтобы проверить , оператор печати не печатается). Мой код выглядит так:

df_1 = pd.read_csv(file)
df_2 = pd.read_csv(file_2)
dummies_1 = pd.get_dummies(df_1)
dummies_2 = pd.get_dummies(df_2)
df_as_array_1 = dummies_1.values
df_as_array_2 = dummies_2.values

s1_formatted_time_series = to_time_series(df_as_array_1)
s2_formatted_time_series = to_time_series(df_as_array_2) 

path, dist = dtw_path(s1_formatted_time_series, s2_formatted_time_series)

print("path created")

файл и файл_2 содержат данные таймсерий. Строки содержат точки времени (17201 в первом примере и 46725 во втором примере), а столбцы содержат метки классов (от 0 до 6). Вот почему я сначала делаю фиктивные переменные для каждого класса, создавая конечный результат в виде вектора 7D для каждой точки времени.

Мой главный вопрос: возможно ли выполнять DTW с таймсериями такого размера?

...