Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3282
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
тем, что я не люблю общаться с безграмотными софистами и психологами )
такие люди не производят полезный контент
Ваша "любовь" влияет каким то магическим образом на данные?
Это же не подсчет всех возможных коррелирующих паттернов, а сравнение исходника с другими данными. Здесь матрица и не нужна, достаточно вектор.
Это ядро построчного расчета матрицы.
Это ядро построчного расчета матрицы.
PearsonCorrM раз в 40-50 быстрее считал построчной алглибовской, наверное даже быстрая самоделка такой разрыв в скорости не преоделеет.
Интересно, а если матрицу посчитать и такую же быстрым алгибовским алгоритмом PearsonCorrM. Кто быстрее будет.
PearsonCorrM раз в 40-50 быстрее считал построчной алглибовской, наверное даже быстрая самоделка такой разрыв в скорости не преоделеет.
Здесь в два раза отставание самоделки от PearsonCorrM.
Сравнил скорость обучения CatBoost в питоне и через командную строку:
- На 20% быстрей от момента запуска и до сохранения моделей, с учётом чтения выборки
- На 12% быстрей сам процесс обучения
Проверка была на одной модели - результат обучения идентичный.
Быстрей, разумеется, командная строка.
Сравнил скорость обучения CatBoost в питоне и через командную строку:
- На 20% быстрей от момента запуска и до сохранения моделей, с учётом чтения выборки
- На 12% быстрей сам процесс обучения
Проверка была на одной модели - результат обучения идентичный.
Быстрей, разумеется, командная строка.
Вы все еще командной строкой запускаете EXE-шники?
Можно же через WinExec и даже оптимизировать в тестере.
Catboost не пробовал, но думаю можно что-то придумать.
Еще возможная проблема, если файл модели огромный, то он может долго записываться, т.е. Файл уже существует, но не записан до конца. Возможно надо будет сделать доп паузу или проверять, что файл не закрыт от чтения процессом записи...Самое сложное, определить момент окончания обучения. Я это делаю проверкой появления файла с моделью в папке agent_dir+"\\model.bin" 1 раз в секунду. Куда кладет файл модели Catboost - не знаю, возможно придется искать его в другом месте.
Вы все еще командной строкой запускаете EXE-шники?
Можно же через WinExec и даже оптимизировать в тестере.
Я запускаю bat файлы - пока это самый удобный вариант для текущих задач.
Пока только одна задачка есть для автоматического запуска обучения после получения выборки - разведывательный поиск. Планирую чуть позже под неё сделать запуск автоматом bat файла.
Catboost не пробовал, но думаю можно что-то придумать.
Самое сложное, определить момент окончания обучения. Я это делаю проверкой появления файла с моделью в папке agent_dir+"\\model.bin" 1 раз в секунду. Куда кладет файл модели Catboost - не знаю, возможно придется искать его в другом месте.
Еще возможная проблема, если файл модели огромный, то он может долго записываться, т.е. Файл уже существует, но не записан до конца. Возможно надо будет сделать доп паузу или проверять, что файл не закрыт от чтения процессом записи...Решение интересное у Вас - посмотрю, может и его возьму для применения.
Но, вроде есть возможность получить от исполняемой программы ответ об окончании - я этот подход хотел использовать.
Вариант с файлами - если запускать батник, то опять же - просто можно создать новый файл в конце задания.
Может относительная успешность варианта -1 и 0 в размере выборки train, и следует её уменьшить? Вообще, похоже что Recall на это реагирует.
Как считаете, должен ли результат быть при таких комбинациях сопоставим друг с другом в нашем случае? Или данные безвозвратно устаревают?
Разбил выборку train на 3 части, обучил 3 набора для варианта -1 и варианта 0, а так же обучил в качестве трёх выборок только изначальную train.
Вот что получилось.
Сделал такой обобщающий показатель PR=(Precision-0.5)*Recall
Похоже, что обучение происходит за счет 2 и 3 части выборки train - сейчас объединил их и запустил обучение - посмотрим, что получится.
И всё же, похоже, что это может быть не плохой метод для оценки случайности обучения. В идеале обучение должно быть относительно успешно на каждом отрезке, иначе совсем нет гарантии, что завтра модель просто перестанет работать.
Похоже, что обучение происходит за счет 2 и 3 части выборки train - сейчас объединил их и запустил обучение - посмотрим, что получится.
И всё же, похоже, что это может быть не плохой метод для оценки случайности обучения. В идеале обучение должно быть относительно успешно на каждом отрезке, иначе совсем нет гарантии, что завтра модель просто перестанет работать.
А вот и результат - два последних столбца
Действительно, результаты улучшились. Можно сделать предположение, что чем больше выборка, тем лучше будет результат обучения.
Надо попробовать обучиться на 1 и 2 части выборки train - и если результаты будут не сильно хуже, чем на 2 и 3 части, то фактор свежести выборки можно считать менее значимым, чем объём.
Много раз писал о "предсказательной способности предикторов". которая вычисляется как расстояние между двумя векторами.
Попался список инструментов для вычисления расстояния:
Это кроме стандартного, в котором свой набор расстояний