Интуиция за взаимодействиями тензорных произведений в GAM (пакет MGCV в R)


31

Обобщенными аддитивными моделями являются те, где

y=α+f1(x1)+f2(x2)+ei
например. функции гладкие и должны быть оценены. Обычно по штрафным сплайнам. MGCV - это пакет в R, который делает это, и автор (Саймон Вуд) пишет книгу о своем пакете с примерами R. Рупперт и соавт. (2003) написать гораздо более доступную книгу о более простых версиях того же самого.

Мой вопрос о взаимодействиях внутри таких моделей. Что если я захочу сделать что-то вроде следующего:

y=α+f1(x1)+f2(x2)+f3(x1×x2)+ei
если мы были на земле OLS (где f - просто бета), у меня не было бы проблем с интерпретацией . Если мы оценим через штрафные сплайны, у меня также не будет проблем с интерпретацией в аддитивном контексте. е^3

Но в пакете MGCV в GAM есть такие вещи, как «сглаживание тензорных произведений». Я гуглю "тензорный продукт", и мои глаза тут же застывают, пытаясь прочитать объяснения, которые я нахожу. Либо я недостаточно умен, либо математика не очень хорошо объяснена, либо и то, и другое.

Вместо кодирования

normal = gam(y~s(x1)+s(x2)+s(x1*x2))

тензорный продукт будет делать то же самое (?)

what = gam(y~te(x1,x2))

когда я делаю

plot(what)

или

vis.gam(what)

Я получаю действительно крутой вывод. Но я понятия не имею, что происходит внутри черного ящика te(), и как интерпретировать вышеупомянутый крутой вывод. Как раз прошлой ночью мне приснился кошмар, когда я проводил семинар. Я показал всем крутой график, они спросили меня, что это значит, а я не знал. Потом я обнаружил, что на мне нет одежды.

Может ли кто-нибудь помочь мне и потомкам, дав немного механики и интуиции в отношении того, что здесь происходит под капотом? В идеале сказать немного о разнице между случаем нормального аддитивного взаимодействия и случаем тензора? Бонусные баллы за то, что вы все говорите на простом английском, прежде чем перейти к математике.


простой пример, взятый из книги автора пакета: данные библиотеки (mgcv) (деревья) ct5 <- gam (объем ~ te (высота, обхват, k = 5), семейство = гамма (ссылка = журнал), данные = деревья) ct5 График vis.gam (ct5) (ct5, too.far = 0.15)
generic_user

Ответы:


31

Я постараюсь ответить на это в три этапа: во-первых, давайте точно определим, что мы подразумеваем под одномерным гладким. Далее мы опишем многовариантное гладкое (в частности, гладкое из двух переменных). Наконец, я постараюсь описать гладкое тензорное произведение.

1) одномерный гладкий

Допустим, у нас есть некоторые ответные данные которые, как мы предполагаем, представляют собой неизвестную функцию f переменной-предиктора x плюс некоторую ошибку ε . Модель будет:YеИксε

Yзнак равное(Икс)+ε

Теперь, чтобы соответствовать этой модели, мы должны определить функциональную форму . Мы делаем это путем определения базовых функций, которые накладываются друг на друга, чтобы полностью представить функцию f . Очень простым примером является линейная регрессия, в которой базисными функциями являются просто β 2 x и β 1 , точка пересечения. Применяя расширение базы, мы имеемееβ2Иксβ1

Yзнак равноβ1+β2Икс+ε

В матричной форме мы бы имели:

Yзнак равноИксβ+ε

Где - вектор столбцов n-на-1, X - матрица модели n-на-2, β - вектор столбцов 2-на-1 коэффициентов модели, а ε - вектор ошибок столбцов n-на-1 , У X есть два столбца, потому что в нашем базовом расширении есть два члена: линейный член и точка пересечения.YИксβεИкс

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

Чтобы быть явным, базовое расширение измерения может выглядеть следующим образом:я-2

Yзнак равноβ1+β2Икс+β3е1(Икс)+β4е2(Икс)+,,,+βяея-2(Икс)+ε

где каждая функция является, возможно, кубической функцией независимой переменной x .еИкс

Матричное уравнение все еще можно использовать для представления нашей модели. Единственное отличие состоит в том, что X теперь является матрицей n-by-i; то есть, у него есть столбец для каждого члена в расширении базиса (включая член перехвата и линейный термин). Поскольку процесс расширения базиса позволил нам представить модель в форме матричного уравнения, мы можем использовать линейные наименьшие квадраты для подгонки модели и нахождения коэффициентов β .Yзнак равноИксβ+εИксβ

Это пример непенализованной регрессии, и одной из основных сильных сторон MGCV является его оценка гладкости с помощью матрицы штрафов и параметра сглаживания. Другими словами, вместо:

βзнак равно(ИксTИкс)-1ИксTY

у нас есть:

βзнак равно(ИксTИкс+λS)-1ИксTY

где - квадратичная i- by- i штрафная матрица, а λ - скалярный параметр сглаживания. Я не буду вдаваться в спецификацию матрицы штрафов здесь, но достаточно сказать, что для любого данного базисного расширения некоторой независимой переменной и определения квадратичного штрафа за «вихревость» (например, штраф за вторую производную) один можно рассчитать штраф матрицы S .SяяλS

MGCV может использовать различные способы оценки оптимального параметра сглаживания . Я не буду вдаваться в эту тему, поскольку моя цель состояла в том, чтобы дать общий обзор того, как строится одномерное сглаживание, что, я полагаю, я сделал.λ

2) многомерная гладкая

Приведенное выше объяснение может быть обобщено на несколько измерений. Давайте вернемся к нашей модели, которая дает ответ как функцию f от предикторов x и z . Ограничение двумя независимыми переменными предотвратит загромождение объяснения загадочной нотацией. Модель тогда:YеИксZ

Yзнак равное(Икс,Z)+ε

Теперь, должно быть интуитивно очевидно, что мы будем представлять с базисным расширением (то есть суперпозицией базисных функций), как мы это делали в одномерном случае f ( x ) выше. Также должно быть очевидно, что по крайней мере одна и почти наверняка еще много из этих базисных функций должны быть функциями как x, так и z (если бы это было не так, то неявно f будет отделимым, так что f ( x , z ) = f x ( x ) + fе(Икс,Z)е(Икс)ИксZе ). Визуальную иллюстрацию многомерного сплайнового основания можно найтиздесь. Полное двумерное базисное расширение измерения i - 3 может выглядеть примерно так:е(Икс,Z)знак равноеИкс(Икс)+еZ(Z)я-3

Yзнак равноβ1+β2Икс+β3Z+β4е1(Икс,Z)+,,,+βяея-3(Икс,Z)+ε

Я думаю, что довольно ясно, что мы все еще можем представить это в виде матрицы с помощью:

Yзнак равноИксβ+ε

просто оценивая каждую базисную функцию при каждой уникальной комбинации и z . Решение по-прежнему:ИксZ

βзнак равно(ИксTИкс)-1ИксTY

Вычисление матрицы штрафов для второй производной во многом аналогично вычислению в одномерном случае, за исключением того, что вместо интегрирования второй производной каждой базисной функции по одной переменной мы интегрируем сумму всех вторых производных (включая частичные) по отношению для всех независимых переменных. Детали вышеизложенного не особенно важны: дело в том, что мы все еще можем построить штрафную матрицу и использовать тот же метод, чтобы получить оптимальное значение параметра сглаживания λ , и, учитывая этот параметр сглаживания, вектор коэффициентов по-прежнему:Sλ

βзнак равно(ИксTИкс+λS)-1ИксTY

Теперь это двумерное гладкое имеет изотропный штраф: это означает, что одно значение применяется в обоих направлениях. Это прекрасно работает, когда x и z находятся примерно в одном масштабе, например, в пространственном приложении. Но что, если мы заменим пространственную переменную z временной переменной t ? Единицы t могут быть намного больше или меньше, чем единицы x , и это может отбросить интеграцию наших вторых производных, потому что некоторые из этих производных внесут непропорциональный вклад в общую интеграцию (например, если мы измеряем t в наносекундах и ИксλИксZZTTИксTИксв световые годы интеграл от второй производной по может быть значительно больше, чем интеграл от второй производной по x , и, таким образом, "волнистость" в направлении x может оставаться в основном непенализованной). Слайд 15 «гладкой панели инструментов», которую я связал, содержит более подробную информацию по этой теме.TИксИкс

Стоит отметить, что мы не разлагали базисные функции на маргинальные базисы и z . Здесь подразумевается, что многомерное сглаживание должно быть построено из базисов, поддерживающих несколько переменных. Сглаживание тензорного произведения поддерживает построение многомерных базисов из одномерных маргинальных базисов, как я объясню ниже.ИксZ

3) Тензорное произведение сглаживает

Сглаживание тензорных продуктов решает проблему моделирования реакций на взаимодействие нескольких входов с различными единицами. Предположим, у нас есть ответ который является функцией f от пространственной переменной x и временной переменной t . Наша модель тогда:YеИксT

Yзнак равное(Икс,T)+ε

Мы хотели бы построить двумерный базис для переменных и t . Это будет намного проще, если мы можем представить f как:ИксTе

е(Икс,T)знак равноеИкс(Икс)еT(T)

В алгебраическом / аналитическом смысле это не обязательно возможно. Но помните, мы дискретизируем области и тИксT (представим двумерную «решетку», определяемую расположением узлов на осях и t ), так что «истинная» функция f представлена ​​суперпозицией базисных функций , Так же, как мы предполагали, что очень сложная одномерная функция может быть аппроксимирована простой кубической функцией на определенном интервале ее области, мы можем предположить, что неразделимая функция f ( x , t ) может быть аппроксимирована произведением более простых функций. f x ( xИксTее(Икс,T) и f t ( t ) на интервале - при условии, что наш выбор базисных размеров делает эти интервалы достаточно маленькими!еИкс(Икс)еT(T)

Наше расширение базиса, учитывая мерный базис в x и j- мерном базисе в t , будет выглядеть следующим образом:яИксJT

Yзнак равноβ1+β2Икс+β3еИкс1(Икс)+β4еИкс2(Икс)+,,,+βяеИкс(я-3)(Икс)+βя+1T+βя+2TИкс+βя+3TеИкс1(Икс)+βя+4TеИкс2(Икс)+,,,+β2яTеИкс(я-3)(Икс)+β2я+1еT1(T)+β2я+2еT1(T)Икс+β2я+3еT1(T)еИкс1(Икс)+βя+4еT1(T)еИкс2(Икс)+,,,+β2яеT1(T)еИкс(я-3)(Икс)+...+βяJеT(J-3)(T)еИкс(я-3)(Икс)+ε

Что можно интерпретировать как тензорное произведение. Представьте, что мы оценили каждую базисную функцию по и t , тем самым построив n-by-i и n-by-j модельные матрицы X и T соответственно. Тогда мы могли бы вычислить п 2 матрицы с размерностью яИксTИксTN2 тензорное произведение X T из этих двух модельных матриц и реорганизовать в столбцы, такимчто каждый столбец представленного уникальной комбинации я J . Напомним, что маргинальные матрицы моделей имели i и jяJ ИксTяJяJстолбцы соответственно. Эти значения соответствуют их базовым размерам. Наш новый базис с двумя переменными должен иметь размерность и, следовательно, такое же количество столбцов в своей модельной матрице.яJ

ПРИМЕЧАНИЕ. Я хотел бы отметить, что, поскольку мы явно построили базисные функции тензорного произведения, взяв произведения маргинальных базисных функций, тензорные базисы произведений могут быть построены из маргинальных базисов любого типа. Они не должны поддерживать более одной переменной, в отличие от многомерного сглаживания, описанного выше.

В действительности, этот процесс приводит к общему базисному расширению измерения потому что полное умножение включает умножение каждой t базисной функции на x-пересечение β x 1 (поэтому мы вычитаем j ), а также умножение каждого x базисная функция от t-перехвата β t 1 (поэтому мы вычитаем i ), но мы должны сами добавить перехват обратно (поэтому мы добавляем 1). Это известно как применение ограничения идентифицируемости.яJ-я-J+1TβИкс1jxβt1i

Таким образом, мы можем представить это как:

y=β1+β2x+β3t+β4f1(x,t)+β5f2(x,t)+...+βijij+1fijij2(x,t)+ε

Где каждая из многомерных базисных функций является произведением пары маргинальных x и t базисных функций. Опять же, довольно ясно, построив эту базу, мы можем представить ее с помощью матричного уравнения:fxt

Y=Xβ+ε

Который (еще) имеет решение:

β=(XTX)1XTY

Где матрица модели имеет i j - i - j + 1Xijij+1JxJT

JИксзнак равноβTяJSИксβ

а также,

JTзнак равноβTSTяяβ

ИксTλИксλT

Я рекомендую прочитать все виньетки на веб-сайте MGCV, а также « Обобщенные аддитивные модели: и введение в R ». Да здравствует Саймон Вуд.


Хороший ответ. С тех пор я узнал намного больше, чем три года назад. Но я не уверен, что 3 года назад понял бы то, что вы написали сегодня. Или, может быть, я бы сделал. Я думаю, что для начала нужно подумать о расширении базы во многих измерениях как о «сети» в пространстве переменных. Я полагаю, что тензоры могут быть описаны как сеть с прямоугольными узорами ... И, возможно, различные силы "сдвига", тянущие с каждого направления.
generic_user

ИксT

1
βИксяβTJ

1
@ Джош Хорошо, я попробовал. Нелегко иметь это правильно и легко понять одновременно (и следовать чьим-либо примечаниям). Кстати, ссылка на smooth-toolbox.pdf, похоже, не работает.
Джарау

1
Выглядит хорошо. Очевидно, ваше редактирование было отклонено, но я отклонил отклонение и одобрил его. Когда я начал писать этот ответ, я не понимал, насколько запутанными будут выглядеть расширения. Я, вероятно, должен вернуться и переписать его с обозначением pi (product) на днях.
Джош
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.