Адаптивный ГАМ сглаживает в мгКв


9

Книга Саймона Вуда о GAM и его связанный пакет R mgcv являются очень подробными и информативными, когда речь идет о теории GAM и подгонке моделей к реальным и смоделированным данным.

Для 1D-сглаживания действительно не о чем беспокоиться, за исключением решения о том, реализовывать ли циклические и адаптивные базисные функции, которые могут давать очень разные результаты прогнозирования по сравнению с кубическими, тонкими пластинами и P-сплайновыми сглаживаниями, потому что в адаптивный случай, несколько GAM установлены в разных регионах вдоль сплайна. Насколько я могу судить, циклические базы являются общими в моделировании временных рядов, в то время как адаптивные сглаживания следует учитывать, когда данные сильно изменяются относительно переменной отклика; однако, адаптивные сглаживания должны использоваться «экономно и осторожно».

Я уже некоторое время исследую GAM, и, учитывая мой исследовательский вопрос, я обнаруживаю, что передумал, когда дело доходит до того, какой из них легко реализовать. MGCV включает в себя 17 различных сглаживания на выбор (по моим подсчетам). Я рассмотрел кубические и P-сплайновые сглаживания.

Теперь у меня вопрос : когда следует рассматривать адаптивные сглаживания по сравнению с неадаптивными аналогами, если конечная цель состоит в том, чтобы использовать подогнанные GAM для целей прогнозирования? Для моих целей я придерживаюсь критерия гладкости GCV по умолчанию, хотя он имеет тенденцию к недостаточному сглаживанию.

Литература растет в прикладных экологических ГАМах, но мне еще не приходилось сталкиваться с исследованием, которое реализует адаптивное сглаживание.

Любой совет приветствуется.

Ответы:


20

Большинство дополнительных сглаживаний в наборе инструментов mgcv действительно предназначены для специализированных приложений - вы можете в значительной степени игнорировать их для общих GAM, особенно одномерных сглаживаний (вам не нужен сплайн со случайным эффектом, сплайн на сфере, марковское случайное поле, или мыльная пленка более гладкая, если у вас есть, например, одномерные данные.)

Если вы можете нести стоимость установки, используйте сплайны регрессии тонких пластин (TPRS).

Эти сплайны являются оптимальными в асимптотическом смысле MSE, но требуют одной базисной функции на наблюдение. То, что делает Саймон в mgcv, это генерирует низкоранговую версию стандартной TPRS, взяв полную основу TPRS и подвергнув ее собственному разложению. Это создает новый базис, где первая kбазисная функция в новом пространстве сохраняет большую часть сигнала в исходном базисе, но во многих меньших базисных функциях. Вот как mgcv удается получить TPRS, который использует только определенное количество базовых функций, а не одну на наблюдение. Это собственное разложение сохраняет большую часть оптимальности классического базиса TPRS, но при значительных вычислительных затратах для больших наборов данных.

Если вы не можете нести стоимость установки TPRS, используйте сплайны кубической регрессии (CRS)

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

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

усадка

Существуют версии усадки как TPRS, так и CRS в mgcv . Они реализуют сплайн, где идеально гладкая часть основания также подвергается штрафу за гладкость. Это позволяет процессу выбора плавности сжимать сглаженную спину за пределы даже линейной функции практически до нуля. Это позволяет штрафу за гладкость также выполнять выбор функции.

Сплайны Дюшона, сплайны P и сплайны B

Эти сплайны доступны для специализированных приложений, в которых необходимо отдельно указать базовый порядок и порядок штрафов. Сплайны Дюшона обобщают TPRS. У меня складывается впечатление, что сплайны P были добавлены в mgcv, чтобы позволить сравнение с другими наказанными подходами, основанными на вероятности, и потому что они являются сплайнами, использованными Eilers & Marx в их статье 1996 года, которая стимулировала большую часть последующей работы в GAM. Сплайны P также полезны в качестве основы для других сплайнов, таких как сплайны с ограничениями формы и адаптивные сплайны.

Сплайны B, реализованные в mgcv, обеспечивают большую гибкость при настройке штрафа и узлов для сплайнов, что может позволить некоторую экстраполяцию за пределы диапазона наблюдаемых данных.

Циклические сплайны

Если диапазон значений для ковариаты можно рассматривать как круг, где конечные точки диапазона должны фактически быть эквивалентными (месяц или день года, угол движения, аспект, направление ветра), это ограничение может быть наложено на основа. Если у вас есть такие ковариаты, то имеет смысл наложить это ограничение.

Адаптивные сглаживатели

Вместо того, чтобы помещать отдельную GAM в секции ковариаты, адаптивные сплайны используют взвешенную штрафную матрицу, где весам разрешено плавно изменяться в пределах диапазона ковариации. Например, для сплайнов TPRS и CRS они принимают одинаковую степень гладкости в диапазоне ковариат. Если у вас есть отношения, в которых дело обстоит иначе, вы можете использовать больше степеней свободы, чем ожидалось, чтобы сплайн мог адаптироваться к волнистым и не волнистым частям. Классическим примером в сглаживающей литературе является

library('ggplot2')
theme_set(theme_bw())
library('mgcv')
data(mcycle, package = 'MASS')
pdata <- with(mcycle,
              data.frame(times = seq(min(times), max(times), length = 500)))

ggplot(mcycle, aes(x = times, y = accel)) + geom_point()

введите описание изображения здесь

Эти данные четко показывают периоды различной плавности - фактически, ноль для первой части серии, партии во время удара, затем уменьшение.

если мы подгоним стандартную GAM к этим данным,

m1 <- gam(accel ~ s(times, k = 20), data = mcycle, method = 'REML')

мы получаем разумную посадку, но есть некоторая дополнительная волнистость в начале и в конце диапазона timesи используемой подгонки ~ 14 степеней свободы

plot(m1, scheme = 1, residuals = TRUE, pch= 16)

введите описание изображения здесь

Чтобы приспособиться к изменчивости, адаптивный сплайн использует взвешенную штрафную матрицу с весами, плавно изменяющимися с ковариатой. Здесь я переоборудую исходную модель с тем же базовым измерением (k = 20), но теперь у нас есть 5 параметров гладкости (по умолчанию m = 5) вместо 1 оригинала.

m2 <- gam(accel ~ s(times, k = 20, bs = 'ad'), data = mcycle, method = 'REML')

Обратите внимание, что эта модель использует гораздо меньше степеней свободы (~ 8), а установленное сглаживание намного менее волнисто на концах, и в то же время оно способно адекватно соответствовать большим изменениям ускорения головы во время удара.

введите описание изображения здесь

На самом деле здесь происходит то, что у сплайна есть основание для сглаживания и основание для штрафа (чтобы веса могли плавно изменяться в зависимости от ковариации). По умолчанию оба эти P шлицы, но вы также можете использовать типы CRS базисные тоже ( bsможет быть только один из 'ps', 'cr', 'cc', 'cs'.)

Как показано здесь, выбор того, идти ли адаптивно или нет, зависит от проблемы; если у вас есть отношение, для которого вы предполагаете, что функциональная форма является гладкой, но степень гладкости варьируется в диапазоне ковариат в отношении, тогда может иметь смысл адаптивный сплайн. Если в вашей серии были периоды быстрых изменений и периоды низких или более постепенных изменений, это может указывать на необходимость адаптивного сглаживания.


1
Спасибо Гэвин! Это действительно отличный ответ, который, я думаю, также поможет другим с таким же беспокойством.
компбиостаты

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