Вопрос или проблема
Вопрос
- Могу ли я применять различные гиперпараметры для разных наборов данных для обучения?
- Я вижу смысл в использовании общих параметров, но не вижу смысла в использовании общих гиперпараметров. Преимущество использования общих параметров раскрывается в следующем вопросе: Рекуррентные нейронные сети: в чем смысл совместного использования параметров? Разве заполнение не решает проблему?
Подробнее
1) Объяснение моей модели
Поскольку моя модель — это модель торговли акциями, я объясню, как я торгую акциями. Пожалуйста, потерпите, пока я объясняю, как я торгую акциями. Объяснение не будет долгим.
- Я использую полосы Боллинджера для торговли акциями. (Все данные по акциям в этом примере — ежедневные).
- Вкратце, я вычисляю простое скользящее среднее (SMA) и стандартное отклонение цен на акции за N дней. (Да, я предполагаю, что цены на акции следуют гауссовскому распределению.) Верхняя полоса — это
SMA + k*stdev
, в то время как нижняя полоса — этоSMA - k*stdev
. - Я покупаю акции, когда цена акций выше верхней полосы (‘Too_High_Buy’) или ниже нижней полосы (‘Too_Low_Buy’). Для случая ‘Too_High_Buy’ я продаю акцию, когда цена акции опускается ниже SMA. Для случая ‘Too_Low_Buy’ я продаю акцию, когда цена акции поднимается выше SMA.
- Параметры моей модели — это SMA и Stdev, в то время как гиперпараметры — это N и k.
- N: Определяет, насколько сглаженным будет SMA (желтая линия).
- k: Определяет, насколько далеко будут находиться верхняя и нижняя полосы от SMA.
- Так как разные значения N и K показывают разные характеристики, нам следует поискать, какие значения N и K будут подходящими для данных о ценах на акции.
2) Как определить гиперпараметры (N & k)
- Я использую ‘скользящие шаги‘ для определения подходящего числа для двух гиперпараметров, N и K.
- Скользящие шаги используют фиксированное количество данных для обучения для определения гиперпараметра и проверки производительности этих гиперпараметров на валидационном наборе данных, который сразу следует за обучающим набором данных.
-
Я считаю скользящие шаги хорошим инструментом для кросс-валидации для применения к данным о акциях, поскольку статистические свойства акций могут изменяться со временем. Например, 30 лет назад, McDonald’s и Coca-Cola показывали схожие движения цены, потому что они продавались вместе. Однако в наши дни Coca-Cola сосредоточена на здоровых напитках, в то время как McDonald’s остается брендом вредной пищи, они могут показывать разные движения цен.
-
Гиперпараметр здесь может быть различным, но ради простоты допустим, что гиперпараметры, которые нам нужно определить, это длительность обучающего набора данных (N). Продолжительность сброса и прогнозирования установлена на 1 день.
-
Используя перебор различных значений N и K, я вычисляю, какие значения N и K показывают лучшую производительность в течение периода валидации в обучающем наборе данных.
3) Мой вопрос
-
Могу ли я использовать разные значения k для разных обучающих наборов? Другими словами, могу ли я динамически изменять, какое значение K использовать на основе производительности подмножеств обучающего набора?
-
Используя метод скользящих окон с перебором, мы используем одно и то же значение K во всех обучающих наборах для торговли акциями в течение периода валидации.
-
Однако мы можем использовать разные значения K на основе производительности данных подмножества обучения.
-
Например, предположим, что N фиксировано на 30 дней. Тогда с 1-го по 30-е января k=0,6 показывает лучшую производительность, и мы используем это k=0,6 для 31-го января. Затем с 2-го января по 31-е января k=1,5 показывает лучшую производительность, и мы используем это значение K для 1-го февраля, и так далее.
-
Почему мы должны использовать общий гиперпараметр K по всей модели? Для параметров это имеет смысл, потому что это позволяет сократить количество параметров, которые модель должна изучить. (источник: Рекуррентные нейронные сети: в чем смысл совместного использования параметров? Разве заполнение не решает проблему?)
-
Но для использования общих гиперпараметров количество гиперпараметров остается тем же, независимо от того, использую ли я общие гиперпараметры или нет. Это всего лишь 1 гиперпараметр, который является K. Объем необходимых вычислений также остается тем же.
Да – для разных наборов данных для обучения можно использовать разные гиперпараметры.
В вашем конкретном случае, обучая на разных временных скользящих окнах, вы моделируете дрейф данных временного ряда. Различные значения гиперпараметров будут улавливать постепенные изменения со временем.
Ответ или решение
Конечно, вы можете применять разные гиперпараметры для различных временных окон. Это особенно актуально для анализа временных рядов, таких как торговля акциями, где статистические свойства данных могут изменяться с течением времени.
В вашем конкретном случае с использованием скользящих окон для выбора гиперпараметров, таких как N и K в моделях на основе полос Боллинджера, вы стремитесь учесть возможные изменения или дрейф данных. Идея заключается в том, что разные временные периоды могут требовать разных значений гиперпараметров для достижения наилучшей производительности.
-
Флексибильность в обучении: Различные значения гиперпараметров позволяют вашей модели адаптироваться к изменениям в данных, что улучшает точность прогнозирования и подгонки под текущие рыночные условия. Например, если на одном отрезке данных K=0.6 показал лучшие результаты, а на другом K=1.5, вы должны использовать соответствующее значение, чтобы максимально использовать доступные данные.
-
Эволюция временных рядов: Поскольку временные ряды, такие как цены акций, могут отображать различные паттерны и корреляции в разных временных рамках, использование изменяемых гиперпараметров позволяет вашей модели лучше отразить эти изменения.
-
Эффективность модели: Поскольку количество гиперпараметров остаётся неизменным вне зависимости от того, являются ли они общими или индивидуальными для каждого окна, вы не увеличиваете вычислительные затраты. Таким образом, использование разных гиперпараметров может повысить эффективность без увеличения сложности.
Важно помнить, что выбор новых значений для гиперпараметров следует выполнять с осторожностью, используя валидационные данные, чтобы избежать переобучения и сохранить целостность модели. Интеграция такой гибкости в вашу модель может значительно повысить её адаптивность и точность, улучшая общее управление инвестициями.
Использовать этот подход в торговле акциями означает, что вы внедряете интеллектуальные механизмы, которые не просто реагируют на текущие рыночные условия, но и улавливают тонкости изменения трендов. В перспективе это может способствовать более устойчивым и успешным инвестиционным стратегиям.