Как можно разрезать данные временных рядов с помощью нескольких функций, чтобы получить непрерывный график, содержащий [поезд + тест + прогноз]? - PullRequest
1 голос
/ 23 мая 2019

У меня есть отформатированный набор данных , который выглядит как матрица [NxM], где N = 40 общее количество циклов (отметок времени) и M = 1440 пикселей.Для каждого цикла у меня есть 1440 пикселей, соответствующих 1440 пикселям.Я использовал разные модели для прогнозирования значений пикселей будущих циклов на основе последних 10 циклов.img

Проблема в том, что я не смог добиться правильного непрерывного графика после тренировки NN, скорее всего, из-за неправильной техники разделения данных, которую я использовал с помощью train_test_split, но никогда не пробовал TimeSeriesSplit следующим образом:

trainX, testX, trainY, testY = train_test_split(trainX,trainY, test_size=0.2 , shuffle=False) 

1-я проблема заключается в том, что я использовал shuffle=False и ожидаю, что 0,2 из конца данных будет считаться тестовыми данными, и я могу получить их правильно, но я не смогпотому что: 1) к сожалению, я пропускаю 10 циклов из-за функции истории def create_dataset(), которая проверяет последние 10 циклов, чтобы предсказать будущий.как вы можете видеть здесь:

def create_dataset(dataset,data_train,look_back=1):
    dataX,dataY = [],[]
    print("Len:",len(dataset)-look_back-1)

    for i in range(len(dataset)-look_back-1):
        a = dataset[i:(i+look_back), :]
        dataX.append(a)
        dataY.append(data_train[i + look_back,  :])
    return np.array(dataX), np.array(dataY)

look_back = 10
trainX,trainY = create_dataset(data_train,Y_train, look_back=look_back)

2) Я также не могу получить доступ к числу циклов, которые рассматриваются как тестовые данные, поэтому, когда я строю график, он начинается с 0!вместо продолжения с конца цикла данных поезда!img

мой результат ожидания после правильного среза данных заставил меня поймать следующий непрерывный график, который я сделал вручную при рисовании в Windows 7: img

Любой совет был бы оченьоценили.

...