Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 188

 

Вышла новая версия jPrediction 11 Release

Исправлен один незначительный глюк (запятая в CSV не заменялась на точку для чисел). Улучшен алгоритм выбора значимых предикторов для моделей.

Загрузить апдейт можно на моём сайте (указан в профиле), первое сообщение на главной странице.

 

А я еще про отбор предикторов хотел написать...

 Помимо основного эксперимента еще немного занимаюсь анализом одного биржевого актива.

Там есть нормальные объемы, которые я также добавил в фичи.

 

Затем применил обычную лин.модель (OLS regression) [Target ~ Predictor] к каждому предиктору по отдельности на разные выходы (коих 11 штук).

 Посчитал f-стат.модели. Получилась такая картинка:

 

И тут сюрприз - все блоки предикторов, связанных с объемами оказались не нужными. Причем также оказались не нужными предикторы на основе автокорреляции приращений цены.

Еще видно, что чем больше лаг выходной переменной, тем похуже значимость. 

Потом я отсеял по F критической весь шум (на уровне 0.01).

Получалось так: 

 

Это без учета возможных взаимодействий, к сожалению...

Но для некоторых входов значимость линейной модели неплохая. 

 
Alexey Burnakov:


Я стараюсь не анализировать важность предикторов по одному. Тут в теме был хороший пример:

 

Есть два предиктора. На какой Визуально очень легко работать с анализом двух сразу, видно что вторая цель образует чёткие кластеры, которые могут быть найдены моделями. Если же использовать эти предикторы по одному, то в таком случае каждый из них будет бесполезен в предсказании.

Картинка чисто гипотетическая. Но касательно Форекса, могу по ряду признаков судить что хорошие предикторы там как-то образуют подобные кластеры, только мне нужно не 2, а 30 предикторов.
 
И опять Решетов Вас всех переплюнул. 11-ая версия просто чума. Раньше, в 10 версии было такое что предиктор использую большее количество входов не увеличивал обобщающую способность, и приходилось перетренировывать, теперь же с увеличением предикторов в модели увеличивается и обобщающая способность модели в целом, ну а работа таких моделе длится дольше и качественней, так что низкий поклон тебе Юра, ну а остальные могут и дальше гундеть и изобретать колесо. Удачи!!!!
 
Mihail Marchukajtes:

...

Раньше, в 10 версии было такое что jPrediction используя большее количество входов не увеличивал обобщающую способность, и приходилось перетренировывать, теперь же с увеличением предикторов в модели увеличивается и обобщающая способность модели в целом, ну а работа таких моделе длится дольше и качественней ...

Спасибо за обратную связь!

Тестируя 11 версию на имеющихся у меня выборках, пришёл к аналогичному выводу. Нужно было подтвердить этот гипотетический вывод независимыми исследованиями (репродукцией эксперимента). Ведь у всех разные задачи. А потому возникал потенциальный риск того, что для каких то задач классификатор даст противоположные результаты. Тем паче, что время на выбор значимых предикторов в новой версии заметно увеличилось, что не всем могло понравится.

Что касается времени обучения моделей, то его можно потенциально умалить, не ухудшая качества (обобщающей способности) - это уже дело техники. Главное - вовремя получить конструктивную обратную связь, чтобы понять: стоит ли совершенствовать jPrediction в данном направлении, или же направление оказалось неверным и нужно откатиться назад? Иначе пришлось бы тратить время и усилия на бесперспективные фичи.

 
Vizard_:

...

У себя получаю на используемых данных - 92.3%(oos).

...

Примите мои искренние поздравления! (Если Вы не врёте).

И сожаления, что это где то там у Вас, а не в открытом доступе.

Обсуждать то, что находится в закрытом доступе бессмысленно, поскольку ни доказать, ни опровергнуть Ваши "претензии" к jPrediction невозможно.

 

Только что попалась статья по теме, думая особенно интересна для любителей НС.

Для меня интересным представилась концовка статьи, в которой сравнивается ошибка предсказания В выборке и ошибка предсказания ВНЕ выборки: делается это через корреляцию этих ошибок. В моей терминологии это означает, что если корреляция высокая (в статье 0.8), то модель не переобучена.

Predictability in Network Models
Predictability in Network Models
  • Jonas Haslbeck - r
  • www.r-bloggers.com
Network models have become a popular way to abstract complex systems and gain insights into relational patterns among observed variables in almost any area of science. The majority of these applications focuses on analyzing the structure of the network. However, if the network is not directly observed (Alice and Bob are friends) but estimated...
 
Dr.Trader:

Я стараюсь не анализировать важность предикторов по одному. Тут в теме был хороший пример:

 

Есть два предиктора. На какой Визуально очень легко работать с анализом двух сразу, видно что вторая цель образует чёткие кластеры, которые могут быть найдены моделями. Если же использовать эти предикторы по одному, то в таком случае каждый из них будет бесполезен в предсказании.

Картинка чисто гипотетическая. Но касательно Форекса, могу по ряду признаков судить что хорошие предикторы там как-то образуют подобные кластеры, только мне нужно не 2, а 30 предикторов.

Вообще говоря, все это верно. На взаимодействиях появляется дополнительная информативность, превышающая сумму информации маргинальных входов.

Деревья решений, беггинг и бустинг моделируют взаимодействия легко. То есть без дополнительных усилий со стороны. Для линейных моделей много проблем. OLS регрессия учитывает порядок вхождения предикторов... Жадное поочереденое добавление предикторов в принципе работает, но из-за жадности получается как ни крути однобокая модель. То же относится к лесам и деревьям.

 

А вот по поводу включения десятков предикторов я бы осторожничал. Вы сами представляете себе взаимодействие 30 переменных? Для дерева это будет глубина как минимум 30. Нужно огромное количество данных, чтобы это смоделировать без дикого переобучения...

 На практике глубина взаимодействия до 3-5 уже достаточно. 

 
Alexey Burnakov:

Вообще говоря, все это верно. На взаимодействиях появляется дополнительная информативность, превышающая сумму информации маргинальных входов.

Деревья решений, беггинг и бустинг моделируют взаимодействия легко. То есть без дополнительных усилий со стороны. Для линейных моделей много проблем. OLS регрессия учитывает порядок вхождения предикторов... Жадное поочереденое добавление предикторов в принципе работает, но из-за жадности получается как ни крути однобокая модель. То же относится к лесам и деревьям.

 

А вот по поводу включения десятков предикторов я бы осторожничал. Вы сами представляете себе взаимодействие 30 переменных? Для дерева это будет глубина как минимум 30. Нужно огромное количество данных, чтобы это смоделировать без дикого переобучения...

 На практике глубина взаимодействия до 3-5 уже достаточно. 

По мне взаимодействие предикторов вещь чрезвычайно сомнительная. Там столько вопросов.....

А если еще взаимодействие в OLS, то это просто не мыслимо.  Если взять и на бумажке аккуратно выписать все условия,при которых применИмо OLS. А потом сравнить все что написано на бумажке с реальностью в финансовых временных рядах

ПС.

Если взять практически любую книгу по datamining, то обязательно описаны процедуры по удалению коррелированных предикторов. 

 
СанСаныч Фоменко:

Если взять практически любую книгу по datamining, то обязательно описаны процедуры по удалению коррелированных предикторов. 

Если взять практически любую книгу по datamining и применить прочитанное к рынку то увидим что оно не работает....   Может к черту эти устоявшийся стереотипы? 
Причина обращения: