Mgcv cinsinden uyarlamalı GAM pürüzsüzleştirir


9

Simon Wood'un GAM'ler ve onunla ilişkili R paket mgcv kitabı, GAM teorisi ve gerçek ve simüle edilmiş verilere modelleme konusunda oldukça ayrıntılı ve bilgilendiricidir.

1D pürüzsüzlükler için, kübik, ince plaka ve P-spline pürüzsüzlüklere kıyasla çok farklı tahmin sonuçları verebilen döngüsel ve adaptif temel işlevlerin uygulanıp uygulanmayacağına karar vermek için gerçekten endişelenecek çok şey yoktur , çünkü adaptif durumda, bir spline boyunca farklı bölgelere birden fazla GAM takılır. Anlayabildiğim kadarıyla, zaman serisi modellemesinde döngüsel bazlar yaygındır, oysa veriler yanıt değişkenine göre çok fazla değiştiğinde adaptif düzlemeler dikkate alınmalıdır; bununla birlikte, uyarlanabilir düzgünlükler "az ve dikkatli bir şekilde" kullanılmalıdır.

GAM'ları bir süredir araştırıyorum ve araştırma sorumu verildiğinde, hangi pürüzsüz uygulamanın söz konusu olduğu konusunda kendimi çok değiştiriyorum. mgcv seçim için 17 farklı pürüzsüz içerir (sayımla). Hem kübik hem de P-spline düzlemelerini düşündüm.

Şimdi sorum şudur : eğer nihai amaç tahmin amaçlı takılmış GAM'leri kullanmaksa, adaptif pürüzsüzlükler adaptif olmayan meslektaşları üzerinde ne zaman düşünülmelidir? Benim amacım için, az pürüzsüz olma eğilimi olmasına rağmen, varsayılan GCV pürüzsüzlük kriterine bağlı kalıyorum.

Literatür uygulamalı ekolojik GAM'larda büyüyor, ancak henüz uyarlanabilir bir pürüzsüzlük uygulayan bir çalışma ile karşılaşmadım.

Herhangi bir tavsiye için teşekkür ederiz.

Yanıtlar:


20

Mgcv araç kutusundaki ekstra pürüzsüzlüklerin çoğu gerçekten uzman uygulamalar için var - onları genel GAM'lar, özellikle tek değişkenli pürüzsüzlükler için büyük ölçüde göz ardı edebilirsiniz (rastgele bir efekt eğrisine, kürede bir spline, bir Markov rastgele alanına, veya tek değişkenli verileriniz varsa daha yumuşak bir sabun filmi.)

Kurulum maliyetini karşılayabiliyorsanız, ince plaka regresyon spline'ları (TPRS) kullanın.

Bu kamalar asimptotik MSE anlamında optimaldir, ancak gözlem başına bir temel işlev gerektirir. Simon'un mgcv'de yaptığı şey, tam TPRS temelini alarak ve onu bir öz bileşime tabi tutarak standart TPRS'nin düşük dereceli bir versiyonunu oluşturmaktır. Bu k, yeni alanda ilk temel fonksiyonun sinyalin çoğunu orijinal bazda, ancak daha az temel fonksiyonda tuttuğu yeni bir temel oluşturur . Bu nasıl mgcv bir TPRS almak için yönetir bu baz fonksiyonları yerine gözlem başına birinin kullandığı yalnızca belirli bir sayı. Bu özdönüşüm, klasik TPRS tabanının en iyi düzeyde olmasını sağlar, ancak büyük veri kümeleri için dikkate değer hesaplama çabası gösterir.

TPRS kurulum maliyetini karşılayamıyorsanız kübik regresyon spline'ları (CRS) kullanın

Bu hızlı bir temel oluşturur ve bu nedenle çok fazla veriyle ilgili sorunlara uygundur. Bununla birlikte düğüm tabanlıdır, bu nedenle kullanıcının bir dereceye kadar bu düğümlerin nereye yerleştirileceğini seçmesi gerekir. Çoğu sorun için, varsayılan düğüm yerleşiminin ötesine geçerek (verilerin sınırında ve aralarında eşit aralıklarla) elde edilecek çok az şey vardır, ancak ortak değişken aralığı boyunca özellikle düzensiz örneklemeniz varsa, düğüm yerleştirmeyi seçebilirsiniz. Örneğin, değişken aralıklı örnek eşdeğer miktarları.

Mgcv cinsinden her pürüzsüzlük özeldir, izotropik pürüzsüzlükler veya iki veya daha fazla ortak değişken kullanmak istediğinizde veya uzamsal düzleme için kullanılan veya büzülme veya rastgele efektler ve rastgele eğriler uygulayan veya ortak değişkenlerin döngüsel olduğu veya wiggliness'in değiştiği yerlerde kullanılır. bir değişkenin aralığı. Bunu yalnızca özel kullanım gerektiren bir sorununuz varsa sorunsuz araç kutusuna yönlendirmeniz gerekir.

büzülme

İçinde büzülme hem TPRS sürümleri ve CRS vardır mgcv . Bunlar, tabanın mükemmel pürüzsüzlüğünün de pürüzsüzlük cezasına tabi olduğu bir spline uygular. Bu, pürüzsüzlük seçim sürecinin, esasen sıfıra doğrusal bir fonksiyonun ötesinde bir pürüzsüz geri daralmasını sağlar. Bu, düzgünlük cezasının özellik seçimini de gerçekleştirmesini sağlar.

Duchon kamaları, P kamaları ve B kamaları

Bu yivler, temel siparişi ve ceza sırasını ayrı ayrı belirtmeniz gereken uzman uygulamalar için kullanılabilir. Duchon spline'lar TPRS'yi genelleştirir. P spline'ların diğer cezalandırılmış olabilirlik tabanlı yaklaşımlarla karşılaştırmaya izin vermek için mgcv'ye eklendiği izlenimini edindim ve bunlar 1996'da Eilers ve Marx tarafından GAM'larda sonraki çalışmaların çoğunu teşvik eden splinelar olduğu için. P kamaları, şekil kısıtlamalı kamalar ve uyarlamalı kamalar gibi diğer kamalar için de bir taban olarak yararlıdır.

B splines, mgcv'de uygulandığı gibi, spline için ceza ve düğümlerin kurulumunda büyük bir esnekliğe izin verir, bu da gözlemlenen verilerin aralığının ötesinde bir ekstrapolasyona izin verebilir.

Devirli splinelar

Bir ortak değişken için değer aralığı, aralığın bitiş noktalarının gerçekten eşdeğer olması gereken bir daire üzerinde düşünülebilirse (ay veya gün, hareket açısı, en boy, rüzgar yönü), bu kısıtlama uygulanabilir esas, baz, temel. Böyle ortak değişkenleriniz varsa, bu kısıtlamayı uygulamak mantıklıdır.

Uyarlanabilir düzleştiriciler

Değişken kamalar, ortak değişkenlerin bölümlerine ayrı bir GAM takmak yerine, ağırlıkların ortak değişken aralığı boyunca sorunsuzca değişmesine izin verilen ağırlıklı bir ceza matrisi kullanır. TPRS ve CRS kamaları için, örneğin, ortak değişken aralığı boyunca aynı derecede pürüzsüzlük elde ederler. Durumun böyle olmadığı bir ilişkiniz varsa, spline'ın wiggly ve wiggly olmayan parçalara uyum sağlamasına izin vermek için beklenenden daha fazla serbestlik derecesi kullanabilirsiniz. Düzeltme literatüründe klasik bir örnek

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()

resim açıklamasını buraya girin

Bu veriler açıkça farklı pürüzsüzlük dönemleri gösterir - serinin ilk kısmı için etkili bir şekilde sıfır, darbe sırasında lotlar, daha sonra azalır.

bu verilere standart bir GAM takarsak,

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

makul bir uyum elde ediyoruz ama başında ve sonunda bazı ekstra peruk var timesve uyum ~ 14 serbestlik derecesi kullanıldı

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

resim açıklamasını buraya girin

Değişken kıvrımlara uyum sağlamak için, uyarlanabilir bir spline ağırlıkları eş değişkenle sorunsuz bir şekilde değişen ağırlıklı bir ceza matrisi kullanır. Burada orijinal modeli aynı taban boyutuna (k = 20) takıyorum ama şimdi m = 5orijinalin 1 yerine 5 pürüzsüzlük parametresine sahibiz (varsayılan değer ).

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

Bu modelin çok daha az serbestlik derecesi (~ 8) kullandığına ve takılan pürüzsüzün uçlarda çok daha az kıvrımlı olduğuna ve yine de darbe sırasında kafa hızlanmadaki büyük değişikliklere yeterince uyduğuna dikkat edin.

resim açıklamasını buraya girin

Aslında burada olan şey, spline'ın pürüzsüz bir temel ve ceza için bir temeli olmasıdır (ağırlıkların ortak değişkenle sorunsuz bir şekilde değişmesine izin vermek için). Her iki Bunların Varsayılan olarak P spline'lar vardır, ama aynı zamanda çok CRS temeli türlerini kullanabilirsiniz ( bsyalnızca biri olabilir 'ps', 'cr', 'cc', 'cs'.)

Burada gösterildiği gibi, uyarlanabilir olup olmayacağının seçimi gerçekten soruna bağlıdır; fonksiyonel formun pürüzsüz olduğunu varsaydığınız bir ilişkiniz varsa, ancak pürüzsüzlüğün derecesi ilişkideki eş değişken aralığına göre değişirse, uyarlanabilir bir spline mantıklı olabilir. Serilerinizde hızlı değişim dönemleri ve düşük veya daha kademeli değişim dönemleri varsa, bu uyarlanabilir bir düzeye ihtiyaç duyulabileceğini gösterebilir.


1
Teşekkürler Gavin! Bu gerçekten aynı endişe ile başkalarına yardımcı olacağını düşünüyorum mükemmel bir cevap.
compbiostats

Benim sorunum için, sonunda yatay bir asimptota yayılan bir monotonik artan eğri uydurdum. Eğrimin başlangıcında, veriler bir asimptota doğru yavaşlamadan önce oldukça hızlı bir şekilde artar. Bazı durumlarda, gözlemlenen veri aralığının ötesinde ekstrapolasyon (yakın / uzak) gereklidir. Modellerim çok basit, ama buradaki tahminlerin en iyi ihtimalle spekülatif olduğunu anlıyorum.
compbiostats
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.