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

 
Dr.Trader:

 Нарисовал график зависимости R^2 и процента выигрышных случаев от числа используемых компонент. Самый лучший результат на фронттесте был при 41 компоненте (выигрыш где-то 70%, очень хорошо). Но из бэктест графиков это не узнать, они просто всё время растут. Если опираться на важность компонент, то надо было бы брать 73, что не самый лучший результат во фронттесте.

R^2 фронттеста может быть отрицательным даже при выигрыше в >50% случаев, из-за несбалансированных требуемых результатов, количество классов "0" отличается от "1", поэтому их среднее не 0.5, и R^2 от этого немного хуже. 

Используйте кроссвалидацию для подбора количества компонент. Лучшее значение на кроссвалидации затем проверяйте на валидацонном наборе.
 

Раз пошла такая пьянка, то приаттачиваю свой датасет (бинарная классификация).

Там девять входных параметров (в начале) - все информативные и один выходной (в крайнем правом столбце).

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

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

Файлы:
datasets.zip  21 kb
 
Yury Reshetov:

Раз пошла такая пьянка, то приаттачиваю свой датасет.

Там девять входных параметров (в начале) - все информативные и один выходной (в крайнем правом столбце).

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

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

1. Как доказывается "информативность предикторов"?

2. Что такое "обобщающая способность"? 

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

1. Как доказывается "информативность предикторов"?

2. Что такое "обобщающая способность"? 

1. Заметным ухудшением обобщающей способности, если убрать из выборки хотя бы один информативный предиктор

2. См. видео:


 
Yury Reshetov:

1. Заметным ухудшением обобщающей способности, если убрать из выборки хотя бы один информативный предиктор

2. См. видео:


Юрий, привет. Я постараюсь посмотреть ваши данные.
 
Alexey Burnakov:
Юрий, привет. Я постараюсь посмотреть ваши данные.

Приветствую!

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

 
Yury Reshetov:

1. Заметным ухудшением обобщающей способности, если убрать из выборки хотя бы один информативный предиктор

2. См. видео:


2. См. видео:

Извини, но обычная заумь малообразованного аспиранта, которому еще не объяснили, что кроме его любимого существуют много других людей, которые не только все это знают, не только продвинулись гораздо дальше, но и реализовали это в алгоритмах, используемыми миллионами людей (если включить сюда студентов)  

 1. Заметным ухудшением обобщающей способности, если убрать из выборки хотя бы один информативный предиктор

Поверь, к сожалению это ничего не доказывает. Более того, если набор предикторов плохой (много шумовых) то этот эффект будет тем сильнее, чем больше шума. Это объясняется очень просто: чем больше шума, тем проще алгоритму подобрать "удобное" значение.

 

По поводу проблемы в целом.

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

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

 

По поводу твоего файла. 

1. Построить 6 моделей классификации на твоих данных не удалось: ошибка свыше 50%. Если хочешь могу выложить здесь результаты

2. Причиной такого результата является то, что у тебя очень плохой набор предикторов - шум, т.е. предикторы, не имеющие отношение к целевой переменной. Предикторы 6, 7  и 8 имеют некоторую предсказательную способность, но очень маленькую. Я с такими предикторами не работаю. Остальные просто шум. 

 

ПС.

Если тебя реально интересует тема, то caret. Освоишь, будешь учить этого умника с ролика. В caret почти 200 моделей + весьма полезные функции предварительной подготовки + два очень качественных алгоритма отбора предикторов.

 

ПСПС.

Как-то на форуме выкладывал свое видение того что значит "предиктор имеет отношение к целевой переменной" 

Итак.

Берем целевую переменную: мужчина/женщина.  

Предиктор: одежда.

Если предиктор (одежда) содержит только юбки и штаны, то для населения целого ряда стран этот предиктор будет на 100% иметь отношение к целевой переменной - взаимооднозначное. Но одежда бывает разной и большего разнообразия. Поэтому не 100%, а меньше. Т.е. получаем, что некоторый набор одежды может иметь отношение к целевой переменной, а другой в принципе может не иметь вообще. Т.е. шум. Поэтому задача стоит в том, как найти такие НЕ ШУМОВЫЕ предикторы, которые ко всему в одном окне будут шумом, а в другом не будут таковым. А какова мера этой "шумности"?   

 
Yury Reshetov:

Приветствую!

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

У меня тоже есть вопрос. Нужно построить предсказатель на train и замерить ошибку на test? И можно будет сравнить с вашим результатом, так?
 
Alexey Burnakov:
У меня тоже есть вопрос. Нужно построить предсказатель на train и замерить ошибку на test? И можно будет сравнить с вашим результатом, так?
Угу.
 

Коллеги, если будет время, можете мне позадавать вопросы под статьей? https://habrahabr.ru/company/aligntechnology/blog/303750/

 

А то Хабр молчит вообще! 

Методические заметки об отборе информативных признаков (feature selection)
Методические заметки об отборе информативных признаков (feature selection)
  • habrahabr.ru
Всем привет! Меня зовут Алексей Бурнаков. Я Data Scientist в компании Align Technology. В этом материале я расскажу вам о подходах к feature selection, которые мы практикуем в ходе экспериментов по анализу данных. В нашей компании статистики и инженеры machine learning анализируют большие объемы клинической информации, связанные с лечением...
Причина обращения: