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

 
elibrarius:
Планирую с xgboost  поэксперементировать через R, вроде все что мне нужно там есть. Да и вроде она очень быстрая и память оптимально использует.
100,000 примеров с например 100 предикторами переварит?

аще быстрая

как научусь сокранять матрицы в mql в нормальном виде в файл (тот еще гемор ))) сразу проверю на своих данных

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

по поводу вышепредложенной книги - когда вижу что в текст вставлено слишком много лишних слов и междометий, сразу осознаю что автор чекнулся и закрываю )) 

 
Maxim Dmitrievsky:

аще быстрая

как научусь сокранять матрицы в mql в нормальном виде в файл (тот еще гемор ))) сразу проверю на своих данных

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

по поводу вышепредложенной книги - когда вижу что в текст вставлено слишком много лишних слов и междометий, сразу осознаю что автор чекнулся и закрываю )) 

НС из за BackProp-a при большом количестве шума не может важные данные найти (а у нас все дальние бары почти шумовые, важно по сути сверху пришли или снизу).

С лесами пока не понял, как они с шумом справляются (кроме того, что это голосование множества разных деревьев).


А само одиночное дерево может шум подавлять? (Из того что читал год назад вспоминаю что оно может полностью запомнить выборку вместе с шумом)

 
elibrarius:
НС из за BackProp-a при большом количестве шума не может важные данные найти (а у нас все дальние бары почти шумовые, важно по сути сверху пришли или снизу).

С лесами пока не понял, как они с шумом справляются (кроме того, что это голосование множества разных деревьев).


А само одиночное дерево может шум подавлять? (Из того что читал год назад вспоминаю что оно может полностью запомнить выборку вместе с шумом)

точно так же ансамбли нейросетей на бэггинге строятся и получается то же самое что лес

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

лес "типа" не переобучается из-за случайного сэмплирования, но по факту переобучается очень легко и непренужденно

обе надо регуляризовать либо через Decay (шаг градиента), ранний останов, либо через параметр r у леса, либо делать препроцессинг, но все эти улучшения обычно в пределах 5-10%. На плохих данных обе модели будут работать одинаково плохо

насчет бустинга (именно экстремального, а не просто GBM) грят он прям не сильно переобучается, надо смотреть, ничего сказать не могу

https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

 
Vizard_:

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

О Воронцове и моём отчаянии по поводу твоих издевательств я писал, но мои посты удалили, не уподобляйтесь грамарнацикам, целевая моя не беспонтовая а - основа для Грааля, у меня серое(флет) и цветное(тренд) различается с точностью до 90%, синее и красное для наглядности, направление я не использую, зеленый индикатор беру абсолютное значение.

 
Maxim Dmitrievsky:

как научусь сокранять матрицы в mql в нормальном виде в файл (тот еще гемор ))) сразу проверю на своих данных

создай массив структур и пиши при необходимости в каждую такую структуру матрицу и сбрасывай за один раз с помощью FileWriteArray()

Документация по MQL5: Файловые операции / FileWriteArray
Документация по MQL5: Файловые операции / FileWriteArray
  • www.mql5.com
//|                                          Demo_FileWriteArray.mq5 | //|                        Copyright 2013, MetaQuotes Software Corp. | //|                                              https://www.mql5.com | //| Структура для хранения данных о ценах                            |...
 
elibrarius:
Нет не больших, он  на малых числах объяснял по 10: 8:2 против 6:4. Но у нас то данных очень много.


Сколько примеров можно считать репрезентативными для ВР? Я обычно меньше 10000 не использую, малого класса в ней хотя бы 1000 должна иметься

Для деревьев есть замечательный график зависимости ошибки от количества деревьев.

Так для часовиков количество деревьев более более 100 ошибку не уменьшает.

График выглядит следующим образом:



Можно брать разные размеры файла и получить ответ на Ваш вопрос.

Но это не все.

Для rf имеется еще один параметр "Sample Size". Им можно нивелировать разницу в класса. По-любому  это параметр очень сильно влияет на размер ошибки.

Например.

Для Sample Size = 1000, 500 с размером файла 7500 строк сбалансированный по классам выглядит удручающе. Но это на первый взгляд и не обязательно удручающе. Предположим класс "0" - это long, а класс "1" - "вне рынка" . Ошибка для "вне рынка" свыше 0.5 - это означает, что лепит от балды покупку. А если поменять местами, то получится, что лепит от балды "вне рынка", а вот ошибка "лонга очень маленькая.



А тот же файл с Sample Size = 1000, 1000 выглядит очень прилично.

 
Igor Makanu:

создай массив структур и пиши при необходимости в каждую такую структуру матрицу и сбрасывай за один раз с помощью FileWriteArray()

у меня заранее неизвестно кол-во столбцов.. а массивы структур с динамическими массивами внутри вроде в файлы не пишутся? ) вообще швах какой-то..

надо просто сохранить 2-d array, кол-во столбцов которого заранее неизвестно

 
Maxim Dmitrievsky:

точно так же ансамбли нейросетей на бэггинге строятся и получается то же самое что лес

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

лес "типа" не переобучается из-за случайного сэмплирования, но по факту переобучается очень легко и непренужденно

обе надо регуляризовать либо через Decay (шаг градиента), ранний останов, либо через параметр r у леса, либо делать препроцессинг, но все эти улучшения обычно в пределах 5-10%. На плохих данных обе модели будут работать одинаково плохо

насчет бустинга (именно экстремального, а не просто GBM) грят он прям не сильно переобучается, надо смотреть, ничего сказать не могу

https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

Все примерно одинаково: rf, xgboost, SVM, GLM, nnet.

На одних участках одна модель лучше другой, на других хуже - все единицы процентов. 

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

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

Все примерно одинаково: rf, xgboost, SVM, GLM, nnet.

На одних участках одна модель лучше другой, на других хуже - все единицы процентов. 

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

ну тогда и заморачиваться шибко не надо.. у меня цель сейчас проверить саму библиотеку alglib через стороннюю, убедиться что лес\нейросеть работает корректно или же наоборот стремно реализзована

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

 
Maxim Dmitrievsky:

у меня заранее неизвестно кол-во столбцов.. а массивы структур с динамическими массивами внутри вроде в файлы не пишутся? ) вообще швах какой-то..

надо просто сохранить 2-d array, кол-во столбцов которого заранее неизвестно

динамические массивы не пишутся с помощью FileWriteArray()

значит только поэлементно писать массив в файл, как вариант открыть файл и по строкам массив собирать в string с разделителем "  ,  "  и и затем писать каждую строку в файл .csv 

Причина обращения: