Вопрос или проблема
Я работаю над задачей прогнозирования фондового рынка на основе LSTM и пытаюсь найти способ выбора входных переменных.
-
При расчете корреляции между переменными (например, цена закрытия акций Tesla против цены закрытия акций Microsoft) даст ли дифференцирование кривых более точный (или правильный) индекс корреляции? Я получаю значения в диапазоне 0,7-0,9 для недифференцированных переменных и более низкие значения после дифференцирования.
-
После того как у меня будет матрица корреляции всех моих переменных, есть ли способ выяснить, какие из них добавят информацию к нейронной сети, а какие только добавят шум?
Вам не нужно выбирать переменные для подачи в сеть, глубокие нейронные сети (DNN) делают это автоматически. На самом деле DNN придает большее значение релевантным переменным, установив их веса. После установки весов некоторые из скрытых узлов принимают 0, а некоторые 1 (из-за сигмоидной функции). Вы также можете рассматривать эти 1 и 0 как выбор релевантных переменных.
Кстати, матрица корреляции не может быть использована для прямого отбора релевантных переменных. Если вы хотите сократить количество переменных, которые подаются в DNN, вы можете использовать метод главных компонент (PCA). На самом деле компоненты PCA рассчитываются путем получения собственных векторов матрицы корреляции.
Ответ или решение
Выбор признаков для прогнозирования временных рядов с использованием LSTM: Подходы и Рекомендации
В рамках задачи прогнозирования фондового рынка с использованием LSTM (долгосрочная память с коротким временем) важно правильно подбирать входные переменные, что непосредственно влияет на качество модели. В этой статье мы рассмотрим два основных аспекта, касающихся выбора признаков: корреляцию переменных и полосы шума в данных, которые могут влиять на обучение нейронной сети.
1. Корреляция переменных
Когда речь идет о корреляции между переменными, такими как закрывающие цены акций Tesla и Microsoft, возникает вопрос: стоит ли предварительно дифференцировать временные ряды?
Дифференциация рядов:
Дифференциация временных рядов зачастую используется для устранения трендов и сезонности. Это позволяет сосредоточиться на изменениях и относящихся к ним данных, тем самым обеспечивая более надежную оценку взаимосвязей между переменными. Если первоначальная корреляция между ценами акций находится в диапазоне 0.7-0.9, то это может указывать на сильную взаимосвязь при наличии различных трендов. Однако, после дифференциации, корреляция, как правило, снижается, что может объясняться тем, что модель теперь анализирует колебания, а не абсолютные значения.
Рекомендации:
- Исследуйте как не дифференцированные, так и дифференцированные данные: Оцените, как корреляции меняются в результате различной предобработки данных, чтобы выяснить, какая из стратегий лучше подходит для вашей модели.
- Используйте другие методы оценки взаимосвязи: Помимо корреляции, рассмотрите другие меры, такие как взаимная информация или кросс-корреляция, которые могут предложить более глубокое понимание взаимосвязи между временными рядами.
2. Извлечение значимых признаков
После получения матрицы корреляции важно определить, какие признаки действительно добавляют полезную информацию в модель, а какие могут внести шум.
Использование матрицы корреляции:
Хотя матрица корреляции предоставляет полезную информацию о линейных взаимосвязях между переменными, она не всегда является надежным инструментом для отбора признаков. Высокая корреляция не обязательно означает, что переменная будет представлять полезный сигнал для модели.
Альтернативные методы отбора признаков:
-
Регрессионные методы: Используйте методы снижения размерности, такие как Lasso или Ridge регрессия, которые помогают отбирать и оценивать важность признаков.
-
Методы на основе деревьев: Алгоритмы, такие как Random Forest, могут помочь в отборе значимых признаков, так как они оценивают важность каждого признака на основе их вклада в предсказание.
-
PCA и другие методы снижения размерности: Principal Component Analysis (PCA) позволяет идентифицировать главные компоненты, которые объясняют максимальную дисперсию в данных. Это может помочь упростить модель и убрать менее значимые переменные.
Заключение
Выбор входных переменных для LSTM в прогнозировании временных рядов требует внимательного анализа и применения нескольких методов для обеспечения надежности итоговой модели. Дифференциация временных рядов может снизить корреляцию, но это не всегда означает ухудшение качества модели. Также важно использовать разнообразные инструменты и техники для выбора признаков, чтобы минимизировать шум и повысить точность прогноза. Конечная цель — сформировать мощную модель, способную выявлять скрытые паттерны в данных и делать точные прогнозы.