Вопрос или проблема
У меня есть задача по временным рядам, где я пытаюсь предсказать один результат в момент времени $t$, $y_t$, имея данные за $2$ предыдущих временных шага; $X_{t-2}, X_{t-1}$.
Рассмотрим одну наблюдаемую точку для простоты.
В данный момент времени $t$ я имею $3$ признака и один выход. Пусть это будет $[a_t, b_t, c_t, y_t]$, где $a_t, b_t, c_t$ — это мои признаки, а $y_t$ — это мой выход (значение, которое я хочу предсказать).
Таким образом, если я хочу предсказать $y_t$, учитывая предыдущие $2$ временных шага, это будет выглядеть так:
$$[ [a_{t-2}, b_{t-2}, c_{t-2}, y_{t-2}],\\
[a_{t-1}, b_{t-1}, c_{t-1}, y_{t-1}], \\
[a_{t}, b_{t}, c_{t}, ?]]$$
У меня нет значения для $y_t$, и мне нужно передать $4$ признака в мой $X_t$, так как это работает?
В момент времени $t$ мне известны мои признаки $a_t, b_t, c_t$, и я хочу предсказать $y_t$. Но если я рассматриваю только предыдущие 2 временных шага, я не понимаю, как LSTM знает что-либо о признаках на текущем временном шаге?
Модель LSTM не знает ничего о признаках на текущем временном шаге. Поскольку это модель предсказания, текущий временной шаг — это то, что вы пытаетесь предсказать, и следовательно все ваши входные данные должны быть из предыдущего временного шага. Корректное представление будет следующим:
[[$a_{t-2}$, $b_{t-2}$, $c_{t-2}$, $y_{t-1}$],
[$a_{t-1}$, $b_{t-1}$, $c_{t-1}$, $y_t$]]
Где $y_t$ — это то, что вы пытаетесь предсказать.
Если вы хотите, чтобы ваша модель LSTM делала выводы напрямую на основе предыдущего выхода, вам нужно было бы добавить его как признак.
[$a_{t-1}$, $b_{t-1}$, $c_{t-1}$, $y_{t-1}$, $y_t$]
Ответ или решение
Вопрос о том, что именно является характеристикой (или признаком) в модели LSTM (долгосрочной краткосрочной памяти), особенно в контексте задачи временных рядов, может быть сложным для понимания, особенно когда речь идет о прогнозировании на основе ограниченного количества предыдущих временных шагов. Давайте подробно разберем вашу ситуацию, чтобы прояснить этот вопрос.
Понимание признаков в LSTM
LSTM — это вид рекуррентных нейронных сетей (RNN), которые специально разработаны для обработки последовательностей данных и решения задач, где важны последовательности временных шагов. Каждый элемент такой последовательности обычно называют признаком или характеристикой.
Описание задачи
Вы хотите прогнозировать значение ( y_t ) в момент времени ( t ) на основе двух предыдущих временных шагов ( (t-2) ) и ( (t-1) ). У вас есть три характеристики ( [a, b, c] ) на каждый временной шаг, и целевая переменная ( y_t ) — это тот результат, который нужно предсказать.
Структура входных данных
Ваша задача заключается в том, чтобы разграничить входные данные для модели и то, что модель пытается предсказывать:
- Входные признаки: На каждый временной шаг вы предоставляете три признака ([a{t-2}, b{t-2}, c{t-2}]) и ([a{t-1}, b{t-1}, c{t-1}]).
- Целевая переменная: Это результаты ( y_{t-1} ) и ваш прогнозируемый ( y_t ).
Таким образом, входной массив для каждого временного шага должен включать все три признака предыдущих времен, а переменная для прогноза в текущем временном шаге является той, которые модель учится предсказывать на основе предыдущих данных.
Формирование прогнозируемой последовательности
- За прошлые шаги: Поскольку вы находитесь на временном шаге ( t ), только данные из временных шагов ( (t-2) ) и ( (t-1) ) должны подаваться в модель для обучения и дальнейшего прогноза.
- Без текущей цели: На текущем временном шаге ( t ) вы не знаете ( yt ) — это и есть ваша задача. Следовательно, в модель вводятся только известные признаки прошлого ([a{t-2}, b{t-2}, c{t-2}], [a{t-1}, b{t-1}, c_{t-1}]).
Применение LSTM
LSTM использует предыдущие временные шаги для формирования памяти и может распознавать паттерны в последовательных данных. Это позволяет модели обучаться динамике ваших данных.
Советы по улучшению модели
- Дополнительные признаки: Если прошлые значения ( y_{t-1} ) могут быть полезны, вы можете их добавить как часть входных данных.
- Особенности данных: Убедитесь, что данные правильно масштабированы. LSTM чувствительны к масштабу входных данных.
- Гиперпараметры: Обратите внимание на гиперпараметры, такие как количество ячеек памяти, число входных слоев и других параметров модели для оптимизации работы сети.
Подводя итог, при прогнозировании временного ряда с использованием LSTM важно аккуратно формировать вектор данных. Понимание и правильная организация входных признаков являются ключевыми факторами для достижения успешной модели прогнозирования.