रिज रिग्रेशन को उलट देना: रिस्पांस मैट्रिक्स और रिग्रेशन गुणांक को देखते हुए, उपयुक्त भविष्यवक्ता खोजें


16

एक मानक OLS प्रतिगमन समस्या पर विचार करें : मेरे पास _ और और मैं को कम करने के लिए ढूंढना चाहता हूं समाधान \ hat \ B = \ argmin_ \ B \ {L \} = (\ X ^ \ top \ X) ^ + \ X ^ \ top \ Y द्वारा दिया जाता है।YXβΒ = argmin β { एल } = ( एक्सएक्स ) + एक्सवाई

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

मैं एक "रिवर्स" समस्या भी दे सकता हूं: दिए गए Y और β , X^ जो β^β करेगा, यानी argminβ{L}β2 । शब्दों में, मेरे पास प्रतिक्रिया मैट्रिक्स Y और गुणांक वेक्टर β और मैं भविष्यवक्ता मैट्रिक्स को खोजना चाहता हूं जो गुणांक \ B ^ * के करीब होगा β। यह निश्चित रूप से, समाधान \ Hat \ X = \ argmin_ \ X \ \ \ \ \ \ \ argmin_ \ B \ {L \} - \ B ^ * \ _ ^ 2 \ Big \} के साथ एक OLS प्रतिगमन समस्या भी है।

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

स्पष्टीकरण अद्यतन: जैसा कि @ GeoMatt22 ने अपने उत्तर में समझाया, अगर Y एक वेक्टर है (यानी यदि केवल एक प्रतिक्रिया चर है), तो यह X^ रैंक एक होगा, और रिवर्स समस्या बड़े पैमाने पर कम हो गई है। मेरे मामले में, Y वास्तव में एक मैट्रिक्स है (यानी कई प्रतिक्रिया चर हैं, यह एक बहुभिन्नरूपी प्रतिगमन है)। तो X है n×p , Y है n×q और β है p×q


मैं रिज प्रतिगमन के लिए "रिवर्स" समस्या को हल करने में रुचि रखता हूं। अर्थात्, मेरा नुकसान कार्य अब

L=YXβ2+μβ2
और समाधान है
β^=argminβ{L}=(XX+μI)1XY.

"उल्टा" समस्या

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

फिर से, मेरे पास एक प्रतिक्रिया मैट्रिक्स Y और एक गुणांक वेक्टर β और मैं एक भविष्यवक्ता मैट्रिक्स ढूंढना चाहता हूं जो गुणांक \ B ^ * के करीब होगा β

वास्तव में दो संबंधित सूत्र हैं:

  1. Find X^ दिए गए Y और β और μ
  2. Find और दिया और । μ वाईβ*X^μ^Yβ

क्या दोनों में से कोई एक सीधा समाधान है?


यहाँ समस्या का वर्णन करने के लिए एक संक्षिप्त मतलबी अंश दिया गया है:

% 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=0लेकिन अन्यथा नहीं।


चूँकि और दिए गए हैं, वे नुकसान में भिन्नता को प्रभावित नहीं करते हैं। इसलिए (1) में आप अभी भी OLS कर रहे हैं । (2) क्योंकि नुकसान लेने के द्वारा मनमाने ढंग से छोटे बनाया जा सकता है, उतना ही सरल है मनमाने ढंग से नकारात्मक, किसी भी बाधाओं आप उस पर लागू करने के लिए की तुलना की सीमाओं के भीतर। यह आपको केस (1) में कमी करता है। μ μBμμ^
whuber

@ शुभंकर धन्यवाद। मुझे लगता है कि मैंने इसे पर्याप्त रूप से स्पष्ट नहीं किया। विचार करें (१)। और दिया जाता है (चलो इसे कहते ), लेकिन मुझे खोजने की जरूरत है कि के करीब रिज प्रतिगमन गुणांक प्राप्त होते हैं , दूसरे शब्दों मैं पता लगाना चाहते हैं में कम से कममैं यह नहीं देखता कि यह ओएलएस क्यों होना चाहिए। μ बी * एक्स बी * एक्स argmin बी { एल आर मैं जी ( एक्स , बी )BμBXBX
argminB{Lridge(X,B)}B2.
अमीबा का कहना है कि मोनिका

यह ऐसा है जैसे मेरे पास और मैं को खोजना चाहता हूं जैसे कि किसी दिए गए करीब है । यह खोजने के समान नहीं है । वी argmin डब्ल्यू एफ ( वी , डब्ल्यू ) डब्ल्यू * argmin vf(v,w)vargminwf(v,w)wargminvf(v,w)
अमीबा का कहना है कि

आपकी पोस्ट में प्रदर्शनी उस मामले के बारे में भ्रमित कर रही है, क्योंकि जाहिर है कि आप वास्तव में को एक हानि फ़ंक्शन के रूप में उपयोग नहीं कर रहे हैं । क्या आप शायद पोस्ट में समस्याओं (1) और (2) की बारीकियों के बारे में विस्तार से बता सकते हैं? L
whuber

2
@ hxd1011 X में कई कॉलम को आमतौर पर "मल्टीपल रिग्रेशन" कहा जाता है, वाई में कई कॉलम को आमतौर पर "मल्टीवेरेट रिग्रेशन" कहा जाता है:
अमीबा का कहना है कि

जवाबों:


11

अब जब यह प्रश्न ब्याज की समस्या के अधिक सटीक सूत्रीकरण में परिवर्तित हो गया है, तो मुझे केस 1 (ज्ञात राउटर पैरामीटर) के लिए एक समाधान मिल गया है। यह केस 2 के लिए भी मदद करना चाहिए (बिल्कुल एक विश्लेषणात्मक समाधान नहीं है, लेकिन एक सरल सूत्र और कुछ बाधाएं)।

सारांश: दो व्युत्क्रम समस्या योगों में से किसी का भी अनूठा उत्तर नहीं है। में मामला 2 , जहां रिज पैरामीटर अज्ञात है, असीम कई समाधान देखते हैं , के लिए । 1 के मामले में, जहां दिया जाता है, एकवचन-मूल्य स्पेक्ट्रम में अस्पष्टता के कारण लिए कई समाधान हैं ।μω2Xωω[0,ωmax]ωXω

(व्युत्पत्ति थोड़ी लंबी है, इसलिए TL, DR: अंत में एक कार्यशील माटलब कोड है।)


अंडर-निर्धारित मामला ("ओएलएस")

आगे की समस्या जहां , , और

minBXBY2
XRn×pBRp×qYRn×q

अद्यतन किए गए प्रश्न के आधार पर, हम मान लेंगे , इसलिए निर्धारित और तहत है । सवाल में रूप में, हम "डिफ़ॉल्ट" समझेंगे (न्यूनतम -norm) समाधान जहां है Pseudoinverse की ।B X Y L 2 B = X + Y X + Xn<p<qBXYL2

B=X+Y
X+X

के एकवचन मान अपघटन ( SVD ) से , * द्वारा दिए गए को pududoinverse की तुलना ** (* पहला भाव पूर्ण SVD का उपयोग करता है, जबकि दूसरा भाव कम SVD का उपयोग करता है। ** सादगी के लिए मुझे लगता है कि में पूर्ण रैंक है, अर्थात मौजूद है।)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

तो आगे की समस्या का समाधान है भविष्य के संदर्भ के लिए, मैं ध्यान देता कि , जहां एकवचन मानों का वेक्टर है।एस 0 = d मैं एक जी ( σ 0 ) σ 0 > 0

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

उलटे समस्या में, हमें और दिया जाता है । हम जानते हैं कि उपरोक्त प्रक्रिया से आया था, लेकिन हम नहीं जानते हैं । कार्य तब उचित निर्धारित करने के लिए है ।B B X XYBBXX

जैसा कि अद्यतन प्रश्न में उल्लेख किया गया है, इस मामले में हम को अनिवार्य रूप से उसी दृष्टिकोण का उपयोग करके पुनर्प्राप्त कर सकते हैं , अर्थात अब के छद्म बिंदु का उपयोग कर ।एक्स 0 = वाई बी + बीX

X0=YB+
B

ओवर-निर्धारित केस (रिज आकलनकर्ता)

"ओएलएस" मामले में, न्यूनतम-मानक समाधान का चयन करके अंडर-निर्धारित समस्या को हल किया गया था , अर्थात हमारे "अद्वितीय" समाधान को नियमित रूप से नियमित किया गया था ।

न्यूनतम मानक समाधान चुनने के बजाय , यहां हम "कितना छोटा" मानदंड को नियंत्रित करने के लिए एक पैरामीटर का परिचय देते हैं, अर्थात हम रिज प्रतिगमन का उपयोग करते हैंω

इस स्थिति में, हमारे पास , लिए आगे की समस्याओं की एक श्रृंखला है , जो कि द्वारा दिए गए हैं अलग-अलग बाएं और दाएं हाथ के वैक्टर को एकत्रित कर रहा है समस्याओं को निम्न "OLS" समस्या में घटाया जा सकता है जहाँ हमने संवर्धित matrices कश्मीर = 1 , ... , क्ष मिनट βएक्स β - y कश्मीर 2 + ω 2β 2 बी ω = [ β 1 , ... , β कश्मीर ]βkk=1,,q

minβXβyk2+ω2β2
मिनट बीएक्स ω बी - वाई 2 एक्स ω = [ एक्स ω मैं ]
Bω=[β1,,βk],Y=[y1,,yk]
minBXωBY2
Xω=[XωI],Y=[Y0]

इस ओवर-निर्धारित मामले में, समाधान अभी भी छद्म उलटा दिया गया है, लेकिन छद्म व्युत्क्रम अब बदल गया है, जिसके परिणामस्वरूप * जहां नया "विलक्षणता स्पेक्ट्रम" मैट्रिक्स है (व्युत्क्रम) विकर्ण ** (* इसे प्राप्त करने के लिए आवश्यक कुछ शामिल गणना संक्षिप्तता के लिए छोड़ दी गई है। यह यहाँ मामले के लिए प्रदर्शनी के समान है । यहाँ की प्रविष्टियाँ हैं। वेक्टर को वेक्टर के संदर्भ में व्यक्त किया जाता है, जहां सभी ऑपरेशन प्रवेश-वार होते हैं।)बी ω = ( वी 0 एस - 2 ω यू टी ) वाई σ 2 ω = σ 2 0 + ω 2

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

अब इस समस्या में हम अभी भी रूप में "आधार समाधान" को औपचारिक रूप से पुनर्प्राप्त कर सकते हैं, लेकिन यह अब एक सही समाधान नहीं है।

Xω=YBω+

हालांकि, सादृश्य अभी भी है कि इस "समाधान" में SVD जो कि ऊपर दिए गए एकवचन मान है। σ 2 ω

Xω=USω2V0T
σω2

इसलिए हम वांछित विलक्षण मूल्यों से संबंधित एक द्विघात समीकरण प्राप्त कर सकते हैं वसूली विलक्षण मूल्यों के लिए और नियमितीकरण पैरामीटर । इसका समाधान तब σ0σω2ω

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

नीचे दिए गए मैटलैब डेमो ( ऑक्टेव के माध्यम से ऑनलाइन परीक्षण ) से पता चलता है कि यह समाधान पद्धति व्यवहार के साथ-साथ सिद्धांत में भी काम करती दिखाई देती है। अंतिम पंक्ति से पता चलता है कि सभी एकवचन मान पुनर्निर्माण , लेकिन मुझे पूरी तरह से पता नहीं चला है कि कौन सा रूट लेना है ( = बनाम )। के लिए यह हमेशा हो जाएगा जड़। यह आमतौर पर "छोटे" लिए पकड़ लगता है , जबकि "बड़े" लिए रूट को लगता है। (नीचे डेमो वर्तमान में "बड़े" मामले पर सेट है।)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?

मैं यह नहीं कह सकता कि यह समाधान कितना मजबूत है, क्योंकि उलटा समस्याएं आम तौर पर बीमार हैं, और विश्लेषणात्मक समाधान बहुत नाजुक हो सकते हैं। हालांकि, गौसियन शोर के साथ सरसरी प्रयोग को प्रदूषित करते हैं (इसलिए इसमें पूर्ण रैंक बनाम कम रैंक ) लगता है कि विधि उचित रूप से अच्छी तरह से व्यवहार किया गया है।Bpn

समस्या 2 (यानी अज्ञात) के लिए, उपरोक्त कम से कम एक ऊपरी पर बाध्य करता है । भेदभाव के लिए गैर-ऋणात्मक होने के लिए हमारे पास ωω

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

द्विघात-रूट साइन अस्पष्टता के लिए, निम्न कोड स्निपेट दर्शाता है कि साइन से स्वतंत्र, कोई भी एक ही फॉरवर्ड रिज-सॉल्यूशन देगा, यहां तक ​​कि जब से भिन्न होगा ।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। इस प्रश्न का उत्तर देने के लिए और आपके द्वारा की गई सभी चर्चाओं के लिए आपके द्वारा किए गए सभी प्रयासों के लिए बहुत बहुत धन्यवाद। यह मेरे प्रश्न का पूरी तरह से उत्तर देता है। मुझे लगा कि इस मामले में केवल आपका जवाब स्वीकार करना ही पर्याप्त नहीं है; यह दो से अधिक upvotes के योग्य है कि यह उत्तर वर्तमान में है। चीयर्स।
अमीबा का कहना है कि

@amoeba धन्यवाद! मुझे खुशी है कि यह मददगार था। मुझे लगता है कि मैं व्हिबर के उत्तर पर एक टिप्पणी पोस्ट करूंगा, जिसमें आप पूछेंगे कि क्या वह उचित है और / या यदि उपयोग करने के लिए बेहतर उत्तर है। (ध्यान दें कि वह अपने SVD चर्चा को पीnएक्स
प्रोविज़ो

@ GeoMatt22 मूल प्रश्न पर मेरी टिप्पणी का उपयोग pinvकरना एक अच्छी बात नहीं है, क्या आप सहमत हैं?
Haitao Du

1
@ hxd1011 सामान्य रूप से आप (लगभग) कभी भी स्पष्ट रूप से मैट्रिक्स को उलटना नहीं चाहते हैं, और यह छद्म व्युत्क्रम के लिए भी है। जिन दो कारणों से मैंने यहां इसका उपयोग किया है, वे हैं 1) गणितीय समीकरणों + अमीबा के डेमो कोड और 2) के साथ संगति, कमतर सिस्टम के मामले के लिए, डिफ़ॉल्ट मटलब "स्लैश" समाधान पिनव से भिन्न हो सकते हैं । मेरे कोड के लगभग सभी मामलों को उपयुक्त \ / कमांड द्वारा प्रतिस्थापित किया जा सकता है, जिन्हें आमतौर पर पसंद किया जाता है। (ये
मतलाब

1
@ hxd1011 मेरी पिछली टिप्पणी के बिंदु 2 पर स्पष्ट करने के लिए, मूल प्रश्न पर आपकी टिप्पणी के लिंक से : "यदि A की रैंक A में स्तंभों की संख्या से कम है, तो x = A \ B आवश्यक नहीं है कि न्यूनतम हो मानक समाधान। अधिक कम्प्यूटेशनल रूप से महंगा एक्स = पिनव (ए) * बी न्यूनतम मानक न्यूनतम-वर्ग समाधान की गणना करता है। "
15 मई को जियोमैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.