Ters sırt regresyonu: tepki matrisi ve regresyon katsayıları verildiğinde uygun öngörücüler bulun


16

Standart bir OLS regresyon problemini düşününYXβΒ = argmin β { L } = ( xX ) + XY .

L=YXβ2.
β^=argminβ{L}=(XX)+XY.

Ben aynı zamanda bir "ters" Sorun oluşturabilir: Verilen Y ve β bulmak X^ doğuracak β^β , yani minimize edecek argminβ{L}β2 . Bir deyişle, yanıt matrisinin sahip Y ve katsayı vektörü β ve yakın katsayıları doğuracak prediktörü matrisi bulmak istiyoruz β . Bu elbette, \ hat \ X = \ argmin_ \ X \ Big \ {\ | \ argmin_ \ B \ {L \} - \ B ^ * \ | ^ 2 \ Big \} ile ilgili bir OLS regresyon problemidir.

X^=argminX{argminβ{L}β2}=Yβ(ββ)+.

Açıklama güncellemesi: @ GeoMatt22'nin cevabında açıkladığı gibi, Y bir vektörse (yani sadece bir cevap değişkeni varsa), bu X^ birinci sıradadır ve ters problem büyük ölçüde tespit edilemez. Benim durumumda, Y bir matris (birçok tepki değişken vardır, yani bu bir olduğunu aslında çok değişkenli regresyon). Yani X olan n×p , Y bir n×q ve β bir p×q .


Sırt regresyonu için "ters" bir problemi çözmekle ilgileniyorum. Yani, kayıp fonksiyonum şimdi

L=YXβ2+μβ2
ve çözüm
β^=argminβ{L}=(XX+μI)1XY.

"Ters" sorunu

X^=argminX{argminβ{L}β2}=?

Yine, bir yanıt matrisinin sahip Y ve katsayısı vektörü β ve yakın katsayıları verecek bir belirleyici matrisi bulmak istiyoruz β .

Aslında ilgili iki formülasyon vardır:

  1. X^ verilen Y ve β ve \ mu bulun μ.
  2. ve verilen ve bulun . μ Y,β*X^μ^Yβ

Her ikisinin de doğrudan bir çözümü var mı?


Sorunu göstermek için kısa bir Matlab alıntısı:

% generate some data
n = 10; % number of samples
p = 20; % number of predictors
q = 30; % number of responses
Y = rand(n,q);
X = rand(n,p);
mu = 0;
I = eye(p);

% solve the forward problem: find beta given y,X,mu
betahat = pinv(X'*X + mu*I) * X'*Y;

% backward problem: find X given y,beta,mu
% this formula works correctly only when mu=0
Xhat =  Y*betahat'*pinv(betahat*betahat');

% verify if Xhat indeed yields betahat
betahathat = pinv(Xhat'*Xhat + mu*I)*Xhat'*Y;
max(abs(betahathat(:) - betahat(:)))

mu=0Aksi halde bu kod sıfır verir .


Yana ve verilir, bunlar kaybına varyasyonları etkilemez. Bu nedenle (1) 'de hala OLS yapıyorsunuz. Kayıp alarak keyfi küçük yapılabilir çünkü (2), aynı derecede basittir bunun üzerine empoze etmek karşılaştırmak herhangi kısıtlamaları dahilinde, keyfi olarak negatif. Bu durum sizi duruma düşürür (1). u uBμμ^
whuber

@whuber Teşekkürler. Sanırım yeterince açıklamamıştım. (1) 'i düşünün. ve verilir (buna diyelim ), ama yakın sırt regresyon katsayıları verecek bulmalıyım , başka bir deyişle minimize ediciBunun neden OLS olması gerektiğini anlamıyorum. μ B * X B * X argmin B { L r ı d g E ( x , B ) } - B * 2 .BμBXBX
argminB{Lridge(X,B)}B2.
amoeba, Reinstate Monica

Ben Sanki ve ben bulmak istiyorum öyle ki yakın belirli bir etmektir . bulmakla aynı şey değildir . f(v,w)vargminwf(v,w)wargminvf(v,w)
amip diyor ki Reinstate Monica

Besbelli sen çünkü yazınıza fuar, bu konuda kafa karıştırıcı değil aslında kullanarak kaybı fonksiyonu olarak. Muhtemelen yazıdaki (1) ve (2) sorunlarının ayrıntılarını açıklayabilir misiniz? L
whuber

2
@ hxd1011 X'deki birçok sütuna genellikle "çoklu regresyon", Y'deki birçok sütuna genellikle "çok değişkenli regresyon" denir.
amip diyor ki Reinstate Monica

Yanıtlar:


11

Şimdi soru, ilgilenilen sorunun daha kesin bir formülasyonuna dönüştüğüne göre, vaka 1 (bilinen sırt parametresi) için bir çözüm buldum. Bu durum vaka 2 için de yardımcı olacaktır (tam olarak analitik bir çözüm değil, basit bir formül ve bazı kısıtlamalar).

Özet: İki ters problem formülasyonunun hiçbirinin kendine özgü bir cevabı yoktur. Gelen halinde 2 , burada sırt parametresi sonsuz sayıda çözüm bulunmaktadır bilinmemektedir için . verildiği 1 durumunda , tekil değer spektrumundaki belirsizlik nedeniyle için sınırlı sayıda çözüm vardır .X ω ω [ 0 , ω maks. ] ω X ωμω2Xωω[0,ωmax]ωXω

(Türetme biraz uzun, bu yüzden TL, DR: sonunda çalışan bir Matlab kodu var.)


Belirsiz Durum ("OLS")

Ileri sorun burada , ve . X R n × p B R p × q Y R n × q

minBXBY2
XRn×pBRp×qYRn×q

Güncellenmiş soruya dayanarak, olduğunu varsayacağız , bu nedenle , ve verildiğinde belirlenen altındadır . olduğu gibi , "varsayılan" (minimum norm) çözeltisi varsayarız ; burada , tersi tersidir .B X Y L 2 B = X + Y X + Xn<p<qBXYL2

B=X+Y
X+X

* verilen tekil değer ayrışmasından ( SVD ) , yalancı ters ** olarak hesaplanabilir. (* İlk ifadeler tam SVD'yi kullanırken, ikinci ifadeler azaltılmış kullanır. ** Basitlik için tam sıralamaya sahip olduğunu varsayıyorum , yani var.)X = U S V T = U S 0 V T 0 X + = V S + U T = V 0 S - 1 0 U T X S - 1 0X

X=USVT=US0V0T
X+=VS+UT=V0S01UT
XS01

Bu nedenle, ileri sorunun çözümü Gelecekte , burada , tekil değerlerin vektörüdür.S 0 = d i , bir g ( σ 0 ) σ 0 > 0

BX+Y=(V0S01UT)Y
S0=diag(σ0)σ0>0

Ters problemde bize ve verilir . yukarıdaki süreçten geldiğini biliyoruz , ancak bilmiyoruz . Görev uygun belirlemektir .B B X XYBBXX

Güncellenmiş Söz konusu belirtildiği gibi, bu durumda biz kurtarabilirsiniz esasen aynı yaklaşımı kullanarak, yani şimdi pseudoinverse kullanılarak .X 0 = Y B + BX

X0=YB+
B

Aşırı Belirlenmiş Durum (Ridge tahmincisi)

"OLS" durumunda, az tespit edilen sorun, minimum norm çözümü seçilerek çözülmüştür , yani "benzersiz" çözümümüz dolaylı olarak düzenlenmiştir .

Minimum norm çözümünü seçmek yerine , burada normun "ne kadar küçük" olması gerektiğini kontrol etmek için parametresini sunuyoruz, yani sırt regresyonunu kullanıyoruz .ω

Bu durumda, bir var seri için ileri sorunların , tarafından verilir, Farklı sol ve sağ taraf vektörlerini bu koleksiyona toplama sorunlar aşağıdaki "OLS" sorununa indirgenebilir burada artırılmış matrisleri k = 1 , , q dak βX β - y k 2 + ω 2β 2 B ω = [ β 1 , , β k ]βkk=1,,q

minβXβyk2+ω2β2
dk BX ω B - Y 2 X ω = [ X ω I ]
Bω=[β1,,βk],Y=[y1,,yk]
minBXωBY2
Xω=[XωI],Y=[Y0]

Bu aşırı belirlenmiş durumda, çözüm hala sahte ters ancak sahte ters ters değiştirilir ve sonuçta * Yeni "tekillik spektrumu" matrisinin (ters) köşegen olduğu (* biraz yer hesaplaması bu kısa olması bakımından ihmal edilmiştir tasarruf sağlamaktadır. Bu maruz benzer burada için durumda. ** burada girdileri vektörü, tüm işlemlerin giriş açısından yapıldığı vektörü cinsinden ifade edilir .)B ω = ( V 0 S - 2 ω U T ) Y σ 2 ω = σ 2 0 + ω 2

Bω=X+Y
Bω=(V0Sω2UT)Y
pnσωσ0
σω2=σ02+ω2σ0
pnσωσ0

Şimdi bu problemde resmen olarak bir "temel çözüm" kurtarabiliriz, ancak bu artık gerçek bir çözüm değildir.

Xω=YBω+

Bununla birlikte, benzerlik, bu "çözümün" yukarıda verilen tekil değerlerle olan SVD sahip olduğunu . σ 2 ω

Xω=USω2V0T
σω2

Böylece istenen tekil değerleri ile geri kazanılabilir tekil değerler ve normalleştirme parametresi ile ilişkilendiren ikinci dereceden bir denklem türetebiliriz . Çözüm σ0σω2ω

σ0=σ¯±Δσ,σ¯=12σω2,Δσ=(σ¯+ω)(σ¯ω)

Aşağıdaki Matlab demosu ( Octave üzerinden çevrimiçi olarak test edilmiştir ), bu çözüm yönteminin teoride olduğu gibi pratikte de işe yaradığını göstermektedir. Son satır tüm tekil değerlerinin rekonstrüksiyonunda olduğunu gösterir , ancak hangi kökün alınacağını tam olarak anlamadım ( = vs. ). İçin her zaman olacaktır kökü. Bu genellikle "küçük" için , "büyük" için kök devralmış gibi görünmektedir. (Aşağıdaki demo şu anda "büyük" vaka olarak ayarlanmış.)Xσ¯±Δσsgn+ω=0+ωω

% Matlab demo of "Reverse Ridge Regression"
n = 3; p = 5; q = 8; w = 1*sqrt(1e+1); sgn = -1;
Y = rand(n,q); X = rand(n,p);
I = eye(p); Z = zeros(p,q);
err = @(a,b)norm(a(:)-b(:),Inf);

B = pinv([X;w*I])*[Y;Z];
Xhat0 = Y*pinv(B);
dBres0 = err( pinv([Xhat0;w*I])*[Y;Z] , B )

[Uw,Sw2,Vw0] = svd(Xhat0, 'econ');

sw2 = diag(Sw2); s0mid = sw2/2;
ds0 = sqrt(max( 0 , s0mid.^2 - w^2 ));
s0 = s0mid + sgn * ds0;
Xhat = Uw*diag(s0)*Vw0';

dBres = err( pinv([Xhat;w*I])*[Y;Z] , B )
dXerr = err( Xhat , X )
sigX = svd(X)', sigHat = [s0mid+ds0,s0mid-ds0]' % all there, but which sign?

Ters problemler genellikle kötü olduğu ve analitik çözümler çok kırılgan olabileceğinden, bu çözümün ne kadar sağlam olduğunu söyleyemem . Bununla birlikte, Gauss gürültüsü ile kirleten üstünkörü deneyler (yani tam rütbe karşı düşük rütbe ), yöntemin makul şekilde iyi davrandığını göstermektedir.Bpn

Problem 2'ye gelince (yani bilinmiyor), yukarıda üzerinde en azından bir üst sınır verilmiştir . İkinci dereceden ayrımcıların negatif olmaması için ωω

ωωmax=σ¯n=min[12σω2]

İkinci dereceden kök işareti belirsizliği için, aşağıdaki kod snippet'i, işaretten bağımsız olarak, dan farklı olsa bile , herhangi bir ın aynı ileri sırt çözümünü gösterir .X^Bσ0SVD[X]

Xrnd=Uw*diag(s0mid+sign(randn(n,1)).*ds0)*Vw0'; % random signs
dBrnd=err(pinv([Xrnd;w*I])*[Y;Z],B) % B is always consistent ...
dXrnd=err(Xrnd,X) % ... even when X is not

1
11. Bu soruyu cevaplamak için gösterdiğiniz tüm çaba ve yaptığımız tüm tartışmalar için çok teşekkürler. Bu sorumu tamamen yanıtlıyor gibi görünüyor. Bu durumda cevabınızı kabul etmenin yeterli olmadığını hissettim; bu, şu anda bu cevabın sahip olduğu ikiden fazla oyu hak ediyor. Şerefe.
amip diyor ki Reinstate Monica

@amoeba teşekkürler! Yardımcı oldu sevindim. Bağlantının size uygun olup olmadığını ve / veya kullanmak için daha iyi bir yanıt olup olmadığını soran cevap üzerine bir yorum göndereceğim. (SVD tartışmasını pnX
şartlı

@ GeoMatt22 orijinal soru hakkındaki yorumumun kullanılmasının pinviyi bir şey olmadığını söylüyor , katılıyor musunuz?
Haitao Du

1
@ hxd1011 Genelde (neredeyse) hiçbir zaman matrisi açıkça sayısal olarak ters çevirmek istemezsiniz ve bu da yalancı ters için geçerlidir. Burada kullanmamın iki nedeni 1) matematiksel denklemler + amoeba'nın demo koduyla tutarlılık ve 2) yetersiz tespit edilmiş sistemler için varsayılan Matlab "eğik çizgi" çözümleri pinvlerden farklı olabilir . Kodumdaki hemen hemen tüm vakalar, genellikle tercih edilecek olan uygun \ veya / komutları ile değiştirilebilir. (Bunlar Matlab'ın en etkili doğrudan
çözücüye

1
@ hxd1011, önceki yorumumun 2. noktasında , orijinal soru hakkındaki yorumunuzdaki bağlantıdan açıklığa kavuşmak için : "A sıralaması A'daki sütun sayısından daha azsa, x = A \ B mutlaka minimum değildir "Hesaplamalı olarak daha pahalı olan x = pinv (A) * B, minimum norm en küçük kareler çözümünü hesaplar."
GeoMatt22
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.