Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Задача регрессии для шаговой функции.
Всем добрый день.

Есть шаговая функция, описать которую я пытаюсь с помощью регрессии. Визуально она выглядит примерно так:
Изображение

Основной вопрос как указать регресии (я использую RandomForest и градиентнй бустинг), что объясняемая переменная может принимать значения только по некотрой сетке? Кажется что это важная инфа для алгоритма.

Или подскажите, пожалуйста, как такие ограничения вносят в модели с классиечской линейной регрессией.

Спасибо

 Re: Задача регрессии для шаговой функции.
Вы получаете результат регрессионной задачи и округляете его до "сеточного" значения. Ошибку считать по округленным значениям. Если ответ правилен, то ошибка в точности равна 0.0 и обратного распространения ошибки не производить, так как коррекции не последует. С другой стороны, если ошибка имеется, то она довольно велика для хорошо обученной модели. Все это означает, что обучение будет некачественное. Ну а что вы хотели? Вы из обучающего датасета отбросили столько ценной информации!

-- 19.12.2020, 21:57 --

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

 Re: Задача регрессии для шаговой функции.
Спасибо за ответ.
Mihaylo в сообщении #1497202 писал(а):
А лучше всего сообщать природу данных, а то окажется, что вы ерундой маетесь, например, приняли задачу регрессии, а у вас просто многоклассовая классификация...


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

Mihaylo в сообщении #1497202 писал(а):
Вы получаете результат регрессионной задачи и округляете его до "сеточного" значения. Ошибку считать по округленным значениям. Если ответ правилен, то ошибка в точности равна 0.0 и обратного распространения ошибки не производить, так как коррекции не последует. С другой стороны, если ошибка имеется, то она довольно велика для хорошо обученной модели. Все это означает, что обучение будет некачественное. Ну а что вы хотели? Вы из обучающего датасета отбросили столько ценной информации!

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

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

 Re: Задача регрессии для шаговой функции.
AlphaT в сообщении #1497206 писал(а):
Не понимаю почему я отбрасываю что то из данных, поясните свою мысль пожалуйста.

У вас в обучающем датасете округленные величины. Если бы были неокругленные, то датасет в миллионы раз богаче был бы. Какова причина округления?

AlphaT в сообщении #1497206 писал(а):
Про округлять до сетки я тоже думал, но результаты регрессии очень часто сильно меньше по амплитуде моих данных. от сюда и появилась мысль что надо как то регрессии на вход дать понимание что есть сетка.

Ну меньше. Значит обучение регрессионной модели должно приводить к повышению выходных значений.
Округляете как? round(), ceil(), floor()? Надо округлять также, как округлены датасеты.

Всё-таки чувствуется, что постановка задачи сделана неверно.

 Re: Задача регрессии для шаговой функции.
Mihaylo в сообщении #1497241 писал(а):
AlphaT в сообщении #1497206 писал(а):
Не понимаю почему я отбрасываю что то из данных, поясните свою мысль пожалуйста.

У вас в обучающем датасете округленные величины. Если бы были неокругленные, то датасет в миллионы раз богаче был бы. Какова причина округления?
Всё-таки чувствуется, что постановка задачи сделана неверно.

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

Вопрос в том как использовать знание что искомая функция движется строго по сетке.

 Re: Задача регрессии для шаговой функции.
Вы сами можете объяснить, почему значения повторяются? Слово "сетка" в данном случае лишь демонстрирует, что ваш мозг не может сформулировать корректно описание данных.
Почему повторяются оценки?

 Re: Задача регрессии для шаговой функции.
Мне очень импонирует ваш снобизм, как в университет обратно вернулся.

Вам знакомо как меняются цены на акции в тиковом представлении? что бывают тики, когда цена стоит без изменений, от сюда моя метрика тоже не меняется. а скачок обусловлен тем что цена на акцию меняется на какое то количесвто price steps, а не произвольно.

а теперь вернемся обратно к вопросу.

 Re: Задача регрессии для шаговой функции.
А мой мозг абсолютно точно видит дискретность и даже величину кванта вычисляет).

Повторяющиеся значения никак не объяснить, это только обучается. Вы даже сами себе не можете объяснить данные. Пускай в этом разбирается LSTM.

 Re: Задача регрессии для шаговой функции.
Ещё раз, вы знаете что такое тики? И по каким правилам меняется цена на акции?

 Re: Задача регрессии для шаговой функции.
Я ничего не понимаю в тиках. Если вы модель сможете представить, правила, из-за которых данные таким образом повторяются, то можно пристроить к алгоритму. Если таковой модели нет, то ей нужно обучиться в обычном порядке.

-- 25.12.2020, 01:13 --

Ещё вариант: из первичных данных выделить какие-то шаблонные динамики, например, цена повторяется n раз, цена изменяется на m раз price steps со знаком плюс и т.д.

-- 25.12.2020, 01:16 --

Такие шаблонные изменения и объясняют квантованность, обладают большим связанным смыслом, нежели первичные данные.

 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group