Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2550
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У Владимира было в статье про это, не помню как назывался тот пакет, но он как раз выкидывал не прогнозируемые строки из выборки
Интересно, надо будет поискать. Но, я то хочу выкидывать не то, что не прогнозируемые, а те, что не встречаются в выборке вне обучения. Даже интересно их как то пометить конечно, а не просто выкинуть - идентифицировать.
Интересно, надо будет поискать. Но, я то хочу выкидывать не то, что не прогнозируемые, а те, что не встречаются в выборке вне обучения. Даже интересно их как то пометить конечно, а не просто выкинуть - идентифицировать.
Возможно, речь об удалении выбросов в наблюдениях, которые могут быть двух типов - по величине ответа и по величине предикторов (могут оба совмещаться в одном наблюдении). Собственно выбросами называются первые, а вторые обычно называются как-то по другому. Эта наука хорошо проработана для линейной регрессии. Наверное, можно каждое наблюдение из test проверить не является ли оно выбросом в каком-то смысле относительно exam.
Интересно, надо будет поискать. Но, я то хочу выкидывать не то, что не прогнозируемые, а те, что не встречаются в выборке вне обучения. Даже интересно их как то пометить конечно, а не просто выкинуть - идентифицировать.
У Владимира было в статье про это, не помню как назывался тот пакет, но он как раз выкидывал не прогнозируемые строки из выборки
Пакет NoiseFiltersR. Посмотрите статью.
Самое оптимальное метапараметры выбирать не по одному участку test, а на нескольких склеенных собранных кросс валидацией или валкинг форвардом. Недавно обсуждали.
А как правильнее потом использовать результаты CV? брать лучшие найденные параметры модели и обучать потом на всем датасете, либо юзать ее только для выбора хороших датасетов
например, на выходе такая таблица
Пакет NoiseFiltersR. Посмотрите статью.
Если с шумовыми предикторами всё более-менее понятно, то с шумовыми примерами не очень. Хотелось бы узнать побольше о способах их определения (в смысле теории, а не названий используемых пакетов/функций, хотя конечно в R всегда есть ссылки на статьи). Понятно, что при классификации должен быть класс "не торговать", поскольку стремление всё время быть в рынке считается ошибкой. Но не очень понятно как корректно описать этот класс в более-менее формальном виде.
А как правильнее потом использовать результаты CV?
Я делаю оптимизацию гиперпараметров модели (глубина обучения дерева или число примеров в листе, к-во деревьев и т.п.) и датасета (число строк, можно комбинации фичей)
Прогоняю все эти варианты, потом по лучшему суммарному результату валкинг форварда выбираю лучший вариант параметров модели и данных. Кросс-валидация на мой взгляд хуже, валкинг форвард - это копия того, как будет в реальности: поторговали неделю - переобучились, еще неделю, еще переобучились и т.д.
На всём датасете - нелогично.
Какую наилучшую глубину истории получил - на такой же и дальше обучаться. У меня модель обученная N раз по 50000 строк М5 (почти год) может показывать 52% на сумме всех форвардов , если обучать со всеми теми же параметрами и с отличием только в глубине истории, т.е. на 70000 или 30000 строках, то будет уже менее 50% на сумме всех форвардов.
Причина в том, что в листья будут попадать не те же самые примеры. Деревья могут больше или меньше листьев иметь и т.п. Думаю, что для разных по размеру датасетов надо менять глубину или число примеров в листе.
Я делаю оптимизацию гиперпараметров модели (глубина обучения дерева или число примеров в листе, к-во деревьев и т.п.) и датасета (число строк, можно комбинации фичей)
Прогоняю все эти варианты, потом по лучшему суммарному результату валкинг форварда выбираю лучший вариант параметров модели и данных. Кросс-валидация на мой взгляд хуже, валкинг форвард - это копия того, как будет в реальности: поторговали неделю - переобучились, еще неделю, еще переобучились и т.д.
На всём датасете - нелогично.
Какую наилучшую глубину истории получил - на такой же и дальше обучаться. У меня модель обученная N раз по 50000 строк М5 (почти год) может показывать 52% на сумме всех форвардов , если обучать со всеми теми же параметрами и с отличием только в глубине истории, т.е. на 70000 или 30000 строках, то будет уже менее 50% на сумме всех форвардов.
Причина в том, что в листья будут попадать не те же самые примеры. Деревья могут больше или меньше листьев иметь и т.п. Думаю, что для разных по размеру датасетов надо менять глубину или число примеров в листе.
Ну, по моему мнению, cv нужна для оценки качества датасета, а не робастности конкретной модели. Если средняя ошибка на к-фолдах приемлемая, можно потом на этом датасете обучить модель и она тоже будет неплохой. Можно позаимствовать параметры усреднённые из моделей, использованных для cv.
Наверное, можно каждое наблюдение из test проверить не является ли оно выбросом в каком-то смысле относительно exam.
Вот это и было бы интересно узнать!
Я к тому, что рынок изменчив и цикличин, и в теории любая модель, если допустить, что события повторяются (а иначе нет смысла в обучении), будет иметь высокую точность в разные периоды своего существования, и вполне вероятно, что на проверочных участках просто будет уже другой рынок, другая волна. Обучение производиться на наиболее выраженных закономерностях, но вправе ли мы считать, что они будут столь же устойчивы!? Я думаю, что как раз качество модели зависит от предикторов, описывающих устойчивые закономерности, поэтому и обучаться следует на тех примерах, что характерны по исходу на разных участках выборки.