Блог им. fxseminar

Ликбез по независимым переменным, степеням свободы и переобученности модели

Пусть есть некоторый поток эмпирических данных. И есть некоторая модель, нацеленная на максимизацию некоторого критерия на этих данных. И в этой модели 100500 параметров (коэффициентов), но значения всех этих параметров получаются («порождаются») в результате вычисления некоторой линейной регрессии, построенной на (работающей с) этих эмпирических данных, то есть эти параметры суть коэффициенты регрессии, а не «ручки, которые мы крутим, настраивая модель».

Вопрос: можно ли в этом случае говорить, что эти 100500 параметров (коэффициентов) являются независимыми переменным и «степеням свободы» модели? И, соответственно, опасаться, что модель «переобучится» — из-за того, что в ней слишком много параметров?
27 комментариев
Это степени не свободы, а несвободы.
«Переобучить» можно даже модель с одним-единственным параметром. Тут всё довольно сильно зависит от того, как устроена модель и по какому алгоритму она обучается.
Какими 'независимыми переменными'??
Они у Вас на схеме 'нейронными связями' соединены. Наглядно зависимости изображены.
Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет. И все модели со связями лишь помогают точно или не очень получить значение этой характеристики. 
Характеристика — усреднённая по интервалу наблюдений. Переобученность будет означать, что Вы не усреднённую уже считаете, а чуть ли не на каждой свече своё значение. Что не имеет практического применения для торговли на следующих свечах.
Нужно из общих принципов понимать какое значение характеристики будет в случае белого шума на данном интервале, а какое уже покажет некий неслучайный эффект.
avatar

«Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет»

— а вот для это ряда, например:

113, 286,862,1277,7639,3762, 762, 8630, 337, 7633, 9812,4438 

— какова эта характеристика?

avatar
Ivan FXS, это фантазии. С такими последовательными ценами рядов нет.
avatar
svgr, кстати, задача трейдинга ведь не в том, чтобы «забрать больше, чем отдать на данном участке» — то есть на участке данном целиком для анализа и извлечения «внутренней характеристики».

Потому что иначе — тривиально: по 113 покупаем, по 7639 продаем, по 762 покупаем, по 8630 продаем и т.д.
avatar
Ivan FXS, до школьного уровня рассуждений скатываться не стоит. Все понимают контекст: подразумевается, что найденный на тестируемых данных эффект имеет достаточные проявленность и инерцию, чтобы что-то от него осталось на новом участке данных. Статистически это почти всегда так (попали не на конец действия эффекта), однако позитивная величина его меньше комиссий.
avatar
svgr, уточните, пожалуйста, означает  ли ваше «каким-либо простым алгоритмом» конкретную МТС?

Потому что мне грешным делом показалось, что вы умеете «вычислять» характеристику показывающую, возможна ли на данном ценовом ряде любая,  в смысле — хотя бы какая-нибудь вообще — механическая торговля.
avatar
Ivan FXS, на зафиксированных данных, т.е. задним числом вычислить такую характеристику могу. Она показывает насколько движение цен в инструменте отличается от случайного блуждания. Когда отличие значительно — можно зарабатывать. При этом конкретный алгоритм может быть не один. Когда отличие в коридоре — не более среднестатистического за всю историю значения +- комиссия — все алгоритмы будут проигрывать.
Бумаги относительно такой характеристики есть хорошие (ао Сбербанк, к примеру), а есть тугие. Хорошие — когда интервалов с подходящими значениями характеристики на истории много. Характеристика фактически неким образом подсчитываемая локальная волатильность. Понятно, что можно много чего придумать и применить, когда она достаточно высока.
avatar
А сколько параметров у линейной регрессии? 
avatar

SergeyJu, не понял вопрос, и даже не понял, он задан вообще или применительно к текст поста? 

 

В тексте сказано "... эти параметры суть коэффициенты регрессии...". Если мы производим регрессию переменной Y на 100500 переменных Xi (i=1...100500) со свободным членом, то получим 100501 числовой коэффициент в формуле регрессии.

avatar
Ivan FXS, линейная регрессия по сути скалярное произведение набора данных длины Х с набором коэффициентов длины Х плюс константа. 
Итого вопрос. Вы Х+1 к-т регрессии получили с Божьей помощью, или их можно считать степенями свободы Вашей системы? 
avatar

SergeyJu, только не «по сути», а «по форме». Линейная регрессия по форме — это  скалярное произведение набора данных длины Х с набором коэффициентов длины Х плюс константа. 

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

«Можно ли их считать степенями свободы системы» — вот именно это я и спросил. И я не знаю ответа.

avatar
Ivan FXS, что за задача линейной регрессии. Как она  связана с данными. Вы бы сначала четко объяснили, что к чему и откуда берется, а потом бы и вопросы задавали. 
avatar
SergeyJu, задача линейной регрессии это задача вычисления коэффициентов линейной регрессии по набору значений входных рядов:

 A^{T}Ax=A^{T}b\Rightarrow x=(A^{T}A)^{{-1}}A^{T}b
avatar
Ivan FXS, лошади кушают овес и сено.
Вы так и не поняли, что Вас спросили о том, откуда Вы взяли А или откуда Вы взяли в? 
Если у Вас А прямоугольная матрица из сдвинутых данных, а в — столбец сдвинутых на 1 вперед данных же (классическое построение в духе учебников), то у Вас проблема не в числе степеней свободы, в а соотношении сигнала и шума. Работает эта штука, если грубо, когда сигнал когерентен, а шум — нет. Это скорее всего не наш случай. Но в любом случае неплохо применить SVD разложение к А и для начала поискать хоть какой-то смысл в наборе максимальных собственных чисел и векторов. 
Да, и  с этой формулой не все так уж гладко. Изучите тему регуляризации.
avatar
SergeyJu, я не понял, что вам не понятно: 4, 5 и 6 слова в посте — «поток эмпирических данных». Конкретно — поток баров OHLCV американского биржевого рынка. 10+ тысяч тикеров.
avatar
Ivan FXS, я знаю сотню способов, как можно употребить поток эмпирических данных. 

avatar
SergeyJu, так я в этом не сомневаюсь. И скромно надеюсь, что вы тоже не сильно сомневаетесь в моей способности построить линейную регрессию на (указанном мной в предыдущей реплике) потоке данных.
avatar
Чем меньше степеней свободы (или чем устойчивее «свободные» параметры) модели, тем точнее расчитана некоторая рыночная характеристика, эксплуатируемая МТС для извлечения прибыли.
avatar
bozon, наверное, так и есть, но вопрос то был — являются ли коэффициенты линейной регрессии свободными параметрами (степенями свободы)?
avatar
Можно ли в этом случае говорить, что эти 100500 параметров (коэффициентов) являются независимыми переменным и «степеням свободы» модели? И, соответственно, опасаться, что модель «переобучится» — из-за того, что в ней слишком много параметров?


Надо переводить вопрос в практическую плоскость).

 

Если так сделать, то окажется, что:

— Модель модели рознь, какие-то более устойчивы к переобучению, какие-то менее, в рамках типа модели есть рычаги влияния на переобучение.

— В общем случае модель переобучается не из-за числа параметров, да это фактор, но там все сложнее. Опять-таки если отталкиваться от практической плоскости, то ты просто А. Отслеживаешь переобученность, Б. Влияешь на её степень.

— В посте было про максимизацию — да, максимизация, только обычно пытаются максимизировать ну что, например, прибыль, точность, winrate, PF, а надо максимизировать… вычленение закономерности от шума.

 

avatar
Replikant_mih, если МТС хорошо «собралась» на оптимизационном участке ценовой истории, то есть удалось успешно максимизировать «качество» её работы, — что бы под этим ни понимать, хотя бы и «вычленение закономерности от шума», почему нет, 

но плохо работает на «проверочном» участке (или как там это называется, что-то терминологию начал забывать),

то у нас есть два варианта объяснения 1) природа рынка постоянно (хотя и постепенно, возможно) меняется, поэтому МТС перестала работать;

2) МТС переобучилась. 

Есть комплекс представлений о том, что обучаемые (оптимизируемые) «машинки» могут «переобучаться», если в них напихать слишком много «свободных параметров», и по всем ним устроить оптимизацию. Именно отсюда вопрос поста: если «много параметров» это вот именно много коэффициентов (классической линейной) регрессии — то следует ли об этом думать как об «опасности переобучения»?
avatar

Ivan FXS, 

Да, на OOS не работает как на IS — ты либо переподогнался, либо OOS и IS пришлись на разные, критичные для модели, фазы рынка, или закономерность рассосалась/ушла.

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

Риск переобучения есть у всего и всегда — где есть два куска данных и есть модель хотя бы с 1 параметром. Дальше думаем головой и пытаемся добиться максимального приближения IS и OOS результатов. И, кстати, часто такое приближение будет выглядеть как опускание задранных IS планок. 

avatar
100%, что не могут

Т.к. эти переменные явно связаны между собой, как решение некоей СЛАУ.

Может ли часть этих переменных быть свободными? (не все конечно)
Тоже не могут
Если выписать оптимальные переменные явно — получим рациональные функции от приращений цен
Для них можно посмотреть на (выборочное) совместное распределение и увидеть, что все они жестко попарно коррелированы, ну т.е. точно зависимы

Можно ли часть из них декоррелировать и получить нечто вроде базиса?
Возможно, но это надо делать аналитически. В смысле явно перестроить переменные в новый, некоррелированный базис.
Вот только смысл этих новых переменных будет смешной — вместо исходных переменных должен получиться массив невязок — ошибок линейного прогноза с использованием Ваших переменных. Ну, будут они некоррелированы (и не факт, что независимы) — что Вам с того?

С уважением

P.S. Неустойчивость этих переменных (причина невозможности успешного продолжения в будущее оптимизированного на интервале решения) проста на самом деле. При любом критерии оптимизации итоговый результат будет содержать умножение на (примерно) матрицу, обратную к автокорреляционной. Поскольку выборочные АКФ на ценовых рядах сходятся очень плохо, эту матрицу будет дико кидать. Ну т.е. сама процедура получения переменных неустойчивая. Путем отдельных танцев с бубном и усреднении на интервале хотя бы в 500000 баров можно научиться получать стабильные решения. Но это уже совсем другая история.
avatar

Мальчик buybuy, "... не могут. Т.к. эти переменные явно связаны между собой, как решение некоей СЛАУ"

— а веса нейронной сети тоже

«явно связаны между собой, как решение некоей» нейронной сети?

avatar
Ivan FXS, я, увы, не разбираюсь в нейронных сетях (и не планирую)

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

С уважением
avatar

теги блога Ivan FXS

....все тэги



UPDONW
Новый дизайн