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

 
Maxim Dmitrievsky #:
Ну, по моему мнению, cv нужна для оценки качества датасета, а не робастности конкретной модели. Если средняя ошибка на к-фолдах приемлемая, можно потом на этом датасете обучить модель и она тоже будет неплохой. Можно позаимствовать параметры усреднённые из моделей, использованных для cv.
От датасета мы все время разные куски будем брать. Я оптимизирую и датасет (число строк и фичи) и параметры модели.
 
Aleksey Nikolayev #:

Наверное, можно каждое наблюдение из test проверить не является ли оно выбросом в каком-то смысле относительно exam.

Вот это и было бы интересно узнать!

Я к тому, что рынок изменчив и цикличин, и в теории любая модель, если допустить, что события повторяются (а иначе нет смысла в обучении), будет иметь высокую точность в разные периоды своего существования, и вполне вероятно, что на проверочных участках просто будет уже другой рынок, другая волна. Обучение производиться на наиболее выраженных закономерностях, но вправе ли мы считать, что они будут столь же устойчивы!? Я думаю, что как раз качество модели зависит от предикторов, описывающих устойчивые закономерности, поэтому и обучаться следует на тех примерах, что характерны по исходу на разных участках выборки.

 
mytarmailS #:
Можно через деревяные модели.. 
Разшыть модель на правила,  проанализировать правила по нужной статистике(повторяемость еще что то..) , посмотреть появляеться ли правило на новых данных..

Пакет "intrees"  5 строчек кода и вперед

Такое уже давно делаю с листьями, но это не совсем то - это не позволяет выявить нетипичные примеры в выборке.

 
Vladimir Perervenko #:

Пакет NoiseFiltersR. Посмотрите статью

Посмотрел статью, как я понял данный пакет не дает существенных результатов - прирост примерно 3%, но и это интересно - можете объяснить принцип его работы?

 
elibrarius #:
От датасета мы все время разные куски будем брать. Я оптимизирую и датасет (число строк и фичи) и параметры модели.

Забыл, у Вас целевая цвет/тип текущей часовой свечи?

 
Aleksey Nikolayev #:

Если с шумовыми предикторами всё более-менее понятно, то с шумовыми примерами не очень. Хотелось бы узнать побольше о способах их определения (в смысле теории, а не названий используемых пакетов/функций, хотя конечно в R всегда есть ссылки на статьи). Понятно, что при классификации должен быть класс "не торговать", поскольку стремление всё время быть в рынке считается ошибкой. Но не очень понятно как корректно описать этот класс в более-менее формальном виде.

Три варианта обработки шумовых примеров: удалить, переразметить(исправить разметку) и выделить шумовые примеры в отдельный класс. Из моего опыта около 25% выборки - "шум". Повышение качества около 5%, зависит от моделей и подготовки данных. Применяю иногда.

Есть еще одна проблема при использовании предикторов - их дрейф. И эту проблему нужно определять и  учитывать и при тестировании и при эксплуатации. В приложении  перевод статьи (поищите и другие в сети) и есть пакет drifter. Он не единственный. Но суть в том, что при выборе предикторов нужно учитывать не только важность но и их дрейф. Сильно дрейфующие выбрасывать или трансформировать, для слабо дрейфующих учитывать(делать поправку) при тестировании и работе. 

Удачи

Файлы:
Drift1.zip  2238 kb
 
Aleksey Vyazmikin #:

Забыл, у Вас целевая цвет/тип текущей часовой свечи?

Цвет свечи даже с ошибкой 30% может быть сливным. Мы ж не знаем сколько прибыли получим с нее.. как правило цвет хорошо угадывается в с медленных движениях цены (ночных), а 1 неугаданная сильная дневная свеча может стоить 10 маленьких ночных. Думаю, что угадывать цвет свечей - это опять иметь на выходе рандом (из за случайных размеров).
Поэтому классификацию делал с ТП, СЛ. Если они равны, то 52% успешных сделок уже прибылен. Если ТП=2*СЛ. То >33% успешных будут давать прибыль. Самое лучшее, что у меня получалось это 52-53% успешных сделок при ТП=СЛ за 2 года. Но вообще, я уже думаю на регрессию переходить с нефиксированными ТП/СЛ. Точнее как-то сделать классификацию на регрессии.
 

Несколько лет не был на форуме, а воз и ныне там. как в песне: "Каким ты был, таким остался, орел степной, казак лихой...".

Статистика начинается с аксиомы, которая будучи аксиомой, не обсуждается:


"Мусор на входе- мусор на выходе".


В принципе не существует и не может существовать математических методов, которые из мусора сделают конфетку. Или имеется набор предикторов ПРЕДСКАЗЫВАЮЩИХ учителя, или у его нет.

А модели практически никакой роли не играют как и разные там кросс-валидации и прочие вычислительно емкие извращения.  


PS.

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

 
Vladimir Perervenko #:

Есть еще одна проблема при использовании предикторов - их дрейф.

Дрейф это та же нестацынарность как я понял?

Что если натренировать модель которая берет цену на вход , а на выходе максимально стацыонарный ряд который коррелирует с ценой? Те как бы создать стацыонарный аналог цены ну и уже с ним работать далее, строить признаки тренировать модели итп?  пробовали что то подобное?

 
Vladimir Perervenko #:

Есть еще одна проблема при использовании предикторов - их дрейф. И эту проблему нужно определять и  учитывать и при тестировании и при эксплуатации. В приложении  перевод статьи (поищите и другие в сети) и есть пакет drifter. Он не единственный. Но суть в том, что при выборе предикторов нужно учитывать не только важность но и их дрейф. Сильно дрейфующие выбрасывать или трансформировать, для слабо дрейфующих учитывать(делать поправку) при тестировании и работе.

Согласен, нестационарность (разладка) сильно всё усложняет. К сожалению, устроена она у нас гораздо сложнее чем в примере со спамом. Но учитывать её надо обязательно.