Ортогональные многочлены в одномерном наборе точек - это многочлены, которые производят значения в этих точках таким образом, что их произведение точек и попарная корреляция равны нулю. R может создавать ортогональные многочлены с функцией poly .
Эта же функция имеет вариант polym, который создает ортогональные полиномы на множестве многовариантных точек. В любом случае, полученные многочлены не являются ортогональными в смысле наличия попарно нулевой корреляции. Фактически, поскольку полиномы первого порядка должны быть только исходными переменными, полиномы первого порядка не будут ортогональными, если исходные переменные не являются коррелированными.
Тогда мои вопросы:
- Какие многовариантные ортогональные полиномы вычисляются с помощью polym в R? Являются ли они просто произведением одномерных ортогональных многочленов? Для чего они используются?
- Могут ли существовать истинные многомерные ортогональные полиномы? Есть ли простой способ их производства? В R? Они действительно используются в регрессии?
Обновить
В ответ на комментарий Суперпронкера я привожу один пример того, что я имею в виду с некоррелированными полиномами:
> x<-rnorm(10000)
> cor(cbind(poly(x,degree=3)))
1 2 3
1 1.000000e+00 -6.809725e-17 2.253577e-18
2 -6.809725e-17 1.000000e+00 -2.765115e-17
3 2.253577e-18 -2.765115e-17 1.000000e+00
Функция Poly возвращает ортогональные полиномы, оцененные в точках x (здесь 10000 точек для каждого полинома). Корреляция между значениями на разных полиномах равна нулю (с некоторой числовой ошибкой).
При использовании многомерных полиномов корреляции отличаются от нуля:
> x<-rnorm(1000)
> y<-rnorm(1000)
> cor(cbind(polym(x,y,degree=2)))
1.0 2.0 0.1 1.1 0.2
1.0 1.000000e+00 2.351107e-17 2.803716e-02 -0.02838553 3.802363e-02
2.0 2.351107e-17 1.000000e+00 -1.899282e-02 0.10336693 -8.205039e-04
0.1 2.803716e-02 -1.899282e-02 1.000000e+00 0.05426440 5.974827e-17
1.1 -2.838553e-02 1.033669e-01 5.426440e-02 1.00000000 8.415630e-02
0.2 3.802363e-02 -8.205039e-04 5.974827e-17 0.08415630 1.000000e+00
Поэтому я не понимаю, в каком смысле эти двумерные полиномы ортогональны.
Обновление 2
Я хочу уточнить значение «ортогональных многочленов», используемых в регрессии, потому что этот контекст может быть как-то вводящим в заблуждение при применении идей из ортогональных многочленов в связанных интервалах - как в последнем комментарии Суперпроникера.
Я процитирую « Практическую регрессию» Джулиана Дж. Фаравея и «Анову», используя страницы R и 101:
Ортогональные полиномы эту проблему, определяя и т. Д., Где выбираются коэффициенты a, b, c ... так что когда . Z называются ортогональными полиномами.
При незначительном злоупотреблении языком автор использует как для многочлена (как функции), так и для вектора значений, которые многочлен принимает в точках множества . Или, может быть, это даже не злоупотребление языком вообще, потому что с начала книги был предиктором (например, набор значений, взятых предиктором).
Это значение ортогональных многочленов на самом деле не отличается от ортогональных многочленов на отрезке. Мы можем определить ортогональные полиномы обычным способом (используя интегралы) по любому измеримому множеству с любой функцией меры. Здесь у нас есть конечное множество ( ), и мы используем точечное произведение вместо целого, но это все еще ортогональные многочлены, если мы берем нашу функцию меры в качестве дельты Дирака в точках нашего конечного множества.
А по отношению к корреляции: скалярное произведение ортогональных векторов в (как изображение ортогональных векторов на конечном множестве). Если скалярное произведение двух векторов равно нулю, ковариация равна нулю, а если ковариация равна нулю, корреляция равна нулю. В контексте линейных моделей очень полезно соотносить «ортогональные» и «некоррелированные», как в «ортогональных планах экспериментов».
Ответы:
Давайте посмотрим, что происходит. Я уверен, что вы уже знаете большую часть следующего материала, но, чтобы установить обозначения и определения и прояснить идеи, я расскажу об основах полиномиальной регрессии, прежде чем ответить на вопрос. Если хотите, перейдите к заголовку «Что
R
происходит» примерно в двух третях пути к этому сообщению, а затем пропустите все определения, которые могут вам понадобиться.Настройка
Мы рассматриваем модельную матрицу потенциальных объясняющих переменных в некоторой регрессии. Это означает, что мы рассматриваем столбцы как векторы и будем формировать их линейные комбинации, чтобы предсказать или оценить ответ.н × к X X n X1,X2,…,Xk β1X1+β2X2+⋯+βkXk,
Иногда регрессия может быть улучшена путем введения дополнительных столбцов, созданных путем умножения различных столбцов друг на друга, коэффициента на коэффициент. Такие продукты называются «мономами» и могут быть написаны какX
где каждая «степень» равна нулю или больше, представляя, сколько раз каждый появляется в произведении. Обратите внимание , что является - вектор постоянных коэффициентов ( ) и само по себе. Таким образом, мономы (как векторы) генерируют векторное пространство, которое включает в себя исходное пространство столбцов Возможность того, что это может быть большее векторное пространство, расширяет возможности этой процедуры для моделирования ответа с линейными комбинациями.di X1 X0 n 1 X1=X X.
Мы намерены заменить исходную модель матрицы набором линейных комбинаций мономов. Когда степень хотя бы одного из этих мономов превышает это называется полиномиальной регрессией.X 1,
Оценки полиномов
Степень одночлена является суммой своих полномочий, Степень линейной комбинации мономов («полином») является самой большой степенью среди мономов с ненулевыми коэффициентами. Степень имеет внутреннее значение, потому что когда вы изменяете основание исходного векторного пространства, каждый вектор вновь представляется линейной комбинацией всех векторов; мономы таким образом, становятся полиномами одинаковой степени; и, следовательно, степень любого многочлена неизменна.d1+d2+…+dk. X i X d 1 1 X d 2 2 ⋯ X d k kXi Xd11Xd22⋯Xdkk
Степень обеспечивает естественную «градуировку» для этой полиномиальной алгебры: векторное пространство, порожденное всеми линейными комбинациями мономов в степени до включительно называемое «многочленами [или до] степени в "расширяет векторное пространство многочленов до степени вX d+1, d+1 X, d X.
Использование полиномиальной регрессии
Часто полиномиальная регрессия является исследовательской в том смысле, что мы с самого начала не знаем, какие мономы включить. Процесс создания матриц новой модели из мономов и повторной подгонки регрессии, возможно, придется повторять много раз, возможно, астрономическое количество раз в некоторых условиях машинного обучения.
Основные проблемы с этим подходом
Мономы часто вводят проблемные величины «мультиколлинеарности» в новую матрицу модели, главным образом потому, что степени одной переменной имеют тенденцию быть в высокой степени коллинеарными. (Коллинеарность между степенями двух разных переменных непредсказуема, потому что она зависит от того, как эти переменные связаны, и поэтому менее предсказуема.)
Изменение только одного столбца матрицы модели, или введение нового, или удаление одного, может потребовать «холодного перезапуска» процедуры регрессии, что может занять много времени для вычислений.
Оценки полиномиальных алгебр позволяют преодолеть обе проблемы.
Ортогональные полиномы от одной переменной
Учитывая одного вектора - столбца набор «ортогональных многочленов» для представляет собой последовательность векторов - столбцов выполнена в виде линейных комбинаций одночленов в есть-- то есть, как степени со следующими свойствами:X, X p0(X),p1(X),p2(X),… X X
Обычно матрица замены сформированная из этих одночленов, выбирается ортонормированной путем нормализации ее столбцов к единице длины: Поскольку обратное значение присутствует в большинстве уравнений регрессии, а обратное значение матрицы тождества само по себе, это представляет огромный вычислительный выигрыш.P=(p0(X)p1(X)⋯pd(X)) P′P=Id+1. P′P Id+1
Ортонормальность очень близко определяет Вы можете увидеть это по построению:pi(X).
Первый полином, должен быть кратным вектору число единичной длины. Есть только два варианта: Обычно выбирают положительный квадратный корень.p0(X), n 1=(1,1,…,1)′ ±1/n−−−√1.
Второй многочлен, должен быть ортогонален Его можно получить путем регрессии к решением которого является вектор средних значений Если остатки не являются тождественно нулевыми, они дают только два возможных решенияp1(X), 1. X 1, X^=X¯1. ϵ=X−X^ p1(X)=±(1/||ϵ||)ϵ.
...
Это процесс Грамма-Шмидта, применяемый к внутренней последовательности векторов Обычно он вычисляется с использованием QR-разложения, что почти то же самое, но рассчитывается численно стабильным образом.X0,X1,…,Xd,….
Эта конструкция дает последовательность дополнительных столбцов, которые необходимо учитывать, включая в матрицу модели. Поэтому полиномиальная регрессия по одной переменной обычно происходит путем добавления элементов этой последовательности по порядку, пока не будет достигнуто дальнейшее улучшение регрессии. Поскольку каждый новый столбец ортогонален предыдущим, в том числе он не меняет ни одну из предыдущих оценок коэффициента. Это делает эффективную и легко интерпретируемую процедуру.
Полиномы от нескольких переменных
Исследовательская регрессия (а также подгонка модели), как правило, сначала проводится с учетом того, какие (оригинальные) переменные следует включить в модель; затем оценка того, могут ли эти переменные быть дополнены путем включения их различных преобразований, таких как мономы; и затем введение "взаимодействий", образованных из произведений этих переменных и их повторных выражений.
Выполнение такой программы началось бы с формирования одномерных ортогональных многочленов в столбцах отдельно.X После выбора подходящей степени для каждого столбца вы должны ввести взаимодействия.
На этом этапе части одномерной программы ломаются. Какую последовательность взаимодействий вы бы применили, один за другим, пока не будет определена подходящая модель? Более того, теперь, когда мы действительно вошли в сферу многовариантного анализа, число доступных вариантов и их растущая сложность позволяют предположить, что при построении последовательности многомерных ортогональных полиномов могут быть убывающие результаты . Однако, если вы имели в виду такую последовательность, вы можете вычислить ее, используя QR-декомпозицию.
Что
R
делаетПоэтому программное обеспечение для полиномиальной регрессии имеет тенденцию фокусироваться на вычислении одномерных ортогональных полиномиальных последовательностей. Характерно,
R
что такая поддержка максимально автоматически распространяется на группы одномерных многочленов. Это то, чтоpoly
делает. (Его компаньонpolym
по сути тот же код, с меньшим количеством наворотов; две функции выполняют одинаковые действия.)В частности,X, d. d X1,…,Xk X,
poly
будет вычисляться последовательность одномерных ортогональных многочленов, когда задан один вектор остановкой на заданной степени (Если слишком велико - и может быть трудно предсказать, насколько велико слишком большое - это, к сожалению, приводит к ошибке.) При заданном наборе векторов в виде матрицы он вернетсяПоследовательности ортонормированных полиномов для каждого выходят до запрошенной максимальной степени (Поскольку постоянный вектор является общим для всех переменных и настолько прост - обычно он учитывается с помощью перехвата в регрессии - его не смущает включение).p1(Xj),p2(Xj),…,pd(Xj) j d. p0(Xi)
R
Все взаимодействия между этими ортогональными многочленами вплоть до включительно степениd.
Шаг (2) включает в себя несколько тонкостей. Обычно под «взаимодействием» между переменными мы подразумеваем «все возможные продукты», но некоторые из этих возможных продуктов будут иметь степени больше Например, с переменными и вычисляетd. 2 d=2,
R
R
вовсе не включает в себя более высокой степени взаимодействия (многочлены степени 3) или (многочлен степени 4). (Это не является серьезным ограничением, поскольку вы можете легко рассчитать эти продукты самостоятельно или указать их в объекте регрессии .)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=X1 p0(X1), X1 p0(X1) p1(X1) X1 p1(X1)=(−0.57,0.79,−0.23)′. Наконец, регрессирует против и и эти остатки масштабируются до длины единицы. Мы не можем идти дальше, потому что степени не могут генерировать векторное пространство больше чем измерений. (Мы получили это далеко, потому что минимальный многочлен коэффициентов а именно имеет степень демонстрируя, что все мономы степени или больше являются линейными комбинациями более низких силы и эти более низкие полномочия линейно независимы.)X21=(1,25,4) p0(X1) p1(X1) X1 n=3 X1, (t−1)(t−5)(t−4), 3, 3
Результирующая матрица, представляющая ортонормированную полиномиальную последовательность для :X1
(до двух значимых цифр).
Таким же образом, ортонормированный полином матрицы для являетсяX2
Член взаимодействия - произведение средних столбцов этих матриц, равное Полная матрица, созданная или , затем, является(0.35,0.61,0.035)′.
poly
polym
Обратите внимание на последовательность, в которой расположены столбцы: непостоянные ортонормированные полиномы для находятся в столбцах 1 и 2, в то время как таковые для находятся в столбцах 3 и 5. Таким образом, единственная ортогональность, которая гарантируется в этих выходных данных, находится между этими две пары столбцов. Это отражено в расчете который будет иметь нули в позициях и (показано красным ниже), * но может отличаться от нуля в любом другом месте и будет иметь значения в позициях и (показано синим цветом) ниже), но, скорее всего, не будет одного в других диагональных положениях (X1 X2 P′P, (1,2),(2,1),(3,5), (5,3) (1,1),(2,2),(3,3), (5,5) (4,4) в этом примере). В самом деле,
Когда вы осмотрите матрицу показанную в вопросе, и поймете , что кратные действительно являются нулями, вы заметите, что эта последовательность нулей в красных позициях сохраняется. В этом смысле эти двумерные многочлены являются «ортогональными».P 10−17
источник
R
вычисляет но не должно быть ?