Ликбез по независимым переменным, степеням свободы и переобученности модели
Пусть есть некоторый поток эмпирических данных. И есть некоторая модель, нацеленная на максимизацию некоторого критерия на этих данных. И в этой модели 100500 параметров (коэффициентов), но значения всех этих параметров получаются («порождаются») в результате вычисления некоторой линейной регрессии, построенной на (работающей с) этих эмпирических данных, то есть эти параметры суть коэффициенты регрессии, а не «ручки, которые мы крутим, настраивая модель».
Вопрос: можно ли в этом случае говорить, что эти 100500 параметров (коэффициентов) являются независимыми переменным и «степеням свободы» модели? И, соответственно, опасаться, что модель «переобучится» — из-за того, что в ней слишком много параметров?
Они у Вас на схеме 'нейронными связями' соединены. Наглядно зависимости изображены.
Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет. И все модели со связями лишь помогают точно или не очень получить значение этой характеристики.
Характеристика — усреднённая по интервалу наблюдений. Переобученность будет означать, что Вы не усреднённую уже считаете, а чуть ли не на каждой свече своё значение. Что не имеет практического применения для торговли на следующих свечах.
Нужно из общих принципов понимать какое значение характеристики будет в случае белого шума на данном интервале, а какое уже покажет некий неслучайный эффект.
«Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет»
— а вот для это ряда, например:
113, 286,862,1277,7639,3762, 762, 8630, 337, 7633, 9812,4438
— какова эта характеристика?
Потому что иначе — тривиально: по 113 покупаем, по 7639 продаем, по 762 покупаем, по 8630 продаем и т.д.
Потому что мне грешным делом показалось, что вы умеете «вычислять» характеристику показывающую, возможна ли на данном ценовом ряде любая, в смысле — хотя бы какая-нибудь вообще — механическая торговля.
Бумаги относительно такой характеристики есть хорошие (ао Сбербанк, к примеру), а есть тугие. Хорошие — когда интервалов с подходящими значениями характеристики на истории много. Характеристика фактически неким образом подсчитываемая локальная волатильность. Понятно, что можно много чего придумать и применить, когда она достаточно высока.
SergeyJu, не понял вопрос, и даже не понял, он задан вообще или применительно к текст поста?
В тексте сказано "... эти параметры суть коэффициенты регрессии...". Если мы производим регрессию переменной Y на 100500 переменных Xi (i=1...100500) со свободным членом, то получим 100501 числовой коэффициент в формуле регрессии.
Итого вопрос. Вы Х+1 к-т регрессии получили с Божьей помощью, или их можно считать степенями свободы Вашей системы?
SergeyJu, только не «по сути», а «по форме». Линейная регрессия по форме — это скалярное произведение набора данных длины Х с набором коэффициентов длины Х плюс константа.
А по сути, или, если хотите, по процедуре, этот набор коэффициентов возникает из аналитического решения задачи линейной регрессии.
«Можно ли их считать степенями свободы системы» — вот именно это я и спросил. И я не знаю ответа.
Вы так и не поняли, что Вас спросили о том, откуда Вы взяли А или откуда Вы взяли в?
Если у Вас А прямоугольная матрица из сдвинутых данных, а в — столбец сдвинутых на 1 вперед данных же (классическое построение в духе учебников), то у Вас проблема не в числе степеней свободы, в а соотношении сигнала и шума. Работает эта штука, если грубо, когда сигнал когерентен, а шум — нет. Это скорее всего не наш случай. Но в любом случае неплохо применить SVD разложение к А и для начала поискать хоть какой-то смысл в наборе максимальных собственных чисел и векторов.
Да, и с этой формулой не все так уж гладко. Изучите тему регуляризации.
Надо переводить вопрос в практическую плоскость).
Если так сделать, то окажется, что:
— Модель модели рознь, какие-то более устойчивы к переобучению, какие-то менее, в рамках типа модели есть рычаги влияния на переобучение.
— В общем случае модель переобучается не из-за числа параметров, да это фактор, но там все сложнее. Опять-таки если отталкиваться от практической плоскости, то ты просто А. Отслеживаешь переобученность, Б. Влияешь на её степень.
— В посте было про максимизацию — да, максимизация, только обычно пытаются максимизировать ну что, например, прибыль, точность, winrate, PF, а надо максимизировать… вычленение закономерности от шума.
но плохо работает на «проверочном» участке (или как там это называется, что-то терминологию начал забывать),
то у нас есть два варианта объяснения 1) природа рынка постоянно (хотя и постепенно, возможно) меняется, поэтому МТС перестала работать;
2) МТС переобучилась.
Есть комплекс представлений о том, что обучаемые (оптимизируемые) «машинки» могут «переобучаться», если в них напихать слишком много «свободных параметров», и по всем ним устроить оптимизацию. Именно отсюда вопрос поста: если «много параметров» это вот именно много коэффициентов (классической линейной) регрессии — то следует ли об этом думать как об «опасности переобучения»?
Ivan FXS,
Да, на OOS не работает как на IS — ты либо переподогнался, либо OOS и IS пришлись на разные, критичные для модели, фазы рынка, или закономерность рассосалась/ушла.
Для каждого из вариантов есть свои инструменты и приемы, как это понят, отследить и забороть / взять под некоторый контроль.
Риск переобучения есть у всего и всегда — где есть два куска данных и есть модель хотя бы с 1 параметром. Дальше думаем головой и пытаемся добиться максимального приближения IS и OOS результатов. И, кстати, часто такое приближение будет выглядеть как опускание задранных IS планок.
Т.к. эти переменные явно связаны между собой, как решение некоей СЛАУ.
Может ли часть этих переменных быть свободными? (не все конечно)
Тоже не могут
Если выписать оптимальные переменные явно — получим рациональные функции от приращений цен
Для них можно посмотреть на (выборочное) совместное распределение и увидеть, что все они жестко попарно коррелированы, ну т.е. точно зависимы
Можно ли часть из них декоррелировать и получить нечто вроде базиса?
Возможно, но это надо делать аналитически. В смысле явно перестроить переменные в новый, некоррелированный базис.
Вот только смысл этих новых переменных будет смешной — вместо исходных переменных должен получиться массив невязок — ошибок линейного прогноза с использованием Ваших переменных. Ну, будут они некоррелированы (и не факт, что независимы) — что Вам с того?
С уважением
P.S. Неустойчивость этих переменных (причина невозможности успешного продолжения в будущее оптимизированного на интервале решения) проста на самом деле. При любом критерии оптимизации итоговый результат будет содержать умножение на (примерно) матрицу, обратную к автокорреляционной. Поскольку выборочные АКФ на ценовых рядах сходятся очень плохо, эту матрицу будет дико кидать. Ну т.е. сама процедура получения переменных неустойчивая. Путем отдельных танцев с бубном и усреднении на интервале хотя бы в 500000 баров можно научиться получать стабильные решения. Но это уже совсем другая история.
Мальчик buybuy, "... не могут. Т.к. эти переменные явно связаны между собой, как решение некоей СЛАУ"
— а веса нейронной сети тоже
«явно связаны между собой, как решение некоей» нейронной сети?
Зато я абсолютно точно (аналитически) знаю, как выглядят Ваши переменные при заданных ценах
И могу проанализировать это решение
С уважением