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

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

Все пакеты (модели) можно поделить на две категории:

  • в принципе годятся
  • в принципе не годятся 

Результативность тех пакетов, которые в "принципе годятся" примерно одинакова, различия не существенны.

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

 

ПС.

Из собственного опыта. У меня свыше 75% трудоемкости в построении ТС - это подбор предикторов, если вообще удается подобрать такой набор для конкретной целевой переменной. 

Сан Саныч, привет

 

А вот если по твоей методике на 3х непересекающихся отрезках данных на обучении у нас разная значимость предикторов получилась, то они нестационарны (шумы и т.д.) следует? 

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

Все пакеты (модели) можно поделить на две категории:

  • в принципе годятся
  • в принципе не годятся 

Результативность тех пакетов, которые в "принципе годятся" примерно одинакова, различия не существенны.

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

 

ПС.

Из собственного опыта. У меня свыше 75% трудоемкости в построении ТС - это подбор предикторов, если вообще удается подобрать такой набор для конкретной целевой переменной. 

какие модели, о чем вы вообще говорите ... это как человек спрашивает - "который час?"  , а ему отвечают "что бы вы хотели чтоб я вам станцевал?"  :)

никогда, прошу вас, нет умоляю никогда так не делайте больше, не ужели вам проще написать 10 строчек текста чем прочитать две строчки вопроса 

 
mytarmailS:

Может кому то будет интересно,  нашел пакет в котором можно симулировать торговлю, и строить торговые системы называется quantstrat 

http://www.rinfinance.com/agenda/2013/workshop/Humme+Peterson.pdf 

репост
 
Alexey Burnakov:

Сан Саныч, привет

 

А вот если по твоей методике на 3х непересекающихся отрезках данных на обучении у нас разная значимость предикторов получилась, то они нестационарны (шумы и т.д.) следует? 

ЗнАчимость предикторов получается только один раз - при обучении модели. Потом эта модель ПРИМЕНЯЕТСЯ, а не учится.
 
СанСаныч Фоменко:
ЗнАчимость предикторов получается только один раз - при обучении модели. Потом эта модель ПРИМЕНЯЕТСЯ, а не учится.
У вас же там нужно несколько раз обучить, насколько я помню?
 
Alexey Burnakov:
У вас же там нужно несколько раз обучить, насколько я помню?

Да не в коем случае!

Еще раз.

1. Берем большой кусок временных  рядов-предикторов, например 10 000 наблюдений (строк)

2. Делим на две части, строго механически: 7000 первая часть и 3000 вторая часть

3. Первую часть делим случайным образом на три части: для обучения, тестирования и валидации

4. Учим (подгоняем - fit) модель на выборке для обучения.

5. Обученную модель применяем к выборкам тестирования, валидации.

6. Если на всех трех выборках - обучения, тестирования и валидации ошибка примерно равна, то п.7.

7. Применяем модель модель на второй части, которая суть не нарушенный в своей временной последовательности временной ряд.

8. Если ошибка и на этом участке примерно равна предыдущим трем, то:

  • данный набор предикторов не приводит к переобучению модели
  • ошибка, которая была получена на всех ЧЕТЫРЕХ наборах (трех случайных и одного последовательного) и является ошибкой, которую очень сложно уменьшить за счет подбора модели. 
У меня эффективность моделей по ошибке следующая: ada, randomforest, SVM и их многочисленные разновидности. nnet гораздо хуже. 

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

Да не в коем случае!

Еще раз.

1. Берем большой кусок временных  рядов-предикторов, например 10 000 наблюдений (строк)

2. Делим на две части, строго механически: 7000 первая часть и 3000 вторая часть

3. Первую часть делим случайным образом на три части: для обучения, тестирования и валидации

4. Учим (подгоняем - fit) модель на выборке для обучения.

5. Обученную модель применяем к выборкам тестирования, валидации.

6. Если на всех трех выборках - обучения, тестирования и валидации ошибка примерно равна, то п.7.

7. Применяем модель модель на второй части, которая суть не нарушенный в своей временной последовательности временной ряд.

8. Если ошибка и на этом участке примерно равна предыдущим трем, то:

  • данный набор предикторов не приводит к переобучению модели
  • ошибка, которая была получена на всех ЧЕТЫРЕХ наборах (трех случайных и одного последовательного) и является ошибкой, которую очень сложно уменьшить за счет подбора модели. 
У меня эффективность моделей по ошибке следующая: ada, randomforest, SVM и их многочисленные разновидности. nnet гораздо хуже. 

Вот. Спасибо.

У меня на обучении гораздо лучше результат, чем на остальных выборках. А на crossvalidation результат гораздо ближе к финальному out of sample. 

Я думаю, ваш тезис о равенстве ошибок на всех выборках говорит об underfit модели. То есть, везде одинаково так себе. 
 
Alexey Burnakov:
....То есть, везде одинаково так себе. 

Так себе - просто мозгов и времени не хватает.

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

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

Так себе - просто мозгов и времени не хватает.

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

Особенно по смыслу муторно. Я не про это.

Если у вас одинаково хорошо везде, это достижение. Но чаще всего одинаково будет плохо, чего позволяет достичь слабая модель.
 
по ходу ветка умерла....
Причина обращения: