Вопрос или проблема
Я обучаю модель SVM для предсказания тренда цен на акции (предсказания на один день вперед. Задача классификации). Совершенно забыл, что SVM предполагает IID данные, пока не поговорил с другом.
Это заставило меня переосмыслить свой подход, и у меня есть несколько вопросов.
-
Почему SVM предполагает IID данные изначально?
-
Под IID подразумевается, что все признаки должны быть линейно некоррелированы или не должно быть никаких нелинейных зависимостей?
Признаки включают базовые данные акций (Открытие, Максимум, Минимум, Закрытие, Объем) и технические индикаторы (выведенные из базовых данных). Конечно, технические индикаторы будут зависеть от базовых данных. Поэтому я удалил базовые данные из пространства признаков. Однако это означает, что технические индикаторы не связаны. Также,
- Как убедиться, что данные идентично распределены? Помогает ли масштабирование (нормализация или стандартизация) в этом случае?
Наконец, я читал некоторые исследования, в которых люди использовали нейронные сети и SVM (оба предполагают IID данные) для предсказания тренда акций, но нигде не видел упоминания об предположении IID и о том, что данные акций на самом деле не некоррелированы и в некоторой степени проявляют автокорреляцию. Итак,
- Как оправдать использование не IID данных в качестве входных для таких алгоритмов, которые предполагают, что данные IID?
Спасибо 🙂
Предположение о переменных IID необходимо для обеспечения уникального решения. Под IID подразумевается, что они должны быть некоррелированы. Вы не можете гарантировать, что данные идентично распределены. Масштабирование и стандартизация очевидны для того, чтобы найти решение. Использование оправдывается тем, что вы удовлетворены решением, найденным алгоритмом SVM (что является лишь одним из найденных им решений).
Но вы можете настроить параметры для SVM и использовать совершенно другое ядро. Уберите избыточные признаки самостоятельно.
Или, если вы ищете предсказание цен на акции, посмотрите на проект Jane Market Street Prediction на Kaggle. Я видел активное использование деревьев, смешанных моделей и нейронных сетей.
Ответ или решение
Вопрос, связанный с использованием SVM для прогнозирования тенденций фондовых цен, действительно очень актуален, особенно учитывая предпосылки, которые используются при построении моделей машинного обучения.
### 1. Почему SVM предполагает IID данные?
SVM (Метод опорных векторов) делает предположение об IID (независимых и одинаково распределённых) данных для упрощения математической модели и обеспечения возможности нахождения уникального решения. Основная идея заключается в том, что если данные являются независимыми и одинаково распределёнными, то каждый наблюдаемый пример может рассматриваться как представление одной и той же вероятностной функции, что позволяет эффективно обучать модель на этих данных. Непосредственно нарушения этой предпосылки могут привести к переобучению, недообучению или некорректным выводам о модели.
### 2. Что подразумевается под IID?
Под IID не подразумевается, что все признаки должны быть линейно некоррелированными. Скорее, это означает, что данные должны происходить из одного и того же распределения и каждое наблюдение должно быть независимым от других. Линейные или нелинейные зависимости между признаками могут существовать, но важно провести анализ данных и возможные корреляции между классами и признаками, чтобы понять их влияние на модель.
### 3. Как гарантировать, что данные идентично распределены?
Гарантировать, что данные идентично распределены, можно, но это сложная задача, особенно для финансовых временных рядов. Масштабирование (нормализация или стандартизация) данных может помочь в улучшении производительности модели, однако это не изменяет распределение данных. Обычно следует исследовать данные на предмет их распределения и использовать методы визуализации, такие как гистограммы или диаграммы рассеяния, для проверки на наличие смещения или аномалий. Также можно установить группы данных и проверять статистические критерии, такие как критерий Колмогорова-Смирнова, чтобы проверить единообразие распределений.
### 4. Как оправдать использование не IID данных в алгоритмах, которые предполагают IID?
Использование не IID данных в алгоритмах, предполагающих IID, можно оправдать условной проверкой на работоспособность модели. К примеру, вы можете использовать метод кросс-валидации для проверки стабильности и точности модели, а также убирая энергию взаимодействия между признаками (например, через отбор признаков, чтобы минимизировать мультиколлинеарность). Кроме того, важно принимая во внимание, что в реальных сценариях и в практическом машинном обучении требования к строгости предположений о данных могут быть несколько смягчены, если модель показывает хорошую производительность на значительных выборках.
Таким образом, подходя к прогнозированию цен акций с помощью SVM, стоит внимательно исследовать данные, возможные корреляции, оптимизировать выбор признаков и использовать техники проверки и кросс-валидации для оценки производительности вашей модели. Вы можете также рассмотреть более специализированные методы, такие как рекуррентные нейронные сети (RNN) или модели на основе деревьев, которые лучше справляются с временными рядами и могут учесть автокорреляцию данных.
Если вас интересуют дополнительные решения и примеры, рекомендую ознакомиться с конкурсами на Kaggle, такими как “Jane Street Market Prediction”, где стоит обратить внимание на использование различных подходов и моделей для прогнозирования временных рядов.
Надеюсь, данная информация была полезна для вас. Если у вас будут дополнительные вопросы, не стесняйтесь обращаться!