Давайте посмотрим, что происходит. Я уверен, что вы уже знаете большую часть следующего материала, но, чтобы установить обозначения и определения и прояснить идеи, я расскажу об основах полиномиальной регрессии, прежде чем ответить на вопрос. Если хотите, перейдите к заголовку «Что R
происходит» примерно в двух третях пути к этому сообщению, а затем пропустите все определения, которые могут вам понадобиться.
Настройка
Мы рассматриваем модельную матрицу потенциальных объясняющих переменных в некоторой регрессии. Это означает, что мы рассматриваем столбцы как векторы и будем формировать их линейные комбинации, чтобы предсказать или оценить ответ. н × кXXnX1,X2,…,Xkβ1X1+β2X2+⋯+βkXk,
Иногда регрессия может быть улучшена путем введения дополнительных столбцов, созданных путем умножения различных столбцов друг на друга, коэффициента на коэффициент. Такие продукты называются «мономами» и могут быть написаны какX
Xd11Xd22⋯Xdkk
где каждая «степень» равна нулю или больше, представляя, сколько раз каждый появляется в произведении. Обратите внимание , что является - вектор постоянных коэффициентов ( ) и само по себе. Таким образом, мономы (как векторы) генерируют векторное пространство, которое включает в себя исходное пространство столбцов Возможность того, что это может быть большее векторное пространство, расширяет возможности этой процедуры для моделирования ответа с линейными комбинациями.diX1X0n1X1=XX.
Мы намерены заменить исходную модель матрицы набором линейных комбинаций мономов. Когда степень хотя бы одного из этих мономов превышает это называется полиномиальной регрессией.X1,
Оценки полиномов
Степень одночлена является суммой своих полномочий, Степень линейной комбинации мономов («полином») является самой большой степенью среди мономов с ненулевыми коэффициентами. Степень имеет внутреннее значение, потому что когда вы изменяете основание исходного векторного пространства, каждый вектор вновь представляется линейной комбинацией всех векторов; мономы таким образом, становятся полиномами одинаковой степени; и, следовательно, степень любого многочлена неизменна.d1+d2+…+dk.X i X d 1 1 X d 2 2 ⋯ X d k kXiXd11Xd22⋯Xdkk
Степень обеспечивает естественную «градуировку» для этой полиномиальной алгебры: векторное пространство, порожденное всеми линейными комбинациями мономов в степени до включительно называемое «многочленами [или до] степени в "расширяет векторное пространство многочленов до степени вXd+1,d+1X,dX.
Использование полиномиальной регрессии
Часто полиномиальная регрессия является исследовательской в том смысле, что мы с самого начала не знаем, какие мономы включить. Процесс создания матриц новой модели из мономов и повторной подгонки регрессии, возможно, придется повторять много раз, возможно, астрономическое количество раз в некоторых условиях машинного обучения.
Основные проблемы с этим подходом
Мономы часто вводят проблемные величины «мультиколлинеарности» в новую матрицу модели, главным образом потому, что степени одной переменной имеют тенденцию быть в высокой степени коллинеарными. (Коллинеарность между степенями двух разных переменных непредсказуема, потому что она зависит от того, как эти переменные связаны, и поэтому менее предсказуема.)
Изменение только одного столбца матрицы модели, или введение нового, или удаление одного, может потребовать «холодного перезапуска» процедуры регрессии, что может занять много времени для вычислений.
Оценки полиномиальных алгебр позволяют преодолеть обе проблемы.
Ортогональные полиномы от одной переменной
Учитывая одного вектора - столбца набор «ортогональных многочленов» для представляет собой последовательность векторов - столбцов выполнена в виде линейных комбинаций одночленов в есть-- то есть, как степени со следующими свойствами:X,Xp0(X),p1(X),p2(X),…XX
d=0,1,2,…,p0(X),p1(X),…,pd(X)X0,X1,…,Xd.X0nX1X сам.)
pi(X)i≠j, pi(X)′pj(X)=0.
Обычно матрица замены сформированная из этих одночленов, выбирается ортонормированной путем нормализации ее столбцов к единице длины: Поскольку обратное значение присутствует в большинстве уравнений регрессии, а обратное значение матрицы тождества само по себе, это представляет огромный вычислительный выигрыш.P=(p0(X)p1(X)⋯pd(X))
P′P=Id+1.
P′PId+1
Ортонормальность очень близко определяет Вы можете увидеть это по построению:pi(X).
Первый полином, должен быть кратным вектору число единичной длины. Есть только два варианта: Обычно выбирают положительный квадратный корень.p0(X),n1=(1,1,…,1)′±1/n−−−√1.
Второй многочлен, должен быть ортогонален Его можно получить путем регрессии к решением которого является вектор средних значений Если остатки не являются тождественно нулевыми, они дают только два возможных решенияp1(X),1.X1,X^=X¯1.ϵ=X−X^p1(X)=±(1/||ϵ||)ϵ.
...
- Как правило, получается путем регрессии против и перемасштабирования остатков до вектора единицы длина. Есть два варианта знака, когда все остатки не равны нулю. В противном случае процесс заканчивается: бесполезно смотреть на любые более высокие степени (Это хорошая теорема, но ее доказательство не должно отвлекать нас здесь).pd+1(X)Xd+1p0(X),p1(X),…,pd(X)X.
Это процесс Грамма-Шмидта, применяемый к внутренней последовательности векторов Обычно он вычисляется с использованием QR-разложения, что почти то же самое, но рассчитывается численно стабильным образом.X0,X1,…,Xd,….
Эта конструкция дает последовательность дополнительных столбцов, которые необходимо учитывать, включая в матрицу модели. Поэтому полиномиальная регрессия по одной переменной обычно происходит путем добавления элементов этой последовательности по порядку, пока не будет достигнуто дальнейшее улучшение регрессии. Поскольку каждый новый столбец ортогонален предыдущим, в том числе он не меняет ни одну из предыдущих оценок коэффициента. Это делает эффективную и легко интерпретируемую процедуру.
Полиномы от нескольких переменных
Исследовательская регрессия (а также подгонка модели), как правило, сначала проводится с учетом того, какие (оригинальные) переменные следует включить в модель; затем оценка того, могут ли эти переменные быть дополнены путем включения их различных преобразований, таких как мономы; и затем введение "взаимодействий", образованных из произведений этих переменных и их повторных выражений.
Выполнение такой программы началось бы с формирования одномерных ортогональных многочленов в столбцах отдельно. X После выбора подходящей степени для каждого столбца вы должны ввести взаимодействия.
На этом этапе части одномерной программы ломаются. Какую последовательность взаимодействий вы бы применили, один за другим, пока не будет определена подходящая модель? Более того, теперь, когда мы действительно вошли в сферу многовариантного анализа, число доступных вариантов и их растущая сложность позволяют предположить, что при построении последовательности многомерных ортогональных полиномов могут быть убывающие результаты . Однако, если вы имели в виду такую последовательность, вы можете вычислить ее, используя QR-декомпозицию.
Что R
делает
Поэтому программное обеспечение для полиномиальной регрессии имеет тенденцию фокусироваться на вычислении одномерных ортогональных полиномиальных последовательностей. Характерно, R
что такая поддержка максимально автоматически распространяется на группы одномерных многочленов. Это то, что poly
делает. (Его компаньон polym
по сути тот же код, с меньшим количеством наворотов; две функции выполняют одинаковые действия.)
В частности, poly
будет вычисляться последовательность одномерных ортогональных многочленов, когда задан один вектор остановкой на заданной степени (Если слишком велико - и может быть трудно предсказать, насколько велико слишком большое - это, к сожалению, приводит к ошибке.) При заданном наборе векторов в виде матрицы он вернетсяX,d.dX1,…,XkX,
Последовательности ортонормированных полиномов для каждого выходят до запрошенной максимальной степени (Поскольку постоянный вектор является общим для всех переменных и настолько прост - обычно он учитывается с помощью перехвата в регрессии - его не смущает включение).p1(Xj),p2(Xj),…,pd(Xj)jd.p0(Xi)R
Все взаимодействия между этими ортогональными многочленами вплоть до включительно степениd.
Шаг (2) включает в себя несколько тонкостей. Обычно под «взаимодействием» между переменными мы подразумеваем «все возможные продукты», но некоторые из этих возможных продуктов будут иметь степени больше Например, с переменными и вычисляетd.2d=2, R
p1(X1),p2(X1),p1(X2),p1(X1)p1(X2),p2(X2).
R
вовсе не включает в себя более высокой степени взаимодействия (многочлены степени 3) или (многочлен степени 4). (Это не является серьезным ограничением, поскольку вы можете легко рассчитать эти продукты самостоятельно или указать их в объекте регрессии .)p2(X1)p1(X2), p1(X1)p2(X2)p1(X2)p2(X2)formula
Еще одна тонкость заключается в том, что ни к каким многомерным продуктам не применяется нормализация. В этом примере единственным таким продуктом является Тем не менее, нет никакой гарантии, что его среднее значение будет равно нулю и почти наверняка не будет иметь единичную норму. В этом смысле это истинное «взаимодействие» между и и, как таковое, может быть интерпретировано как взаимодействие, обычно присутствующее в регрессионной модели.p1(X1)p1(X2).p1(X1)p1(X2)
Пример
Давайте посмотрим на пример. Я случайно сгенерировал матрицу Для упрощения расчетов все округлено до двух значащих цифр для отображения.X=⎛⎝⎜152364⎞⎠⎟.
Ортонормальная полиномиальная последовательность для первого столбца начинается с нормализации до единичной длины, даваяСледующий шаг включает в себя сам. Чтобы сделать его ортогональным к регрессируйте против и установите равным остаткам этой регрессии, масштабируемым так, чтобы иметь единичную длину. Результатом является обычной стандартизации из получают путем центрирования его и делением на его стандартное отклонение,X1=(1,5,2)′X01=(1,1,1)′p0(X1)=(1,1,1)′/3–√≈(0.58,0.58,0.58)′.X11=X1p0(X1),X1p0(X1)p1(X1)X1p1(X1)=(−0.57,0.79,−0.23)′. Наконец, регрессирует против и и эти остатки масштабируются до длины единицы. Мы не можем идти дальше, потому что степени не могут генерировать векторное пространство больше чем измерений. (Мы получили это далеко, потому что минимальный многочлен коэффициентов а именно имеет степень демонстрируя, что все мономы степени или больше являются линейными комбинациями более низких силы и эти более низкие полномочия линейно независимы.)X21=(1,25,4)p0(X1)p1(X1)X1n=3X1,(t−1)(t−5)(t−4),3,3
Результирующая матрица, представляющая ортонормированную полиномиальную последовательность для :X1
P1=⎛⎝⎜0.580.580.58−0.570.79−0.230.590.20−0.78⎞⎠⎟
(до двух значимых цифр).
Таким же образом, ортонормированный полином матрицы для являетсяX2
P2=⎛⎝⎜0.580.580.58−0.620.77−0.150.530.27−0.80⎞⎠⎟.
Член взаимодействия - произведение средних столбцов этих матриц, равное Полная матрица, созданная или , затем, является(0.35,0.61,0.035)′.poly
polym
P=⎛⎝⎜−0.570.79−0.230.590.20−0.78−0.620.77−0.150.350.610.0350.530.27−0.80⎞⎠⎟.
Обратите внимание на последовательность, в которой расположены столбцы: непостоянные ортонормированные полиномы для находятся в столбцах 1 и 2, в то время как таковые для находятся в столбцах 3 и 5. Таким образом, единственная ортогональность, которая гарантируется в этих выходных данных, находится между этими две пары столбцов. Это отражено в расчете который будет иметь нули в позициях и (показано красным ниже), * но может отличаться от нуля в любом другом месте и будет иметь значения в позициях и (показано синим цветом) ниже), но, скорее всего, не будет одного в других диагональных положениях (X1X2P′P,(1,2),(2,1),(3,5),(5,3)(1,1),(2,2),(3,3),(5,5)(4,4)в этом примере). В самом деле,
P′P=⎛⎝⎜⎜⎜⎜⎜⎜1010.280.09101−0.0910.311−0.09110.2500.280.30.250.50.320.091100.321⎞⎠⎟⎟⎟⎟⎟⎟.
Когда вы осмотрите матрицу показанную в вопросе, и поймете , что кратные действительно являются нулями, вы заметите, что эта последовательность нулей в красных позициях сохраняется. В этом смысле эти двумерные многочлены являются «ортогональными».P10−17