Перекрестная проверка временных рядов - PullRequest
0 голосов
/ 30 апреля 2018

Я использую функцию Timeseriessplit из sklearn для создания наборов поездов и тестов. для перекрестной проверки временных рядов. Идея, например, заключается в использовании n-1 точек данных для обучения и n-й точки данных для тестирования. Этот сплит нужно всегда заказывать, так как это временная серия. Однако я не понимаю, почему набор данных X в примере отформатирован следующим образом:

from sklearn.model_selection import TimeSeriesSplit
import numpy as np
X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
y = np.array([1, 2, 3, 4])
tscv = TimeSeriesSplit(n_splits=3)
print(tscv)  
for train_index, test_index in tscv.split(X):
    print("TRAIN:", train_index, "TEST:", test_index)
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]

Какова логика предварительной обработки данных как X = np.array ([[1, 2], [3, 4], [1, 2], [3, 4]])? И конечно я читаю заметки на странице, но все равно не понимаю

1 Ответ

0 голосов
/ 30 апреля 2018

Обычно в данных временных рядов вы хотите предсказать y[t] на основе данных X[0:t-1]. Этот sklearn.model_selection.TimeSeriesSplit метод, кажется, принимает в качестве аргументов одну полную серию X размера N (где N - количество экземпляров на разных временных шагах) и соответствующие метки на каждом временном шаге y. Тогда форма X равна (4,2), потому что у нас есть четыре экземпляра на разных временных шагах и каждый экземпляр имеет 2 функции.

То, как мы интерпретируем эти две особенности, может быть противоречивым:

  1. Мы можем рассматривать каждый экземпляр как отдельный образец в определенный момент времени, имеющий набор функций. Или ...
  2. Мы можем рассматривать каждый экземпляр как набор точек во времени, определяя сам экземпляр в течение временного интервала.

Оба варианта кажутся мне правильными. Несмотря на то, как мы можем интерпретировать структуру X, здесь дело в том, как TimeSeriesSplit разделяет данные, избегая тестирования экземпляра данных с предыдущих временных шагов по обучению экземпляров данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...