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

У меня есть отформатированный набор данных, который выглядит как матрица[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

Мы будем очень признательны за любые советы.


person Mario    schedule 23.05.2019    source источник