Eugene777
Eugene777 личный блог
21 мая 2014, 17:01

Немного извратов с Random Forest в R

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

И так, возьмем 1000 дней AAPL, 20 внутридневных метрик и попробуем обучить алгоритмы случайного леса и ближайших соседей и прогнать его на последних 120 днях. 

Результат для числовых значений результата:
Немного извратов с Random Forest в R 

Теперь формализованные значения:
Немного извратов с Random Forest в R 
Выглядит хуже, почти нет разбросам в результатах работы ближних соседей и RF.

Очень хорошо оценить эффективность обучения можно с помощью коэффициента корреляции между нашими результатами и B&H.


А теперь сделаем следующую вещь. Обучим 50 случайных лесов на случайных 80 процентах данных InSample, проверим на оставшихся 20%, и посмотрим, что получилось для каждого из них на наших 120 днях.

Немного извратов с Random Forest в R 


 Теперь это можно проанализировать. Среднее значения для прогонки InSample — 68, OutOfSample — 55. Не стоит сравнивать эти значения между собой, так как объем данных отличается, но это значит, что в среднем леса в произвольной выборке были прибыльными, и наш OutOfSample в среднем тоже оказался прибыльными. 

Теперь посмотрим коэффициент корреляции между этими  значениями. Он равен -0.13, что значит, что зависимости результатов прогнозирования OutOfSample от результата пронозирования InSample нет.


А теперь посмотрим, какая эквити на OutOfSample у нас получится, если мы будем брать среднее прогнозное значение всех 50 лесов.
  
Немного извратов с Random Forest в R 
В общем, неплохо, но смущают просадки. Попробуем заменить абсолютные значения нашей выборки на термины Long/Short/Flat и брать только те случаи, когда перевес за лонг или шорт больше чем у пяти деревьев.

Немного извратов с Random Forest в R
 Получилось красивее, просадки меньше. Коэффициент корелляции равен -0.76, то есть мы в основном шортили, что было вполне оправдано. 

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

Немного извратов с Random Forest в R 

Получилось, честно говоря, не очень, ну и ладно. Данных действительно мало.
 

И так, что я всем этим хотел сказать…
— несмотря на довольно относительные предикторы, самообучающиеся алгоритмы делают интерсные вещи; 
— надо уметь оценивать эффективность обучения и использовать для этого разные возможности; 
— оценка результатов обучения чрезвычайно важна при принятии решения о переобучении и достоверности новых моделей;


На связи!
35 Комментариев
  • Тимофей Мартынов
    21 мая 2014, 17:01
    молоток!
  • Spekyl
    21 мая 2014, 17:11
    Я тебе без всяких алгоритмов скажу: до тех пор, пока люди верят, что разбив стольник на десять десяток они становятся богаче — в них будут без малейшего сомнения разгружать позиции институционалы, уверяя, что сплит 1:7 в начале июня приведет к цене за акцию в $100.

    Алиса.У нас пять червонцев. Понятно? Пять на два не делится. Понятно? Попробуем разделить на пять, получается один червонец. Получай…
    Базилио.Ты, слушай, не путай меня.
    Алиса.Боже сохрани, когда же я путала. Остается четыре червонца. Четыре на пять не делится… Понятно? (Постным голосом.)Уж так и быть, я себе и неделящиеся возьму… Я всегда готова услужить другу.
    Базилио.Запутала, обманула, тварь!
  • siva
    21 мая 2014, 17:13
    Начать стоило бы серию постов о двадцати метриках :)

    Или это грааль? ;)

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн