Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 188
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вышла новая версия jPrediction 11 Release
Исправлен один незначительный глюк (запятая в CSV не заменялась на точку для чисел). Улучшен алгоритм выбора значимых предикторов для моделей.
Загрузить апдейт можно на моём сайте (указан в профиле), первое сообщение на главной странице.
А я еще про отбор предикторов хотел написать...
Помимо основного эксперимента еще немного занимаюсь анализом одного биржевого актива.
Там есть нормальные объемы, которые я также добавил в фичи.
Затем применил обычную лин.модель (OLS regression) [Target ~ Predictor] к каждому предиктору по отдельности на разные выходы (коих 11 штук).
Посчитал f-стат.модели. Получилась такая картинка:
И тут сюрприз - все блоки предикторов, связанных с объемами оказались не нужными. Причем также оказались не нужными предикторы на основе автокорреляции приращений цены.
Еще видно, что чем больше лаг выходной переменной, тем похуже значимость.
Потом я отсеял по F критической весь шум (на уровне 0.01).
Получалось так:
Это без учета возможных взаимодействий, к сожалению...
Но для некоторых входов значимость линейной модели неплохая.
Я стараюсь не анализировать важность предикторов по одному. Тут в теме был хороший пример:
Есть два предиктора. На какой Визуально очень легко работать с анализом двух сразу, видно что вторая цель образует чёткие кластеры, которые могут быть найдены моделями. Если же использовать эти предикторы по одному, то в таком случае каждый из них будет бесполезен в предсказании.
Картинка чисто гипотетическая. Но касательно Форекса, могу по ряду признаков судить что хорошие предикторы там как-то образуют подобные кластеры, только мне нужно не 2, а 30 предикторов....
Раньше, в 10 версии было такое что jPrediction используя большее количество входов не увеличивал обобщающую способность, и приходилось перетренировывать, теперь же с увеличением предикторов в модели увеличивается и обобщающая способность модели в целом, ну а работа таких моделе длится дольше и качественней ...
Спасибо за обратную связь!
Тестируя 11 версию на имеющихся у меня выборках, пришёл к аналогичному выводу. Нужно было подтвердить этот гипотетический вывод независимыми исследованиями (репродукцией эксперимента). Ведь у всех разные задачи. А потому возникал потенциальный риск того, что для каких то задач классификатор даст противоположные результаты. Тем паче, что время на выбор значимых предикторов в новой версии заметно увеличилось, что не всем могло понравится.
Что касается времени обучения моделей, то его можно потенциально умалить, не ухудшая качества (обобщающей способности) - это уже дело техники. Главное - вовремя получить конструктивную обратную связь, чтобы понять: стоит ли совершенствовать jPrediction в данном направлении, или же направление оказалось неверным и нужно откатиться назад? Иначе пришлось бы тратить время и усилия на бесперспективные фичи.
...
У себя получаю на используемых данных - 92.3%(oos).
...
Примите мои искренние поздравления! (Если Вы не врёте).
И сожаления, что это где то там у Вас, а не в открытом доступе.
Обсуждать то, что находится в закрытом доступе бессмысленно, поскольку ни доказать, ни опровергнуть Ваши "претензии" к jPrediction невозможно.
Только что попалась статья по теме, думая особенно интересна для любителей НС.
Для меня интересным представилась концовка статьи, в которой сравнивается ошибка предсказания В выборке и ошибка предсказания ВНЕ выборки: делается это через корреляцию этих ошибок. В моей терминологии это означает, что если корреляция высокая (в статье 0.8), то модель не переобучена.
Я стараюсь не анализировать важность предикторов по одному. Тут в теме был хороший пример:
Есть два предиктора. На какой Визуально очень легко работать с анализом двух сразу, видно что вторая цель образует чёткие кластеры, которые могут быть найдены моделями. Если же использовать эти предикторы по одному, то в таком случае каждый из них будет бесполезен в предсказании.
Картинка чисто гипотетическая. Но касательно Форекса, могу по ряду признаков судить что хорошие предикторы там как-то образуют подобные кластеры, только мне нужно не 2, а 30 предикторов.Вообще говоря, все это верно. На взаимодействиях появляется дополнительная информативность, превышающая сумму информации маргинальных входов.
Деревья решений, беггинг и бустинг моделируют взаимодействия легко. То есть без дополнительных усилий со стороны. Для линейных моделей много проблем. OLS регрессия учитывает порядок вхождения предикторов... Жадное поочереденое добавление предикторов в принципе работает, но из-за жадности получается как ни крути однобокая модель. То же относится к лесам и деревьям.
А вот по поводу включения десятков предикторов я бы осторожничал. Вы сами представляете себе взаимодействие 30 переменных? Для дерева это будет глубина как минимум 30. Нужно огромное количество данных, чтобы это смоделировать без дикого переобучения...
На практике глубина взаимодействия до 3-5 уже достаточно.
Вообще говоря, все это верно. На взаимодействиях появляется дополнительная информативность, превышающая сумму информации маргинальных входов.
Деревья решений, беггинг и бустинг моделируют взаимодействия легко. То есть без дополнительных усилий со стороны. Для линейных моделей много проблем. OLS регрессия учитывает порядок вхождения предикторов... Жадное поочереденое добавление предикторов в принципе работает, но из-за жадности получается как ни крути однобокая модель. То же относится к лесам и деревьям.
А вот по поводу включения десятков предикторов я бы осторожничал. Вы сами представляете себе взаимодействие 30 переменных? Для дерева это будет глубина как минимум 30. Нужно огромное количество данных, чтобы это смоделировать без дикого переобучения...
На практике глубина взаимодействия до 3-5 уже достаточно.
По мне взаимодействие предикторов вещь чрезвычайно сомнительная. Там столько вопросов.....
А если еще взаимодействие в OLS, то это просто не мыслимо. Если взять и на бумажке аккуратно выписать все условия,при которых применИмо OLS. А потом сравнить все что написано на бумажке с реальностью в финансовых временных рядах.
ПС.
Если взять практически любую книгу по datamining, то обязательно описаны процедуры по удалению коррелированных предикторов.
Если взять практически любую книгу по datamining, то обязательно описаны процедуры по удалению коррелированных предикторов.