Bayesian regression - Делал ли кто советник по этому алгоритму? - страница 51
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А как определяете "лучшесть" комбинации?
Базовая проблема - это проблема перечня предикторов. Обосновав перечень предикторов можно переходить ко всему остальному.
Спасибо. Я вот тоже склоняюсь к добавлению новых предикторов.
Думаете, количество используемых Вами предикторов недостаточно?
Я не знаю точно.
Я не знаю точно.
Уже писал, повторю.
Работу по отбору предикторов выполнял несколько раз, включая на заказ. Результаты излагаю нижею
Итак.
Берем некий набор предикторов, не менее 50, а лучше больше сотни.
Все наборы предикторов с которыми я имел дело (т.е. я не претендую на обобщение) можно разделить на две части:
Очень аккуратно пишу "отношение" и совершенно сознательно не употребляю какие-либо термины.
Пример предикторов:
Прошу обратить внимание, что я указываю целевую переменную. Для другой целевой переменной все может быть наоборот
Проблема наличия этих двух групп предикторов в первоначальном наборе предикторов состоит в том, что стандартные инструменты определения ВАЖНОСТИ не работают. Поэтому необходимы некоторые средства, а их я разработал и использую, которые позволяют грубо отсеять шумовые предикторы. Следует отметить, что здесь нет однозначности. Алгоритм дает порознь количественную оценку для действительных и номинальных предикторов. Меньше 2 (некая относительная величина) - шум точно. От 2 до 3: можно пользоваться,но лучше не надо....
Проблема шума состоит в том, что предикторы, относящиеся к шуму, забивают предикторы к ним не относящиеся. Например, алгоритмы randomforest, ada, svm почему-то в большей степени строят модель на этих шумовых предикторах.
Отсеяв шумовые предикторы, а в моих набора их было около 80%(!), берем остаток перечня предикторов и к нему начинаем применять инструменты из R для определения важности переменных. Реальное количество предикторов, используемых для обучения модели - примерно половина от НЕ шумовых предикторов, т.е. примерно 10% от первоначального набора.
Важность предикторов определяю в окне. При движении окна перечень предикторов из базовых 20% все время меняется. Т.е. при построении модели используется 12-15 предикторов, но они разные при движении окна вслед за котировкой.
А из-за чего весь сыр-бор?
А дело в том, что очистка набора предикторов от шумовых приводит к построению НЕ переобученных моделей.
В цифрах.
На полном наборе предикторов удается построить модели с ошибкой предсказания 3%-5%! Причем, любые алгоритмы, которые делят выборку на части, так называемые "вне выборки" - ООВ, подтверждают этот результат. Это очень хорошо видно в raatle, который всегда делить исходную выборку на части и очень радует результатами.
Но.
Если в исходной выборке имеются шумовые предикторы, то если взять настоящую "вне выборки", т.е., например, выборка для обучения с 01.06.2015 по 01.01.2016, а затем посчитать на выборке после 1 января, то запросто вместо 3%-5% можно получить ошибку и в 50% и в 70%! Причем чем дальше начало "вне выборки" отстоит от 1 января, тем хуже результат.
МОДЕЛЬ ПЕРЕОБУЧЕНА
Если очистить первоначальный набор от шумовых предикторов, то результаты следующие и одинаковые для randomforest, ada SVM, а также ряда других моделей - т.е модель ничего не решала в моих случаях, то результаты следующие: ошибка предсказания около 30% на любых наборах. За счет применения инструментов R по определению важности предикторов можно еще уменьшить ошибку примерно до 25%. Улучшить этот результат для целевой переменной ЗЗ не удалось.
Уже писал, повторю.
Работу по отбору предикторов выполнял несколько раз, включая на заказ. Результаты излагаю нижею
Итак.
Берем некий набор предикторов, не менее 50, а лучше больше сотни.
Все наборы предикторов с которыми я имел дело (т.е. я не претендую на обобщение) можно разделить на две части:
Очень аккуратно пишу "отношение" и совершенно сознательно не употребляю какие-либо термины.
Пример предикторов:
Прошу обратить внимание, что я указываю целевую переменную. Для другой целевой переменной все может быть наоборот
Проблема наличия этих двух групп предикторов в первоначальном наборе предикторов состоит в том, что стандартные инструменты определения ВАЖНОСТИ не работают. Поэтому необходимы некоторые средства, а их я разработал и использую, которые позволяют грубо отсеять шумовые предикторы. Следует отметить, что здесь нет однозначности. Алгоритм дает порознь количественную оценку для действительных и номинальных предикторов. Меньше 2 (некая относительная величина) - шум точно. От 2 до 3: можно пользоваться,но лучше не надо....
Проблема шума состоит в том, что предикторы, относящиеся к шуму, забивают предикторы к ним не относящиеся. Например, алгоритмы randomforest, ada, svm почему-то в большей степени строят модель на этих шумовых предикторах.
Отсеяв шумовые предикторы, а в моих набора их было около 80%(!), берем остаток перечня предикторов и к нему начинаем применять инструменты из R для определения важности переменных. Реальное количество предикторов, используемых для обучения модели - примерно половина от НЕ шумовых предикторов, т.е. примерно 10% от первоначального набора.
Важность предикторов определяю в окне. При движении окна перечень предикторов из базовых 20% все время меняется. Т.е. при построении модели используется 12-15 предикторов, но они разные при движении окна вслед за котировкой.
А из-за чего весь сыр-бор?
А дело в том, что очистка набора предикторов от шумовых приводит к построению НЕ переобученных моделей.
В цифрах.
На полном наборе предикторов удается построить модели с ошибкой предсказания 3%-5%! Причем, любые алгоритмы, которые делят выборку на части, так называемые "вне выборки" - ООВ, подтверждают этот результат. Это очень хорошо видно в raatle, который всегда делить исходную выборку на части и очень радует результатами.
Но.
Если в исходной выборке имеются шумовые предикторы, то если взять настоящую "вне выборки", т.е., например, выборка для обучения с 01.06.2015 по 01.01.2016, а затем посчитать на выборке после 1 января, то запросто вместо 3%-5% можно получить ошибку и в 50% и в 70%! Причем чем дальше начало "вне выборки" отстоит от 1 января, тем хуже результат.
МОДЕЛЬ ПЕРЕОБУЧЕНА
Если очистить первоначальный набор от шумовых предикторов, то результаты следующие и одинаковые для randomforest, ada SVM, а также ряда других моделей - т.е модель ничего не решала в моих случаях, то результаты следующие: ошибка предсказания около 30% на любых наборах. За счет применения инструментов R по определению важности предикторов можно еще уменьшить ошибку примерно до 25%. Улучшить этот результат для целевой переменной ЗЗ не удалось.
Спасибо.
Ход мыслей понятен. Из перечисленного для себя увидел возможность вычислить важность предикторов на нескольких частях обучающей выборки, затем сравнить списки и выбрать повторяющиеся.
Про ручной отбор ничего сказать не могу, предпочитаю сразу пользоваться помощью машины.
ЗЫ: попробую кроме важности переменных из леса решений также применить свой доморощенный метод, основанный на функции взаимной информации. Потом покажу результаты.
Проблема шума состоит в том, что предикторы, относящиеся к шуму, забивают предикторы к ним не относящиеся. Например, алгоритмы randomforest, ada, svm почему-то в большей степени строят модель на этих шумовых предикторах.