Обобщенными аддитивными моделями являются те, где
Мой вопрос о взаимодействиях внутри таких моделей. Что если я захочу сделать что-то вроде следующего:
Но в пакете MGCV в GAM есть такие вещи, как «сглаживание тензорных произведений». Я гуглю "тензорный продукт", и мои глаза тут же застывают, пытаясь прочитать объяснения, которые я нахожу. Либо я недостаточно умен, либо математика не очень хорошо объяснена, либо и то, и другое.
Вместо кодирования
normal = gam(y~s(x1)+s(x2)+s(x1*x2))
тензорный продукт будет делать то же самое (?)
what = gam(y~te(x1,x2))
когда я делаю
plot(what)
или
vis.gam(what)
Я получаю действительно крутой вывод. Но я понятия не имею, что происходит внутри черного ящика te()
, и как интерпретировать вышеупомянутый крутой вывод. Как раз прошлой ночью мне приснился кошмар, когда я проводил семинар. Я показал всем крутой график, они спросили меня, что это значит, а я не знал. Потом я обнаружил, что на мне нет одежды.
Может ли кто-нибудь помочь мне и потомкам, дав немного механики и интуиции в отношении того, что здесь происходит под капотом? В идеале сказать немного о разнице между случаем нормального аддитивного взаимодействия и случаем тензора? Бонусные баллы за то, что вы все говорите на простом английском, прежде чем перейти к математике.
источник
Ответы:
Я постараюсь ответить на это в три этапа: во-первых, давайте точно определим, что мы подразумеваем под одномерным гладким. Далее мы опишем многовариантное гладкое (в частности, гладкое из двух переменных). Наконец, я постараюсь описать гладкое тензорное произведение.
1) одномерный гладкий
Допустим, у нас есть некоторые ответные данные которые, как мы предполагаем, представляют собой неизвестную функцию f переменной-предиктора x плюс некоторую ошибку ε . Модель будет:Y е Икс ε
Теперь, чтобы соответствовать этой модели, мы должны определить функциональную форму . Мы делаем это путем определения базовых функций, которые накладываются друг на друга, чтобы полностью представить функцию f . Очень простым примером является линейная регрессия, в которой базисными функциями являются просто β 2 x и β 1 , точка пересечения. Применяя расширение базы, мы имееме е β2Икс β1
В матричной форме мы бы имели:
Где - вектор столбцов n-на-1, X - матрица модели n-на-2, β - вектор столбцов 2-на-1 коэффициентов модели, а ε - вектор ошибок столбцов n-на-1 , У X есть два столбца, потому что в нашем базовом расширении есть два члена: линейный член и точка пересечения.Y Икс β ε Икс
Тот же принцип применим к расширению баз в MGCV, хотя функции базисов намного сложнее. В частности, отдельные базисные функции не должны быть определены в полной области независимой переменной . Это часто имеет место при использовании основ на основе узлов (см. «Пример на основе узлов»)Икс ). Затем модель представляется в виде суммы базовых функций, каждая из которых оценивается при каждом значении независимой переменной. Однако, как я уже упоминал, некоторые из этих базисных функций принимают значение ноль за пределами данного интервала и, следовательно, не способствуют расширению базиса за пределами этого интервала. В качестве примера рассмотрим кубический сплайн-базис, в котором каждая базисная функция симметрична относительно другого значения (узла) независимой переменной - иными словами, каждая базисная функция выглядит одинаково, но просто смещается вдоль оси независимой переменной. (это упрощение, поскольку любая практическая основа также будет включать в себя перехват и линейный термин, но, надеюсь, вы поймете идею).
Чтобы быть явным, базовое расширение измерения может выглядеть следующим образом:я - 2
где каждая функция является, возможно, кубической функцией независимой переменной x .е Икс
Матричное уравнение все еще можно использовать для представления нашей модели. Единственное отличие состоит в том, что X теперь является матрицей n-by-i; то есть, у него есть столбец для каждого члена в расширении базиса (включая член перехвата и линейный термин). Поскольку процесс расширения базиса позволил нам представить модель в форме матричного уравнения, мы можем использовать линейные наименьшие квадраты для подгонки модели и нахождения коэффициентов β .Y= Xβ + ε Икс β
Это пример непенализованной регрессии, и одной из основных сильных сторон MGCV является его оценка гладкости с помощью матрицы штрафов и параметра сглаживания. Другими словами, вместо:
у нас есть:
где - квадратичная i- by- i штрафная матрица, а λ - скалярный параметр сглаживания. Я не буду вдаваться в спецификацию матрицы штрафов здесь, но достаточно сказать, что для любого данного базисного расширения некоторой независимой переменной и определения квадратичного штрафа за «вихревость» (например, штраф за вторую производную) один можно рассчитать штраф матрицы S .S я я λ S
MGCV может использовать различные способы оценки оптимального параметра сглаживания . Я не буду вдаваться в эту тему, поскольку моя цель состояла в том, чтобы дать общий обзор того, как строится одномерное сглаживание, что, я полагаю, я сделал.λ
2) многомерная гладкая
Приведенное выше объяснение может быть обобщено на несколько измерений. Давайте вернемся к нашей модели, которая дает ответ как функцию f от предикторов x и z . Ограничение двумя независимыми переменными предотвратит загромождение объяснения загадочной нотацией. Модель тогда:Y е Икс Z
Теперь, должно быть интуитивно очевидно, что мы будем представлять с базисным расширением (то есть суперпозицией базисных функций), как мы это делали в одномерном случае f ( x ) выше. Также должно быть очевидно, что по крайней мере одна и почти наверняка еще много из этих базисных функций должны быть функциями как x, так и z (если бы это было не так, то неявно f будет отделимым, так что f ( x , z ) = f x ( x ) + fе( Х , г) е( х ) Икс Z е ). Визуальную иллюстрацию многомерного сплайнового основания можно найтиздесь. Полное двумерное базисное расширение измерения i - 3 может выглядеть примерно так:е( Х , г) = fИкс( х ) + фZ( з) я - 3
Я думаю, что довольно ясно, что мы все еще можем представить это в виде матрицы с помощью:
просто оценивая каждую базисную функцию при каждой уникальной комбинации и z . Решение по-прежнему:Икс Z
Вычисление матрицы штрафов для второй производной во многом аналогично вычислению в одномерном случае, за исключением того, что вместо интегрирования второй производной каждой базисной функции по одной переменной мы интегрируем сумму всех вторых производных (включая частичные) по отношению для всех независимых переменных. Детали вышеизложенного не особенно важны: дело в том, что мы все еще можем построить штрафную матрицу и использовать тот же метод, чтобы получить оптимальное значение параметра сглаживания λ , и, учитывая этот параметр сглаживания, вектор коэффициентов по-прежнему:S λ
Теперь это двумерное гладкое имеет изотропный штраф: это означает, что одно значение применяется в обоих направлениях. Это прекрасно работает, когда x и z находятся примерно в одном масштабе, например, в пространственном приложении. Но что, если мы заменим пространственную переменную z временной переменной t ? Единицы t могут быть намного больше или меньше, чем единицы x , и это может отбросить интеграцию наших вторых производных, потому что некоторые из этих производных внесут непропорциональный вклад в общую интеграцию (например, если мы измеряем t в наносекундах и Иксλ Икс Z Z T T Икс T Икс в световые годы интеграл от второй производной по может быть значительно больше, чем интеграл от второй производной по x , и, таким образом, "волнистость" в направлении x может оставаться в основном непенализованной). Слайд 15 «гладкой панели инструментов», которую я связал, содержит более подробную информацию по этой теме.T Икс Икс
Стоит отметить, что мы не разлагали базисные функции на маргинальные базисы и z . Здесь подразумевается, что многомерное сглаживание должно быть построено из базисов, поддерживающих несколько переменных. Сглаживание тензорного произведения поддерживает построение многомерных базисов из одномерных маргинальных базисов, как я объясню ниже.Икс Z
3) Тензорное произведение сглаживает
Сглаживание тензорных продуктов решает проблему моделирования реакций на взаимодействие нескольких входов с различными единицами. Предположим, у нас есть ответ который является функцией f от пространственной переменной x и временной переменной t . Наша модель тогда:Y е Икс T
Мы хотели бы построить двумерный базис для переменных и t . Это будет намного проще, если мы можем представить f как:Икс T е
В алгебраическом / аналитическом смысле это не обязательно возможно. Но помните, мы дискретизируем области и тИкс T (представим двумерную «решетку», определяемую расположением узлов на осях и t ), так что «истинная» функция f представлена суперпозицией базисных функций , Так же, как мы предполагали, что очень сложная одномерная функция может быть аппроксимирована простой кубической функцией на определенном интервале ее области, мы можем предположить, что неразделимая функция f ( x , t ) может быть аппроксимирована произведением более простых функций. f x ( xИкс T е е( х , т ) и f t ( t ) на интервале - при условии, что наш выбор базисных размеров делает эти интервалы достаточно маленькими!еИкс( х ) еT( т )
Наше расширение базиса, учитывая мерный базис в x и j- мерном базисе в t , будет выглядеть следующим образом:я Икс J T
Что можно интерпретировать как тензорное произведение. Представьте, что мы оценили каждую базисную функцию по и t , тем самым построив n-by-i и n-by-j модельные матрицы X и T соответственно. Тогда мы могли бы вычислить п 2 матрицы с размерностью яИкс T Икс T N2 тензорное произведение X ⊗ T из этих двух модельных матриц и реорганизовать в столбцы, такимчто каждый столбец представленного уникальной комбинации я J . Напомним, что маргинальные матрицы моделей имели i и jя ж Икс⊗ T я ж я J столбцы соответственно. Эти значения соответствуют их базовым размерам. Наш новый базис с двумя переменными должен иметь размерность и, следовательно, такое же количество столбцов в своей модельной матрице.я ж
ПРИМЕЧАНИЕ. Я хотел бы отметить, что, поскольку мы явно построили базисные функции тензорного произведения, взяв произведения маргинальных базисных функций, тензорные базисы произведений могут быть построены из маргинальных базисов любого типа. Они не должны поддерживать более одной переменной, в отличие от многомерного сглаживания, описанного выше.
В действительности, этот процесс приводит к общему базисному расширению измерения потому что полное умножение включает умножение каждой t базисной функции на x-пересечение β x 1 (поэтому мы вычитаем j ), а также умножение каждого x базисная функция от t-перехвата β t 1 (поэтому мы вычитаем i ), но мы должны сами добавить перехват обратно (поэтому мы добавляем 1). Это известно как применение ограничения идентифицируемости.я j - i - j + 1 T βх 1 J Икс βт 1 я
Таким образом, мы можем представить это как:
Где каждая из многомерных базисных функций является произведением пары маргинальных x и t базисных функций. Опять же, довольно ясно, построив эту базу, мы можем представить ее с помощью матричного уравнения:е Икс T
Который (еще) имеет решение:
Где матрица модели имеет i j - i - j + 1Икс я j - i - j + 1 JИкс JT
а также,
Я рекомендую прочитать все виньетки на веб-сайте MGCV, а также « Обобщенные аддитивные модели: и введение в R ». Да здравствует Саймон Вуд.
источник