Ликбез по независимым переменным, степеням свободы и переобученности модели
Пусть есть некоторый поток эмпирических данных. И есть некоторая модель, нацеленная на максимизацию некоторого критерия на этих данных. И в этой модели 100500 параметров (коэффициентов), но значения всех этих параметров получаются («порождаются») в результате вычисления некоторой линейной регрессии, построенной на (работающей с) этих эмпирических данных, то есть эти параметры суть коэффициенты регрессии, а не «ручки, которые мы крутим, настраивая модель».
Вопрос: можно ли в этом случае говорить, что эти 100500 параметров (коэффициентов) являются независимыми переменным и «степеням свободы» модели? И, соответственно, опасаться, что модель «переобучится» — из-за того, что в ней слишком много параметров?
«Переобучить» можно даже модель с одним-единственным параметром. Тут всё довольно сильно зависит от того, как устроена модель и по какому алгоритму она обучается.
Какими 'независимыми переменными'??
Они у Вас на схеме 'нейронными связями' соединены. Наглядно зависимости изображены.
Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет. И все модели со связями лишь помогают точно или не очень получить значение этой характеристики.
Характеристика — усреднённая по интервалу наблюдений. Переобученность будет означать, что Вы не усреднённую уже считаете, а чуть ли не на каждой свече своё значение. Что не имеет практического применения для торговли на следующих свечах.
Нужно из общих принципов понимать какое значение характеристики будет в случае белого шума на данном интервале, а какое уже покажет некий неслучайный эффект.
«Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет»
svgr, кстати, задача трейдинга ведь не в том, чтобы «забрать больше, чем отдать на данном участке» — то есть на участке данном целиком для анализа и извлечения «внутренней характеристики».
Потому что иначе — тривиально: по 113 покупаем, по 7639 продаем, по 762 покупаем, по 8630 продаем и т.д.
Ivan FXS, до школьного уровня рассуждений скатываться не стоит. Все понимают контекст: подразумевается, что найденный на тестируемых данных эффект имеет достаточные проявленность и инерцию, чтобы что-то от него осталось на новом участке данных. Статистически это почти всегда так (попали не на конец действия эффекта), однако позитивная величина его меньше комиссий.
svgr, уточните, пожалуйста, означает ли ваше «каким-либо простым алгоритмом» конкретную МТС?
Потому что мне грешным делом показалось, что вы умеете «вычислять» характеристику показывающую, возможна ли на данном ценовом ряде любая, в смысле — хотя бы какая-нибудь вообще — механическая торговля.
Ivan FXS, на зафиксированных данных, т.е. задним числом вычислить такую характеристику могу. Она показывает насколько движение цен в инструменте отличается от случайного блуждания. Когда отличие значительно — можно зарабатывать. При этом конкретный алгоритм может быть не один. Когда отличие в коридоре — не более среднестатистического за всю историю значения +- комиссия — все алгоритмы будут проигрывать.
Бумаги относительно такой характеристики есть хорошие (ао Сбербанк, к примеру), а есть тугие. Хорошие — когда интервалов с подходящими значениями характеристики на истории много. Характеристика фактически неким образом подсчитываемая локальная волатильность. Понятно, что можно много чего придумать и применить, когда она достаточно высока.
SergeyJu, не понял вопрос, и даже не понял, он задан вообще или применительно к текст поста?
В тексте сказано "... эти параметры суть коэффициенты регрессии...". Если мы производим регрессию переменной Y на 100500 переменных Xi (i=1...100500) со свободным членом, то получим 100501 числовой коэффициент в формуле регрессии.
Ivan FXS, линейная регрессия по сути скалярное произведение набора данных длины Х с набором коэффициентов длины Х плюс константа.
Итого вопрос. Вы Х+1 к-т регрессии получили с Божьей помощью, или их можно считать степенями свободы Вашей системы?
SergeyJu, только не «по сути», а «по форме». Линейная регрессия по форме — это скалярное произведение набора данных длины Х с набором коэффициентов длины Х плюс константа.
А по сути, или, если хотите, по процедуре, этот набор коэффициентов возникает из аналитического решения задачи линейной регрессии.
«Можно ли их считать степенями свободы системы» — вот именно это я и спросил. И я не знаю ответа.
Ivan FXS, что за задача линейной регрессии. Как она связана с данными. Вы бы сначала четко объяснили, что к чему и откуда берется, а потом бы и вопросы задавали.
Ivan FXS, лошади кушают овес и сено.
Вы так и не поняли, что Вас спросили о том, откуда Вы взяли А или откуда Вы взяли в?
Если у Вас А прямоугольная матрица из сдвинутых данных, а в — столбец сдвинутых на 1 вперед данных же (классическое построение в духе учебников), то у Вас проблема не в числе степеней свободы, в а соотношении сигнала и шума. Работает эта штука, если грубо, когда сигнал когерентен, а шум — нет. Это скорее всего не наш случай. Но в любом случае неплохо применить SVD разложение к А и для начала поискать хоть какой-то смысл в наборе максимальных собственных чисел и векторов.
Да, и с этой формулой не все так уж гладко. Изучите тему регуляризации.
SergeyJu, я не понял, что вам не понятно: 4, 5 и 6 слова в посте — «поток эмпирических данных». Конкретно — поток баров OHLCV американского биржевого рынка. 10+ тысяч тикеров.
SergeyJu, так я в этом не сомневаюсь. И скромно надеюсь, что вы тоже не сильно сомневаетесь в моей способности построить линейную регрессию на (указанном мной в предыдущей реплике) потоке данных.
Чем меньше степеней свободы (или чем устойчивее «свободные» параметры) модели, тем точнее расчитана некоторая рыночная характеристика, эксплуатируемая МТС для извлечения прибыли.
Можно ли в этом случае говорить, что эти 100500 параметров (коэффициентов) являются независимыми переменным и «степеням свободы» модели? И, соответственно, опасаться, что модель «переобучится» — из-за того, что в ней слишком много параметров?
Надо переводить вопрос в практическую плоскость).
Если так сделать, то окажется, что:
— Модель модели рознь, какие-то более устойчивы к переобучению, какие-то менее, в рамках типа модели есть рычаги влияния на переобучение.
— В общем случае модель переобучается не из-за числа параметров, да это фактор, но там все сложнее. Опять-таки если отталкиваться от практической плоскости, то ты просто А. Отслеживаешь переобученность, Б. Влияешь на её степень.
— В посте было про максимизацию — да, максимизация, только обычно пытаются максимизировать ну что, например, прибыль, точность, winrate, PF, а надо максимизировать… вычленение закономерности от шума.
Replikant_mih, если МТС хорошо «собралась» на оптимизационном участке ценовой истории, то есть удалось успешно максимизировать «качество» её работы, — что бы под этим ни понимать, хотя бы и «вычленение закономерности от шума», почему нет,
но плохо работает на «проверочном» участке (или как там это называется, что-то терминологию начал забывать),
то у нас есть два варианта объяснения 1) природа рынка постоянно (хотя и постепенно, возможно) меняется, поэтому МТС перестала работать;
2) МТС переобучилась.
Есть комплекс представлений о том, что обучаемые (оптимизируемые) «машинки» могут «переобучаться», если в них напихать слишком много «свободных параметров», и по всем ним устроить оптимизацию. Именно отсюда вопрос поста: если «много параметров» это вот именно много коэффициентов (классической линейной) регрессии — то следует ли об этом думать как об «опасности переобучения»?
Да, на OOS не работает как на IS — ты либо переподогнался, либо OOS и IS пришлись на разные, критичные для модели, фазы рынка, или закономерность рассосалась/ушла.
Для каждого из вариантов есть свои инструменты и приемы, как это понят, отследить и забороть / взять под некоторый контроль.
Риск переобучения есть у всего и всегда — где есть два куска данных и есть модель хотя бы с 1 параметром. Дальше думаем головой и пытаемся добиться максимального приближения IS и OOS результатов. И, кстати, часто такое приближение будет выглядеть как опускание задранных IS планок.
Т.к. эти переменные явно связаны между собой, как решение некоей СЛАУ.
Может ли часть этих переменных быть свободными? (не все конечно)
Тоже не могут
Если выписать оптимальные переменные явно — получим рациональные функции от приращений цен
Для них можно посмотреть на (выборочное) совместное распределение и увидеть, что все они жестко попарно коррелированы, ну т.е. точно зависимы
Можно ли часть из них декоррелировать и получить нечто вроде базиса?
Возможно, но это надо делать аналитически. В смысле явно перестроить переменные в новый, некоррелированный базис.
Вот только смысл этих новых переменных будет смешной — вместо исходных переменных должен получиться массив невязок — ошибок линейного прогноза с использованием Ваших переменных. Ну, будут они некоррелированы (и не факт, что независимы) — что Вам с того?
С уважением
P.S. Неустойчивость этих переменных (причина невозможности успешного продолжения в будущее оптимизированного на интервале решения) проста на самом деле. При любом критерии оптимизации итоговый результат будет содержать умножение на (примерно) матрицу, обратную к автокорреляционной. Поскольку выборочные АКФ на ценовых рядах сходятся очень плохо, эту матрицу будет дико кидать. Ну т.е. сама процедура получения переменных неустойчивая. Путем отдельных танцев с бубном и усреднении на интервале хотя бы в 500000 баров можно научиться получать стабильные решения. Но это уже совсем другая история.
Запасы природного газа в ПХГ Европы составляют 112.2 миллиарда кубометров
Данные запасы включают запасы в ЕС, Великобритании и на Украине. Заполненность хранилищ 78% (при общей вместимости — 143 ми...
Rebis, весь позитив на рынке сейчас только на геополитике держится, и то по сути на ожиданиях и обещаниях, во всем остальном, где «голые» цифры все очень печально, нефть, инфляция, ставка цб, слабы...
Количество нефтяных и газовых вышек Baker Hughes в США, кратко отчет агентства EIA, СОТ от спекулянта, сигнальщика, недоаналитика Нефтяные вышки на этой неделе: -1 к 478, недавние значения (08.11.24 0...
Количество нефтяных и газовых вышек Baker Hughes в США, кратко отчет агентства EIA, СОТ от спекулянта, сигнальщика, недоаналитика Нефтяные вышки на этой неделе: -1 к 478, недавние значения (08.11.24 0...
Они у Вас на схеме 'нейронными связями' соединены. Наглядно зависимости изображены.
Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет. И все модели со связями лишь помогают точно или не очень получить значение этой характеристики.
Характеристика — усреднённая по интервалу наблюдений. Переобученность будет означать, что Вы не усреднённую уже считаете, а чуть ли не на каждой свече своё значение. Что не имеет практического применения для торговли на следующих свечах.
Нужно из общих принципов понимать какое значение характеристики будет в случае белого шума на данном интервале, а какое уже покажет некий неслучайный эффект.
«Во временном ряде цен есть внутренняя характеристика, показывающая, можно ли на данном участке каким-либо простым алгоритмом забрать больше, чем отдать, или нет»
— а вот для это ряда, например:
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, "... не могут. Т.к. эти переменные явно связаны между собой, как решение некоей СЛАУ"
— а веса нейронной сети тоже
«явно связаны между собой, как решение некоей» нейронной сети?
Зато я абсолютно точно (аналитически) знаю, как выглядят Ваши переменные при заданных ценах
И могу проанализировать это решение
С уважением