GAM'larda tensör ürün etkileşimlerinin ardındaki sezgi (R'de MGCV paketi)


30

Genelleştirilmiş katkı modelleri, örneğin . fonksiyonlar düzgündür ve tahmin edilir. Genellikle penaltılaşmış spline'lar. MGCV bunu yapan bir R paketidir ve yazar (Simon Wood) paketi hakkında R örnekleri ile bir kitap yazar. Ruppert ve ark. (2003) aynı şeyin basit versiyonları hakkında çok daha erişilebilir bir kitap yazmaktadır.

y=α+f1(x1)+f2(x2)+ei

Benim sorum, bu tür modellerdeki etkileşimler hakkında. Aşağıdaki gibi bir şey yapmak istersem: eğer OLS ülkesinde olsaydık ( sadece bir beta ise) , yorumlamakta sorun . Cezalandırılmış sınırlarla tahmin edersek, ek bağlamda yorumlama konusunda da sorunum yok.

y=α+f1(x1)+f2(x2)+f3(x1×x2)+ei
f 3ff^3

Ancak GAM’daki MGCV paketinde “tensör ürün pürüzsüzlüğü” denen şeyler var. "Tensör ürünü" google gözlerim hemen bulduğum açıklamaları okumaya çalışırken sırlanıyor. Ya yeterince akıllı değilim ya da matematik çok iyi açıklanmadı ya da her ikisi de.

Kodlama yerine

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

bir tensör ürünü aynı şeyi (?) yapar

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

ben yaparken

plot(what)

veya

vis.gam(what)

Gerçekten harika çıktılar elde ettim. Ancak, kara kutunun içinde neler olup bittiğinden te()ya da yukarıda bahsi geçen serin çıktının nasıl yorumlanacağı hakkında hiçbir fikrim yok . Sadece geçen gece bir seminer verdiğim bir kabus gördüm. Herkese harika bir grafik gösterdim, bana bunun ne anlama geldiğini sordular ve bilmiyordum. Sonra üzerimde hiç kıyafet olmadığını öğrendim.

Kapüşonun altında neler olup bittiğiyle ilgili biraz mekanik ve sezgiler vererek, hem bana hem de aklıma birileri yardım edebilir mi? İdeal olarak, normal ilave etkileşim durumu ile tensör durumu arasındaki fark hakkında biraz bilgi vererek mi? Matematiğe geçmeden önce basit İngilizce dilinde her şeyi söylemeniz için bonus puanları.


paket yazarın kitabından alınan basit örnek: kütüphane (mgcv) verileri (ağaçlar) ct5 <- gam (Cilt ~ (Yükseklik, Girth, k = 5), aile = Gama (link = log), veri = ağaçlar) ct5 vis.gam (ct5) arsa (ct5, too.far = 0.15)
generic_user

Yanıtlar:


30

Bunu üç adımda cevaplayacağım (deneyeceğim): ilk olarak, tek değişkenli bir pürüzsüz ile ne demek istediğimizi tam olarak tanımlayalım. Daha sonra, çok değişkenli bir pürüzsüz tanımlayacağız (özellikle iki değişkenli bir pürüzsüz). Sonunda, bir tensör ürününü açıklamak için elimden geleni yapacağım.

1) Tek değişkenli pürüzsüz

Diyelim bazı yanıtı veri var ki biz bilinmeyen bir işlev varsayım olduğuna bir belirleyicisi değişken bir artı bazı hata . Model şöyle olurdu:f x εyfxε

y=f(x)+ε

Şimdi, bu modele uyabilmek için, işlevsel biçimini tanımlamamız gerekiyor . Bunu yapma biçimimiz, işlevini bütünüyle temsil etmek için üst üste getirilen temel işlevleri tanımlamaktır . Çok basit bir örnek, temel fonksiyonların sadece ve olduğu kesişim olan doğrusal bir regresyondur . Temel genişleme uygulayarak, bizf β 2 x β 1ffβ2xβ1

y=β1+β2x+ε

Matris formunda, biz olurdu:

Y=Xβ+ε

Burada bir n-ile-1 sütun vektördür, , bir n-ile-2 modeli matrisi modeli katsayılarının bir 2-olarak-1 sütun vektördür ve hataların bir n-ile-1 sütun vektördür . iki sütunu vardır çünkü temel genişlememizde iki terim vardır: doğrusal terim ve engelleme.X p s xYXβεX

Temel prensip çok daha karmaşık olmasına rağmen, aynı prensip MGCV’de baz genişlemesi için de geçerlidir. Spesifik olarak, bireysel temel fonksiyonların, bağımsız değişkeninin tam alanı üzerinde tanımlanması gerekmez . Bu tür düğüm tabanlı bazlar kullanırken genellikle böyledir (bkz. "Düğüm bazlı örnek"x). Ardından model, her biri bağımsız değişkenin her bir değerinde değerlendirilen temel fonksiyonların toplamı olarak temsil edilir. Ancak belirttiğim gibi, bu temel işlevlerin bazıları verilen aralığın dışında sıfır değerini alır ve bu nedenle bu aralığın dışındaki temel genişlemeye katkıda bulunmaz. Örnek olarak, her bir temel fonksiyonun bağımsız değişkenin farklı bir değeri (düğüm) hakkında simetrik olduğu bir kübik eğri temelini düşünün - başka bir deyişle, her temel işlev aynı görünür, ancak sadece bağımsız değişkenin ekseni boyunca kaydırılır (Bu pratik bir temel, aynı zamanda bir kesişme ve doğrusal bir terim içereceği için aşırı basitleştirmedir, ancak umarım fikir edersiniz).

Açıkçası, boyutunun temel bir genişlemesi şöyle görünebilir:i2

y=β1+β2x+β3f1(x)+β4f2(x)+...+βifi2(x)+ε

burada her bir işlev , bağımsız değişken kübik bir işlevidir .xfx

Matris denklemi modelimizi temsil etmek için hala kullanılabilir. Tek fark, bir n-by-i matrisi olmasıdır; yani, temel genişlemede (terleme ve doğrusal terim dahil) her terim için bir sütunu vardır. Baz genişleme sürecinin bize bir matris denklemi şeklinde modeli temsil izin verdi, biz modeline uyum katsayıları bulmak için en küçük kareler doğrusal kullanabilir . X βY=Xβ+εXβ

Bu bir unpenalized regresyon örneğidir ve MGCV'nin en güçlü yanlarından biri, bir ceza matrisi ve yumuşatma parametresi ile düzgünlüğü tahminidir. Başka bir deyişle, yerine:

β=(XTX)1XTY

sahibiz:

β=(XTX+λS)1XTY

burada ikinci dereceden bir by- ceza matrisidir ve bir skaler yumuşatma parametresidir. Buradaki ceza matrisinin şartnamesine girmeyeceğim, ancak bazı bağımsız değişkenlerin herhangi bir temel genişlemesi için ve ikinci dereceden bir "ihtiyatlılık" cezasının (örneğin, ikinci-türevli bir ceza) tanımlanması, Ceza matrisini hesaplayabilir .i i λ SSiiλS

MGCV, optimum yumuşatma parametresini tahmin etmek için çeşitli yöntemler kullanabilir . Bu konuya girmeyeceğim çünkü buradaki amacım, yaptığımın inancı olan tek değişkenli bir pürüzsüz yapı hakkında geniş bir genel bakış sağlamaktı.λ

2) Çok değişkenli pürüzsüz

Yukarıdaki açıklama birden fazla boyuta genelleştirilebilir. Cevabı verir bizim modele geri dönelim bir işlev olarak belirleyicileri arasında ve . İki bağımsız değişkenin sınırlandırılması, açıklamanın arkans notasyonu ile karıştırılmasını önleyecektir. Model o zaman:f x zyfxz

y=f(x,z)+ε

Şimdi, yukarıdaki in tek değişkenli durumunda olduğu gibi temel bir genişlemeyle (yani, temel fonksiyonların bir üst üste gelmesiyle temsil edeceğimiz sezgisel olarak açık olmalıdır . Aynı zamanda bu en az bir açık olmalı ve neredeyse kesinlikle çok daha fazla, bu baz fonksiyonlarının her iki işlevleri olmalıdır ve bu durumda değilse (daha sonra örtülü olarak ayrılabilir olacağını, öyle ki ). Çok boyutlu bir spline temelinin görsel bir gösterimi burada bulunabilir . boyutunun tam olarak iki boyutlu bir genişlemesi şöyle görünebilir:f ( x ) x z f f ( x , z ) = f x ( x ) + f z ( z ) i - 3f(x,z)f(x)xzff(x,z)=fx(x)+fz(z)i3

y=β1+β2x+β3z+β4f1(x,z)+...+βifi3(x,z)+ε

Bence bunu hala matris formunda temsil edebileceğimiz çok açık:

Y=Xβ+ε

Her bir temel işlevi ve her benzersiz kombinasyonunda basitçe değerlendirerek . Çözüm hala:zxz

β=(XTX)1XTY

İkinci türev ceza matrisinin hesaplanması, tek değişkene göre her bir temel fonksiyonun ikinci türevini tek bir değişkene göre birleştirmek yerine, tüm ikinci türevlerin toplamını (kısmi dahil) tümüyle dikkate alarak birleştirmemiz dışında, tek değişkenli durumdaki ile aynıdır. tüm bağımsız değişkenler için. Yukarıdakilerin detayları özellikle önemli değildir: Mesele şu ki, ceza matrisi hala oluşturabilir ve yumuşatma parametresinin optimum değerini elde etmek için aynı yöntemi kullanabiliriz ve yumuşatma parametresine göre, katsayı vektörü haladır:λSλ

β=(XTX+λS)1XTY

Şimdi, bu iki boyutlu pürüzsüzün izotropik bir cezası var: bu , her iki yönde de tek bir değerinin geçerli olduğu anlamına gelir . Her iki durumda bu ince çalışan ve örneğin bir uzamsal bir uygulama olarak, aşağı yukarı aynı ölçek üzerinde bulunmaktadır. Fakat ya uzaysal değişkeni , geçici değişkeni ile değiştirirsek ne olur ? Birimleri birimleri daha büyük veya daha küçük olabilir , ve bu da bu türevlerin bazıları (örneğin genel entegrasyon oransız olarak katkıda çünkü ölçtüğümüz ise, ikinci türevlerinin entegrasyonu bozabilir nanosaniye ve x z z t t x t x t x xλxzzttxtxIşık yıllarında, göre ikinci türevin entegrali, göre ikinci türevin integralinden çok daha büyük olabilir ve bu nedenle, yönü boyunca "ağırlıksızlık" büyük ölçüde lisanssız olabilir). Bağladığım "pürüzsüz araç kutusu" nun 15 no'lu slaytının bu konuda daha fazla bilgisi var.txx

Temel işlevleri ve marjinal tabanlarına ayırmadığımızı belirtmekte fayda var . Buradaki sonuç, çok değişkenli pürüzsüzlüklerin birden fazla değişkeni destekleyen tabanlardan yapılması gerektiğidir. Tensor ürünü, aşağıda açıkladığım gibi, tek değişkenli marjinal bazlardan çok değişkenli bazların yapımını destekler.zxz

3) Tensör ürünü düzeltir

Tensör ürünü düzleştirici, çoklu girişlerin farklı birimlerle olan etkileşimlerine modelleme yanıtları sorununu ele almaktadır. Diyelim bir yanıtı olduğunu varsayalım fonksiyonudur mekansal değişken bölgesinin ve temporal değişken . Bizim modelimiz o zaman:f x tyfxt

y=f(x,t)+ε

Yapmak istediğimiz şey, ve değişkenleri için iki boyutlu bir temel oluşturmak . Eğer şu şekilde temsil edebilirsek, bu çok daha kolay olacaktır :t fxtf

f(x,t)=fx(x)ft(t)

Bir cebirsel / analitik anlamda, bu mutlaka mümkün değildir. Ama biz alanlarını diskretize, hatırladın ve (üzerine knot yerleri ile tanımlanan "kafes" iki boyutlu hayal ve eksenleri) "gerçek" fonksiyonu, öyle ki baz fonksiyonlarının süperpozisyon ile temsil edilir . Çok karmaşık tek değişkenli bir fonksiyonun, kendi alanının belirli bir aralığı üzerinde basit bir kübik fonksiyonla yaklaştığını varsaydığımız gibi, ayrılmaz olan fonksiyonunun daha basit fonksiyonların ürünü ile yaklaştığını varsayabiliriz. vextxtff(x,t)fx(x)ft(t) Bir aralıkta - temel boyut seçimimizin bu aralıkları yeterince küçük yapması şartıyla!

Bir verilmiş Bizim temeli genişleme, de boyutlu temeli ve içinde boyutlu bazda , sonra gibi görünecektir:ixjt

y=β1+β2x+β3fx1(x)+β4fx2(x)+...+βifx(i3)(x)+βi+1t+βi+2tx+βi+3tfx1(x)+βi+4tfx2(x)+...+β2itfx(i3)(x)+β2i+1ft1(t)+β2i+2ft1(t)x+β2i+3ft1(t)fx1(x)+βi+4ft1(t)fx2(x)+...+β2ift1(t)fx(i3)(x)++βijft(j3)(t)fx(i3)(x)+ε

Tensör ürünü olarak yorumlanabilir. Her bir temel işlevi ve olarak değerlendirdiğimizi , böylece sırasıyla n-by-i ve n-by-j model matrisleri ve yaptığımızı hayal edin . Daha sonra hesaplayabilirdi -by- tensör ürün , her sütun benzersiz bir kombinasyonu temsil şekilde sütunlar halinde, bu iki modelin matrisler ve yeniden düzenleyebilir, ve . Marjinal model matrislerinin sırasıyla ve sütunlarına sahip olduğunu hatırlayın . Bu değerler kendi temel boyutlarına karşılık gelir. Yeni iki değişkenli o zaman boyutuna sahip olmalıdır.xtXTn2ij XTijijijve dolayısıyla model matrisinde aynı sayıda sütun var.

NOT: Tensör ürününün temel fonksiyonlarını, marjinal temel fonksiyonlarının ürünlerini alarak açıkça oluşturduğumuzdan, tensör ürün tabanlarının her tür marjinal temelden yapılabileceğini belirtmek isterim. Yukarıda tartışılan çok değişkenli pürüzsüzün aksine, birden fazla değişkeni desteklemelerine gerek yoktur.

Gerçekte, boyut genel baz genişleme, bu işlem sonucu tam çarpma her çarpılması içerdiğinden, , x-kesişme ile baz fonksiyonu (çıkartmayı böylece hem de her çarpılması) t-kesişim ile baz fonksiyonu (çıkartmayı böylece ), ancak (biz 1 eklenir, böylece) biz kendi tarafından kesişme geri eklemelidir. Bu bir tanımlanabilirlik kısıtı uygulamak olarak bilinir.ijij+1tβx1jxβt1i

Böylece bunu şu şekilde temsil edebiliriz:

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

Çok değişkenli temel fonksiyonların her birinin , bir çift marjinal ve temel fonksiyonunun ürünüdür . Yine, bu temeli kurmuş olduğumuzu ve matris denklemiyle hala temsil edebileceğimizi açıkça belirtiyoruz:fxt

Y=Xβ+ε

Hangi (hala) çözümü var:

β=(XTX)1XTY

Model matrisi sahip sütun. Ceza matrisleri ve , bunlar aşağıdaki her bağımsız değişken için ayrı ayrı oluşturulur:Xijij+1JxJt

Jx=βTIjSxβ

ve,

Jt=βTStIiβ

Bu, genel bir anizotropik (her yönden farklı) cezaya izin verir (Not: ikinci türevindeki cezalar , eksenindeki her düğümde toplanır , ve bunun tersi de geçerlidir). ve düzleştirme parametreleri şimdi tek düzleştirme parametresinin tek değişkenli ve çok değişkenli olduğu gibi tahmin edilebilir. Sonuç, bir tensör ürününün genel şeklinin pürüzsüz olması, bağımsız değişkenlerinin yeniden ölçeklendirilmesinde değişmez olmasıdır.xtλxλt

Ben, hem de MGCV web sitesindeki tüm vinyet okuma öneriyor " Genelleştirilmiş Katkı Modelleri: ve R ile giriş ." Çok yaşa Simon Wood.


Güzel cevap O zamandan beri üç yıl önce bildiğimden çok daha fazla şey öğrendim. Fakat bugün yazdıklarınızı 3 yıl önce anladığımdan emin değilim. Ya da belki yapardım. Başlayacağım yerin, değişken boyuttaki birçok boyutta temel bir genişlemeyi "net" olarak düşünmek olduğunu düşünüyorum. Sanırım tensörler dikdörtgen biçimli bir ağ olarak tanımlanabilir ... Ve belki de her yönden çeken farklı "kesme" kuvvetleri.
generic_user

Başka bir kayda göre, tensör ürününü uzamsal bir şeyi temsil ettiği düşüncesine karşı uyarırım. Bunun nedeni, marjinal ve temel fonksiyonlarının gerçek tensör ürününün , temel fonksiyonların tanımlanmış aralıkları dışında değerlendirilmesini temsil eden sıfır ton içereceğidir. Gerçek tensör ürünü genellikle çok seyrek olacaktır. xt
Josh

1
Bu harika özet için teşekkürler! Sadece bir not: "Temel genişlememiz" den sonraki denklem tam olarak doğru değil. Doğru temel işlevleri verir, ancak karşılık gelen parametrelerin ürün biçiminde olduğu bir parametre belirlemesi verir ( ). βxiβtj
jarauh

1
@Josh Tamam, denedim. Aynı anda hem doğru hem de kolay anlaşılması (ve başkasının notunu takip etmesi) kolay değildir. Bu arada, smooth-toolbox.pdf bağlantısı kopmuş görünüyor.
jarauh

1
İyi görünüyor. Görünüşe göre düzenlemen reddedildi, ama reddetmeyi geçersiz kıldım ve onayladım. Bu cevabı yazmaya başladığımda, genişlemelerin ne kadar kafa karıştırıcı olacağının farkında değildim. Muhtemelen geri dönüp bugünlerden bir tanesini pi (ürün) notasyonu ile yeniden yazmalıyım.
Josh
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.