Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 56
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Лет несколько. Здесь в теме ее результат.
Ссылку подскажите, пожалуйста.
Ну хотя бы со строгим разделением на обучающую и тестовую выборку по датам вместо предварительного рандомного перемешивания примеров с равномерным распределением в генеральной выборке с последующим разделением её на части. Ведь может получиться так, что в одну часть выборки попадут по большей части вертикальные тренды, а во вторую боковые. Если сделать рандомное перемешивание, то вероятность скучивания схожих паттернов по разным частям выборки умаляется.
Кстати, таким недостатком страдает и встроенный в MetaTrader тестер стратегий, т.е. он делит обучающую выборку и форвардный тест строго по датам. Из-за чего смена рыночных тенденций близкая к разделительной линии может дать заведомое переобучение.
То есть вы, как всякий уважающий трейдер, произнесли ответ.
Это и есть ключевой момент в планировании эксперимента. В реале же есть строгое разделнние по времени. Так и проверяется модель на будущем в полном смысле слова.
Это называется несбалансированная выборка и является проблемой машинного обучения.
Чтобы было понятнее, приведу пример. Пусть у нас есть обучающая выборка в которой преобладают восходящие тренды, а значит нисходящие движения в ней представлены в меньшем количестве, по сравнению с восходящими, т.е. имеем дисбаланс.
Предположим, что нисходящих движений у нас в выборке 1 000, а восходящих 10 000. И предположим, что ошибка классификации для восходящих движений 10%. Но эти десять процентов для 10 000 примеров равны 1 000 ложных сигналов, классифицированных как прогноз нисходящих движений и примеров с нисходящими движениями у нас в выборке всего 1 000. Это значит, что какова бы ни была точность классификации нисходящих движений, то при любом ответе классификатора, прогнозирующего что будущее движение, как потенциально нисходящее, его ошибка будет не менее 50%. Т.е. чем больше примеров в обучающей выборке для какого-то одного класса - дисбаланс, тем больше влияние неверной классификации для этого класса на качество ответов классификатора для другого класса.
По этой причине очень сложно прогнозировать редкие явления: землетрясения, извержения вулканов, экономические кризисы и проч. Ведь если явление очень редкое и малопредставительно в выборке, то любая ошибка для примеров противоположных классов становится чрезмерно большой для редких явлений.
А посему обучающую выборку необходимо предварительно балансировать, чтобы в ней примеры для всех классов были представлены одинаковым количеством. В противном случае, малопредставительные классы с большей вероятностью не смогут успешно пройти тесты вне обучающей выборки. К тому же, примеры при делении генеральной выборки на обучающую и тестовую часть необходимо перемешивать с помощью ПГСЧ с равномерным распределением вероятностей, чтобы избежать скучивания примеров с похожими предикторами в какой либо части и отличающимися в другой. Т.е. чтобы избежать дисбаланса по предикторам, а не только по зависимым переменным.
Это называется несбалансированная выборка и является проблемой машинного обучения.
Чтобы было понятнее, приведу пример. Пусть у нас есть обучающая выборка в которой преобладают восходящие тренды, а значит нисходящие движения в ней представлены в меньшем количестве, по сравнению с восходящими, т.е. имеем дисбаланс.
Предположим, что нисходящих движений у нас в выборке 1 000, а восходящих 10 000. И предположим, что ошибка классификации для восходящих движений 10%. Но эти десять процентов для 10 000 примеров равны 1 000 ложных сигналов, классифицированных как прогноз нисходящих движений и примеров с нисходящими движениями у нас в выборке всего 1 000. Это значит, что какова бы ни была точность классификации нисходящих движений, то при любом ответе классификатора, прогнозирующего что будущее движение, как потенциально нисходящее, его ошибка будет не менее 50%. Т.е. чем больше примеров в обучающей выборке для какого-то одного класса - дисбаланс, тем больше влияние неверной классификации для этого класса на качество ответов классификатора для другого класса.
По этой причине очень сложно прогнозировать редкие явления: землетрясения, извержения вулканов, экономические кризисы и проч. Ведь если явление очень редкое и малопредставительно в выборке, то любая ошибка для примеров противоположных классов становится чрезмерно большой для редких явлений.
А посему обучающую выборку необходимо предварительно балансировать, чтобы в ней примеры для всех классов были представлены одинаковым количеством. В противном случае, малопредставительные классы с большей вероятностью не смогут успешно пройти тесты вне обучающей выборки. К тому же, примеры при делении генеральной выборки на обучающую и тестовую часть необходимо перемешивать с помощью ПГСЧ с равномерным распределением вероятностей, чтобы избежать скучивания примеров с похожими предикторами в какой либо части и отличающимися в другой. Т.е. чтобы избежать дисбаланса по предикторам, а не только по зависимым переменным.
А посему обучающую выборку необходимо предварительно балансировать, чтобы в ней примеры для всех классов были представлены одинаковым количеством. В противном случае, малопредставительные классы с большей вероятностью не смогут успешно пройти тесты вне обучающей выборки. К тому же, примеры при делении генеральной выборки на обучающую и тестовую часть необходимо перемешивать с помощью ПГСЧ с равномерным распределением вероятностей, чтобы избежать скучивания примеров с похожими предикторами в какой либо части и отличающимися в другой. Т.е. чтобы избежать дисбаланса по предикторам, а не только по зависимым переменным.
Пакет caret
Пара функций: downSample/upSample - уменьшает/увеличивает количество наблюдений, получая полностью сбалансированные классы. Уменьшение/увеличение наблюдений в классе ведется по алгоритму простой случайной выборки.
ПС.
Решетов!
Начни изучать R. Все чаще скатываешься на банальности.
Решетов!
Начни изучать R. Все чаще скатываешься на банальности.
Юрий, я понял мысль. Выборка действительно может быть несбалансирована как на обучении, так и на валидации. Но в реале же вы торгуете будущее, где перекос может быть очень сильный. И стратегия должна быть устойчивой к такому раскладу.
you blind yourself to date ranges; - разделение данных именно по датам (до дня икс - обучение, после - валидация)
Мысль проста. НА реале никто не позволит вам взять смешанную выборку, содержающую наблюдения из будущего и из прошлого для оценки качества реальной торговли. Все наблюдения пойдут после дня икс.
Следовательно, беря при валидации смешанную выборку (без разделения по датам), вы завышаете метрику качества на валидации. Вот и все. Потом будут неприятные сюрпризы.