R'de hesaplandığı gibi çok değişkenli ortogonal polinomlar nelerdir?


12

Tek değişkenli bir nokta kümesindeki ortogonal polinomlar, nokta ürünü ve çift korelasyonu sıfır olacak şekilde bu noktalarda değerler üreten polinomlardır. R fonksiyonu poli olan dikey polinomlar üretebilir .

Aynı fonksiyon, çok değişkenli bir nokta setinde dikey polinomlar üreten bir varyant polimere sahiptir. Her neyse, sonuçta elde edilen polinomlar, ikili sıfır korelasyonu olması bakımından dik değildir. Aslında, birinci mertebeden polinomların sadece orijinal değişkenler olması gerektiğinden, ilk mertebeden polinomlar orijinal değişkenler ilişkisiz olmadıkça dikey olmayacaktır.

O zaman sorularım:

  • R'de polimerin hesapladığı çok değişkenli dikgen polinomlar nelerdir? Bunlar sadece tek değişkenli dik polinomların ürünü mü? Ne için kullanılırlar?
  • Gerçek çok değişkenli dik polinomlar olabilir mi? Onları üretmenin kolay bir yolu var mı? R? Gerçekten regresyonda mı kullanılıyorlar?

Güncelleme

Superpronker'ın yorumuna yanıt olarak, ilişkisiz polinomlarla ne demek istediğime bir örnek veriyorum:

> x<-rnorm(10000)
> cor(cbind(poly(x,degree=3)))
              1             2             3
1  1.000000e+00 -6.809725e-17  2.253577e-18
2 -6.809725e-17  1.000000e+00 -2.765115e-17
3  2.253577e-18 -2.765115e-17  1.000000e+00

Poli fonksiyonu x noktaları (burada her polinom için 10.000 puan) olarak değerlendirilen dik polinomları döndürür. Farklı polinomlardaki değerler arasındaki korelasyon sıfırdır (bazı sayısal hatalarla).

Çok değişkenli polinomlar kullanırken, korelasyonlar sıfırdan farklıdır:

> x<-rnorm(1000)
> y<-rnorm(1000)
> cor(cbind(polym(x,y,degree=2)))
              1.0           2.0           0.1         1.1           0.2
1.0  1.000000e+00  2.351107e-17  2.803716e-02 -0.02838553  3.802363e-02
2.0  2.351107e-17  1.000000e+00 -1.899282e-02  0.10336693 -8.205039e-04
0.1  2.803716e-02 -1.899282e-02  1.000000e+00  0.05426440  5.974827e-17
1.1 -2.838553e-02  1.033669e-01  5.426440e-02  1.00000000  8.415630e-02
0.2  3.802363e-02 -8.205039e-04  5.974827e-17  0.08415630  1.000000e+00

Bu nedenle, bu iki değişkenli polinomların hangi anlamda dik olduğunu anlamıyorum.

Güncelleme 2

Regresyonda kullanılan "dik polinomların" anlamını açıklığa kavuşturmak istiyorum çünkü bu bağlam, dik Superpronker'ın yorumunda olduğu gibi, birbirine bağlı aralıklarda dik polinomlardan gelen fikirleri uygularken bir şekilde yanıltıcı olabilir.

Julian J. Faraway'in Pratik Regresyonu ve Anova'yı R sayfa 101 ve 102'yi kullanarak alıntıladım :

Ortogonal polinomlar , a, b, c ... katsayılarının vb. böylece olduğunda olur . Z'ye dik polinomlar denir.

z1=a1+b1x
z2=a2+b2x+c2x2
z3=a3+b3x+c3x2+d3x3
ziT·zj=0ij

Dilin hafif bir şekilde kötüye kullanılmasıyla, yazar hem polinom (bir işlev olarak) hem de polinomun kümesinin noktalarında aldığı değerlerin vektörü için kullanır . Ya da belki de dilin kötüye kullanılması bile değildir çünkü kitabının başlangıcından beri yordayıcı olmuştur (örn. Yordayıcı tarafından alınan değerler kümesi).zixx

Dik polinomların bu anlamı aslında bir aralıkta dik polinomlardan farklı değildir. Herhangi bir ölçüm fonksiyonu ile ölçülebilir herhangi bir set üzerinde dik polinomları olağan bir şekilde (integralleri kullanarak) tanımlayabiliriz. Burada sonlu bir küme ( ) var ve integral yerine nokta ürünü kullanıyoruz, ancak sonlu kümemizin noktalarında Dirac deltası olarak ölçüm fonksiyonumuzu alırsak, hala dik polinomlar var.x

Ve korelasyon ile ilgili olarak: ortogonal vektörlerin nokta çarpımı ( sonlu kümedeki ortogonal vektörlerin görüntüsü olarak). İki vektörün nokta çarpımı sıfır ise, kovaryans sıfırdır ve kovaryans sıfırsa korelasyon sıfırdır. Doğrusal modeller bağlamında, "deneylerin dikey tasarımı" nda olduğu gibi "dik" ve "korelasyonsuz" arasında ilişki kurmak için çok yararlıdır.Rn


Bir noktadaki polinomların ilişkisiz olduğunu söylediğinde ne demek istiyorsun? Stokastik değişkenler ilişkisiz olabilir; vektörler nokta çarpım sıfıra eşit olabilir.
Superpronker

Sonlu bir nokta kümesinde değerlendirildiğinde, her polinom için bir dizi değer elde ederiz. Bu değerler kümesi arasındaki korelasyonu hesaplayabiliriz ve dik polinomlar için sıfır korelasyon elde ederiz. Korelasyon kovaryans ve kovaryans nokta ürün ile ilişkili olduğundan, sıfır korelasyon ve sıfır nokta ürünün eşdeğer olduğunu varsayıyorum.
Pere

Yanlış anlarsam özür dilerim ama hala takip etmiyorum. Korelasyon, her birinin N gözlemine sahip olduğunuz iki vektör arasındadır. Birinci ve ikinci dereceden terim ilişkisiz olmalı mı demek istiyorsun? Sonra değerlendirdiğiniz noktalara bağlıdır. [-1; 1] 'de değil, [0; 1]' de. Ortogonallik ve ilişkisizlik arasındaki ilişkinin sezgisinin kesin olmadığını düşünüyorum.
Superpronker

Sorunu bununla güncelledim, ancak regresyon bağlamında diklik ve ilişkisizlik neredeyse eşanlamlıdır. Bir kaynak bağladım. Ve evet, değerlendirdiğimiz noktalara bağlı. Poli düzeninin ilk argümanı değerlendirdiğimiz noktaların vektörüdür ve örneklerimin ilk adımı, değerlendirilecek noktaların vektörünün oluşturulmasıdır. Regresyonda, öngörücümüzün değerlerindeki dikey vektörlerle ilgileniyoruz.
Pere

Bence gösterimin kötüye kullanılması göründüğünden daha sorunlu; iki polinomun dikgenliği, polinomları nerede değerlendirirseniz değerlendirin, nokta ürününün sıfır olması olarak tanımlanmaz. Aksine, iki polinom terimi (farklı düzeneklerden) bir "işlev anlamında" sıfır nokta ürününe sahip olmalıdır; ve fonksiyonlar için nokta ürünler tipik olarak bir ölçüye göre integrallerdir (yani Ağırlık fonksiyonu). Bkz. En.m.wikipedia.org/wiki/Orthogonal_polynomials . Doğruysam, bu karışıklığı açıklar. Ancak wiki'de anlarla ilişki hakkında bir yorum var.
Superpronker

Yanıtlar:


5

Neler olduğunu keşfedelim. Eminim aşağıdaki materyallerin çoğunu zaten biliyorsunuzdur, ancak gösterim ve tanımlar oluşturmak ve fikirleri netleştirmek için, soruyu cevaplamadan önce polinom regresyonunun temellerini ele alacağım. İsterseniz, bu gönderiye giden Ryolun üçte ikisi hakkında "Ne işe yarar" başlığına atlayın ve sonra ihtiyacınız olabilecek tanımlar için atlayın.

Ayar

Bir çeşit regresyonda potansiyel açıklayıcı değişkenlerin model matrisi . Bu, sütunlarını -vektörler olarak düşündüğümüz anlamına gelir ve bunların doğrusal kombinasyonlarını oluşturacağız, bir yanıtı tahmin etmek veya tahmin etmek. n×kXXnX1,X2,,Xkβ1X1+β2X2++βkXk,

Bazen, çeşitli sütunlarını katsayı katsayısı ile çarparak oluşturulan ek sütunlar eklenerek regresyon geliştirilebilir . Bu tür ürünler "monomiyaller" olarak adlandırılır ve şöyle yazılabilirX

X1d1X2d2Xkdk

burada her "güç" sıfır veya daha büyüktür, her ürününde kaç kez göründüğünü gösterir. Uyarı bu , bir olan , sabit katsayılar (arasında -vector ) ve kendisi. Bu nedenle, monomiyaller (vektörler olarak) orijinal sütun uzayını içeren bir vektör uzayı üretir Daha büyük bir vektör uzayı olabilme olasılığı, bu prosedüre lineer kombinasyonlarla yanıt modellemesi için daha geniş bir alan sağlar.diX1X0n1X1=XX.

Orijinal model matrisi bir koleksiyon doğrusal kombinasyonuyla değiştirmeyi amaçlıyoruz. Bu monomials en az biri derecesi aştığında bu adlandırılır polinom regresyon.X1,

Polinomların dereceleri

Bir derecesi , güçlerinin toplamıdır, Monomiyallerin doğrusal bir kombinasyonunun derecesi (bir "polinom"), sıfır olmayan katsayılara sahip monomiyal terimler arasındaki en büyük derecedir. Derecenin içsel bir anlamı vardır, çünkü orijinal vektör uzayının temelini değiştirdiğinizde, her vektörü tüm vektörlerin doğrusal bir kombinasyonu ile yeni bir şekilde temsil edilir; monomiyal böylece aynı derecedeki polinomlar haline gelir; ve sonuç olarak herhangi bir polinomun derecesi değişmez.d1+d2++dk.XiX1d1X2d2Xkdk

Derece doğal Bu polinom cebire "sınıflandırma" sağlamaktadır: fırın içerisinde monomials her doğrusal kombinasyonu tarafından oluşturulan vektör alan derecesi kadar ve dahil bir "polinomlar adlandırılan [veya kadar] derece içinde "dereceye kadar polinomların vektör alanı uzanan içindeXd+1,d+1X,dX.

Polinom regresyonunun kullanım alanları

Çoğu zaman, polinom regresyon olan keşif biz dahil etmek monomials başlangıçta bilmiyorum anlamında. Monomiyallerden yeni model matrisleri oluşturma ve regresyonun yeniden takılması işleminin birçok kez tekrarlanması gerekebilir, belki de bazı makine öğrenimi ortamlarında astronomik sayıda.

Bu yaklaşımla ilgili başlıca sorunlar

  1. Monomiyaller, yeni model matrisinde genellikle problemli miktarlarda "çoklu doğrusallık" ortaya çıkarır, çünkü tek bir değişkenin güçleri yüksek oranda eşdoğrusal olma eğilimindedir. (İki farklı değişkenin gücü arasındaki eşgüdüm öngörülemez, çünkü bu değişkenlerin nasıl ilişkili olduğuna bağlıdır ve bu nedenle daha az tahmin edilebilir.)

  2. Model matrisinin sadece tek bir sütununu değiştirmek veya yeni bir sütun girmek veya birini silmek, regresyon prosedürünün "soğuk yeniden başlatılması" gerektirebilir ve bu da hesaplama için uzun zaman alabilir.

Polinom cebirlerinin dereceleri her iki sorunun da üstesinden gelmenin bir yoludur.

Bir değişkente dik polinomlar

Bir göz önüne alındığında , tek kolon vektörü için "dik polinomlar" bir dizi kolon vektörleri dizisidir in monomials doğrusal kombinasyonları olarak oluşan alone-- yani, gücü olarak - aşağıdaki özelliklerle:X,Xp0(X),p1(X),p2(X),XX

  1. Her bir derece için, vektörler ile aynı vektör alanı oluşturmak (Not bu olan olanlar -vector ve , sadece bir kendisi).d=0,1,2,,p0(X),p1(X),,pd(X)X0,X1,,Xd.X0nX1X

  2. karşılıklı olarak ortogonal anlamda olduğu içinpi(X)ij,

    pi(X)pj(X)=0.

Genellikle, bu model matrisi , sütunlarını birim uzunluğuna normalleştirerek ortonormal olarak seçilir : Ters nedeniyle en regresyon denklemleri görünür ve kimlik ters matris kendisi, bu çok büyük bir hesaplama kazancı temsil eder.

P=(p0(X)p1(X)pd(X))
PP=Id+1.
PPId+1

Ortonormallik neredeyse Bunu inşaat yoluyla görebilirsiniz:pi(X).

  • İlk polinom, -vector birim uzunluğunun katı olmalıdır . Sadece iki seçenek vardır, Pozitif kare kökü seçmek gelenekseldir.p0(X),n1=(1,1,,1)±1/n1.

  • İkinci polinom, ile dik olmalıdırÇözümü ortalama değerlerin vektörü olan karşı regresyon yapılarak elde edilebilir Artıklar ise aynı sıfır değildir, onlar sadece iki olası çözümler vermekp1(X),1.X1,X^=X¯1.ϵ=XX^p1(X)=±(1/||ϵ||)ϵ.

...

  • Genel olarak, , karşı gerilemesi ve artıkların birim vektörü olarak yeniden ölçeklendirilmesiyle elde edilir. uzunluğu. Kalanlar sıfır olmadığında iki işaret seçeneği vardır. Aksi takdirde, süreç sona erer: daha yüksek güçlerine bakmak verimsiz olacaktır (Bu güzel bir teoremdir, ancak kanıtının burada dikkatini dağıtması gerekmez.)pd+1(X)Xd+1p0(X),p1(X),,pd(X)X.

Bu, vektörlerinin gerçek dizisine uygulanan Gram-Schmidt işlemidir Genellikle hemen hemen aynı şey olan ancak sayısal olarak kararlı bir şekilde hesaplanan bir QR ayrışması kullanılarak hesaplanır.X0,X1,,Xd,.

Bu yapı , model matrisine dahil edilmesi gereken bir dizi ek sütun verir. Bu nedenle, bir değişkende polinom regresyonu, regresyonda başka bir iyileşme elde edilinceye kadar genellikle bu sekansın elemanlarını tek tek ekleyerek ilerler. Çünkü her yeni sütun, önceki katsayı tahminlerinden hiçbirini değiştirmeyenler de dahil olmak üzere öncekilere diktir. Bu etkili ve kolayca yorumlanabilir bir prosedür sağlar.

Çok Değişkenli Polinomlar

Keşifsel regresyon (ve model uydurma) genellikle bir modele hangi (orijinal) değişkenlerin dahil edileceği göz önünde bulundurularak ilerler; daha sonra bu değişkenlerin, monomiyaller gibi çeşitli dönüşümleri dahil edilerek artırılıp artırılamayacağını değerlendirmek; ve daha sonra bu değişkenlerin ürünlerinden ve bunların yeniden ifadelerinden oluşan "etkileşimler" in tanıtılması.

Bu tür bir program taşıma, daha sonra, şekillendirme ile başlayacak tek değişkenli ortogonal polinomları sütunlarında ayrı ayrı. X Her sütun için uygun bir derece seçtikten sonra etkileşimleri tanıtabilirsiniz.

Bu noktada, tek değişkenli programın bazı bölümleri parçalanır. Uygun bir model belirlenene kadar hangi etkileşimleri birer birer uygularsınız? Dahası, şimdi çok değişkenli analiz alanına gerçekten girdiğimize göre, mevcut seçeneklerin sayısı ve artan karmaşıklığı, bir dizi çok değişkenli ortogonal polinom dizisinin inşasında azalan getiriler olabileceğini düşündürmektedir . Bununla birlikte, aklınızda böyle bir dizi varsa, bir QR ayrışması kullanarak bunu hesaplayabilirsiniz.


Ne Ryapar

Bu nedenle polinom regresyon yazılımı, tek değişkenli ortogonal polinom dizilerinin hesaplanmasına odaklanma eğilimindedir . Bu Rdesteği tek değişkenli polinom gruplarına mümkün olduğunca otomatik olarak genişletmek için karakteristiktir . Bu ne polyyapar. (Eşi polymaslında daha az sayıda çan ve ıslık ile aynı koddur; iki işlev aynı şeyleri yapar.)

Özellikle, polytek bir vektörü verildiğinde belirli bir derece durarak bir tek değişkenli ortogonal polinom dizisini hesaplayacaktır (Eğer çok büyük - ve çok büyük ne kadar büyük tahmin etmek zor olabilir -. Ne yazık ki bir hata verir), belirli bir zaman dizi vektörleri bir matris şeklinde geri dönecekX,d.dX1,,XkX,

  1. Her bir için ortonormal polinom istenen maksimum dereceye kadar ( sabit vektörü tüm değişkenler için ortak olduğundan ve çok basit olduğundan - genellikle regresyondaki kesişme tarafından barındırılır - dahil etmek zahmetine girmez.)p1(Xj),p2(Xj),,pd(Xj)jd.p0(Xi)R

  2. Derece olanlar dahil dik polinomlar arasındaki tüm etkileşimlerd.

Adım (2) çeşitli incelikleri içerir. Genellikle değişkenler arasındaki bir "etkileşim" ile "tüm olası ürünler" anlamına geliriz, ancak bu olası ürünlerden bazıları den büyük derecelere sahip olacaktır Örneğin, değişken ve hesaplard.2d=2, R

p1(X1),p2(X1),p1(X2),p1(X1)p1(X2),p2(X2).

Retmez olmayan daha yüksek dereceden etkileşimleri içerir ya da (derece 3 polinomları) (derece 4 bir polinom). (Bu ciddi bir sınırlama değildir, çünkü bu ürünleri kendiniz kolayca hesaplayabilir veya bir regresyon nesnesinde belirtebilirsiniz .)p2(X1)p1(X2), p1(X1)p2(X2)p1(X2)p2(X2)formula

Başka bir incelik, çok değişkenli ürünlerin hiçbirine normalizasyon yapılmamasıdır . Örnekte, bu tür tek ürün Bununla birlikte, ortalamasının sıfır olacağına ve neredeyse kesinlikle birim normuna sahip olmayacağına dair bir garanti yoktur. Bu anlamda ve arasında gerçek bir "etkileşim" ve bu nedenle etkileşimler genellikle bir regresyon modelinde olduğu için yorumlanabilir.p1(X1)p1(X2).p1(X1)p1(X2)

Bir örnek

Bir örneğe bakalım. Rastgele bir matrix Hesaplamaları takip etmeyi kolaylaştırmak için her şey gösterim için iki önemli rakama yuvarlanır.

X=(135624).

İlk sütun için ortonormal polinom dizisi, birim uzunluğuna normalleştirilerek başlar veBir sonraki adım kendisini içerir. Bu ortogonal hale getirmek için gerileme karşı ve ayar birim uzunluğu için yeniden olçeklendirilmiş bu gerileme artıkları için eşittir. Sonuç olağandır standardizasyon ve o recentering ve standart sapma ile bölünmesi ile elde edilen,X1=(1,5,2)X10=(1,1,1)p0(X1)=(1,1,1)/3(0.58,0.58,0.58).X11=X1p0(X1),X1p0(X1)p1(X1)X1p1(X1)=(0.57,0.79,0.23). Son olarak, ve karşı geriledi ve bu artıklar birim uzunluğuna göre yeniden ölçeklendi. Daha ileri gidemeyiz çünkü güçleri boyuttan daha büyük bir vektör alanı . (Buraya kadar geldik, çünkü katsayılarının minimum polinomu yani derece derece veya daha büyük tüm monomiyallerin daha düşük doğrusal kombinasyonlar olduğunu gösteriyor. güçler ve bu düşük güçler doğrusal olarak bağımsızdır.)X12=(1,25,4)p0(X1)p1(X1)X1n=3X1,(t1)(t5)(t4),3,3

için bir ortonormal polinom dizisini temsil eden sonuçtaki matris ,X1

P1=(0.580.570.590.580.790.200.580.230.78)

(iki önemli rakama).

Aynı şekilde, için bir ortonormal polinom matrisi ,X2

P2=(0.580.620.530.580.770.270.580.150.80).

Etkileşim terimi, bu matrislerin orta sütunlarının çarpımıdırVeya tarafından oluşturulan tam matris ,(0.35,0.61,0.035).polypolym

P=(0.570.590.620.350.530.790.200.770.610.270.230.780.150.0350.80).

Sütunların düzenlendiği sıraya dikkat edin: için sabit olmayan ortonormal polinomlar sütun 1 ve 2'de, için olanlar ise sütun 3 ve . Bu nedenle, bu çıktıda garanti edilen tek dikeylik bunlar arasındadır iki çift sütun. Bu, ve konumlarında sıfırlar bulunan hesaplamasına yansır. (aşağıda kırmızı ile gösterilmiştir), * ancak başka hiçbir yerde sıfırdan farklı olabilir ve ve (mavi ile gösterilen konumlarda olanlar olacaktır aşağıda), ancak diğer çapraz konumlarda bir tane olması muhtemel değildir (X1X2PP,(1,2),(2,1),(3,5),(5,3)(1,1),(2,2),(3,3),(5,5)(4,4)bu örnekte). Aslında,

PP=(1010.280.091010.0910.3110.09110.2500.280.30.250.50.320.091100.321).

gösterilen matrisini incelediğinizde ve nin katlarının gerçekten sıfır olduğunu fark ettiğinizde, kırmızı konumlardaki sıfırların bu deseninin tutulduğunu gözlemleyeceksiniz. Bu iki değişkenli polinomların "dik" olduğu duygusudur.P1017


1
(+1) Her zamanki gibi harika okundu. Ben küçük bir yazım hatası olduğuna inanıyoruz: Bunu yazmak Rhesaplamamakta ama olmamalı olması ? p1(X1)p2(X2)p1(X1)p1(X2)
COOLSerdash

1
@Cool İyi yakalama - şimdi düzeltildi.
whuber

1
Bu harika cevap için teşekkürler. Cevabın cevaplandığına dair umudumu kaybettikten çok sonra gelmesi, onu çok keyifli bir sürpriz yapıyor.
Pere

Ve başka bir küçük yazım hatası olduğunu düşünüyorum: Bence 4. paragrafta " kendisi" " kendisi" olarak tasarlanmıştır. X 1 = XX1=XX1=X
Pere

Tamamen doğru. Metni o kadar yakından okuduğunuz için minnettarım ki, bu hataları bulacaksınız!
whuber
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.