रेखीय प्रतिगमन में किस एल्गोरिथ्म का उपयोग किया जाता है?


42

मैं आमतौर पर "साधारण न्यूनतम वर्ग" के बारे में सुनता हूं। क्या रेखीय प्रतिगमन के लिए सबसे व्यापक रूप से उपयोग किया जाने वाला एल्गोरिदम है? क्या एक अलग का उपयोग करने के कारण हैं?


@ xx, डिज़ाइन मैट्रिक्स में किसी विशेष संरचना को छोड़कर, ये सभी एल्गोरिदम हैं, जो केवल स्थिर कारक में भिन्न होते हैं। अपघटन संबंधी दृष्टिकोण संख्यात्मक लीनियर बीजगणित की परंपरा से विरासत में मिली एक अच्छी आदत है। O(mn2)
JM

@ xxd, और इसीलिए मेरे उत्तर को शामिल किए गए एल्गोरिदम का एक प्रदर्शनी के रूप में तैयार किया गया था। यदि आपके पास इस थ्रेड द्वारा कवर नहीं किए गए प्रश्न हैं, तो एक नया प्रश्न पूछने पर विचार करें।
JM

जवाबों:


32

शीर्षक में प्रश्न के बारे में, एल्गोरिथ्म का उपयोग करने के बारे में क्या है:

एक रेखीय बीजगणित परिप्रेक्ष्य में, रेखीय प्रतिगमन एल्गोरिथ्म एक रेखीय प्रणाली को अज्ञात से अधिक समीकरणों को हल करने का तरीका है । अधिकांश मामलों में इस समस्या का कोई हल नहीं है। और इसका कारण यह है कि वेक्टर , के कॉलम स्पेस से संबंधित नहीं है ।b A C ( A )Ax=bbAC(A)

वह best straight lineहै जो समग्र त्रुटि को बनाता है जितना छोटा लेता है। और यह सोचने के लिए सुविधाजनक है कि छोटा वर्ग होने के लिए छोटा है, , क्योंकि यह गैर नकारात्मक है, और यह 0 के बराबर होता है, जब b \ C (\ mathbf {A}) में होता हैe=Axbसी ( एक )e2bC(A)

प्रोजेक्टिंग (orthogonally) वेक्टर निकटतम बिंदु पर का वेक्टर स्थान देता है वेक्टर जो सिस्टम को हल करता है (यह घटक न्यूनतम त्रुटि के साथ सबसे अच्छी सीधी रेखा पर स्थित है)।bAb

ATAx^=ATbx^=(ATA)1ATb

और अनुमानित वेक्टर द्वारा दिया गया है:b

b=Ax^=A(ATA)1ATb

शायद सबसे कम वर्ग विधि का विशेष रूप से उपयोग नहीं किया जाता है क्योंकि यह squaring आउटलेर के लिए ओवरकम्पेनसेट करता है।

आर में एक सरल उदाहरण देता हूं, जो इस एल्गोरिथ्म का उपयोग करते हुए प्रतिगमन समस्या को हल करता है:

library(fBasics)

reg.data <- read.table(textConnection("
   b      x
  12      0
  10      1
   8      2
  11      3
   6      4
   7      5
   2      6
   3      7
   3      8 "), header = T)

attach(reg.data)

A <- model.matrix(b~x)

# intercept and slope
inv(t(A) %*% A) %*% t(A) %*% b

# fitted values - the projected vector b in the C(A)
A %*% inv(t(A) %*%A ) %*% t(A) %*% b

# The projection is easier if the orthogonal matrix Q is used, 
# because t(Q)%*%Q = I
Q <- qr.Q(qr(A))
R <- qr.R(qr(A))

# intercept and slope 
best.line <- inv(R) %*% t(Q) %*% b

# fitted values 
Q %*% t(Q) %*% b

plot(x,b,pch=16)
abline(best.line[1],best.line[2])

मुझे एक गड़बड़ है could not find inv!
hhh


5
वहाँ fBasics से निमंत्रण का उपयोग करने के लिए एक कारण है जब यह सिर्फ हल करने के लिए एक पर्याय है? यदि यह अनावश्यक है तो बाहरी पैकेज पर निर्भरता की आवश्यकता नहीं होने के जवाब के लिए बेहतर नहीं होगा?
दासोन

@ जॉर्ज मुझे स्पष्ट उत्तर पसंद है, हालांकि, मुझे लगता है कि मूल प्रश्न एल्गोरिदम पूछ रहा था, और क्यूआर सिर्फ एक है। एलयू, एसवीडी, कोलेस्की अपघटन के बारे में कैसे? इसके अलावा, आर में, lmक्यूआर के लिए विधि है, उसके कारण हैं, क्या आप बता सकते हैं कि क्यों?
हेतो दू

@GeorgeDontas ध्यान दें कि यह हो सकता है कि उल्टा न हो। जैसा कि इस उत्तर में बताया गया है , उससे निपटने का एक तरीका कॉलम से हटा रहा है जो अन्य स्तंभों के रैखिक संयोजन हैं। ATAA
ओरेन मिलमैन

70

प्रश्न के पत्र का उत्तर देने के लिए, "साधारण न्यूनतम वर्ग" एक एल्गोरिथ्म नहीं है; बल्कि यह कम्प्यूटेशनल रैखिक बीजगणित में एक प्रकार की समस्या है, जिसमें से रैखिक प्रतिगमन एक उदाहरण है। आमतौर पर किसी व्यक्ति के पास डेटा को फिट करने के लिए डेटा और एक अस्थायी फ़ंक्शन ("मॉडल") होता है, फॉर्म । को "आधार कार्य" कहा जाता है और यह से त्रिकोणमितीय कार्यों (जैसे , ) और घातांक कार्यों ( ) से कुछ भी हो सकता है। "रैखिक प्रतिगमन" में "रैखिक" शब्द का आधार कार्यों से संबंध नहीं है,{(x1,y1),,(xm,ym)}f(x)=c1f1(x)++cnfn(x)fj(x)xjsin(jx)cos(jx)exp(jx)cj, कि से किसी के संबंध में मॉडल के आंशिक व्युत्पन्न लेने से आपको गुणा करने कारक ; वह है, ।cjcjfj(x)

अब एक आयताकार मैट्रिक्स ("डिज़ाइन मैट्रिक्स") है कि (आमतौर पर) में स्तंभों की तुलना में अधिक पंक्तियाँ होती हैं, और प्रत्येक प्रविष्टि प्रपत्र , पंक्ति सूचकांक और जा रहा हूँ स्तंभ सूचकांक। OLS अब वेक्टर को खोजने का कार्य है जो कि मात्रा को कम करता है। (मैट्रिक्स संकेतन में, ; यहां, को आमतौर पर "प्रतिक्रिया वेक्टर" कहा जाता है)।m×nAfj(xi)ijc=(c1cn)j=1m(yjf(xj))2Acy2y=(y1ym)

कम से कम वर्गों के समाधान के लिए प्रैक्टिस में कम से कम तीन तरीकों का उपयोग किया जाता है: सामान्य समीकरण, क्यूआर अपघटन और एकवचन मूल्य अपघटन। संक्षेप में, वे मैट्रिक्स को मैट्रिक्स के एक उत्पाद में बदलने के तरीके हैं जो वेक्टर को हल करने के लिए आसानी से हेरफेर किए जाते हैं ।Ac

जॉर्ज ने पहले ही अपने जवाब में सामान्य समीकरणों का तरीका दिखाया; एक बस रैखिक समीकरणों के सेट को हल करता हैn×n

AAc=Ay

के लिए । इस तथ्य के कारण कि मैट्रिक्स सममित सकारात्मक (अर्ध) निश्चित है, इसके लिए उपयोग की जाने वाली सामान्य विधि चोल्स्की अपघटन है, जो कारक रूप में , के साथ एक निचला त्रिकोणीय मैट्रिक्स। इस दृष्टिकोण के साथ समस्या यह है कि डिज़ाइन मैट्रिक्स को (आमतौर पर) बहुत छोटे मैट्रिक्स में संपीड़ित करने में सक्षम होने के बावजूद , यह ऑपरेशन महत्वपूर्ण आंकड़ों के नुकसान का खतरा है (इसमें कुछ है) डिजाइन मैट्रिक्स की "स्थिति संख्या" के साथ करते हैं)।cAAAAGGGm×nn×n

थोड़ा बेहतर तरीका है क्यूआर अपघटन, जो सीधे डिजाइन मैट्रिक्स के साथ काम करता है। यह कारक as , जहां एक ऑर्थोगोनल मैट्रिक्स है (इस तरह के मैट्रिक्स को गुणा करना एक ट्रांसफॉर्मेशन मैट्रिक्स देता है) और ऊपरी त्रिकोणीय है। को बाद में रूप में गणना की जाती है । जिन कारणों से मैं इसमें शामिल नहीं होगा (बस किसी भी अच्छे संख्यात्मक रैखिक बीजगणित पाठ को देखें, जैसे यह ), इसमें सामान्य समीकरणों की विधि की तुलना में बेहतर संख्यात्मक गुण हैं।AA=QRQRcR1Qy

क्यूआर अपघटन का उपयोग करने में एक भिन्नता अर्ध-समीकरणों की विधि है । संक्षेप में, अगर किसी के पास अपघटन , तो हल की जाने वाली रैखिक प्रणाली फॉर्म लेती हैA=QR

RRc=Ay

प्रभावी रूप से, कोई इस अप्रोच में के चोल्स्की त्रिकोण बनाने के लिए QR अपघटन का उपयोग कर रहा है। यह उस स्थिति के लिए उपयोगी है, जहां विरल है, और (या इसका एक तथ्यात्मक संस्करण) का स्पष्ट भंडारण और / निर्माण अवांछित या अव्यवहारिक है।AAAQ

अंत में, सबसे महंगा, अभी तक सबसे सुरक्षित, ओएलएस को हल करने का तरीका एकवचन मूल्य अपघटन (एसवीडी) है। इस समय, को , जहां और दोनों ऑर्थोगोनल हैं , औरएक = यू Σ वीयू वी ΣAA=UΣVUVΣएक विकर्ण मैट्रिक्स है, जिसकी विकर्ण प्रविष्टियों को "एकवचन मान" कहा जाता है। इस अपघटन की शक्ति एकवचन मूल्यों द्वारा आपको दी गई नैदानिक ​​क्षमता में निहित है, जिसमें यदि कोई एक या एक से अधिक छोटे विलक्षण मूल्यों को देखता है, तो संभावना है कि आपने पूरी तरह से स्वतंत्र आधार निर्धारित नहीं किया है, इस प्रकार एक सुधार की आवश्यकता है आपका मॉडल (पहले उल्लेख की गई "स्थिति संख्या" वास्तव में सबसे बड़ी एकवचन मान के अनुपात से संबंधित है जो सबसे छोटी है, निश्चित रूप से अनुपात बड़ा हो जाता है (और मैट्रिक्स इस प्रकार बीमार है) यदि सबसे छोटा एकवचन मान "छोटा" है ।)

यह केवल इन तीन एल्गोरिदम का एक स्केच है; कम्प्यूटेशनल सांख्यिकी और संख्यात्मक रैखिक बीजगणित पर कोई भी अच्छी पुस्तक आपको अधिक प्रासंगिक विवरण देने में सक्षम होना चाहिए।


3
अच्छी व्याख्या!
माइक स्पाइवे

R^{-1} Q^T yयदि आप वर्ग नहीं है तो आप कैसे गणना करते हैं ? क्या आप R में शून्य पंक्तियों को छोड़ते हैं?
bhan

1
@bhan, मैं क्यूआर अपघटन के "अर्थव्यवस्था" (या "पतले") संस्करण को मान रहा हूं, जहां वर्ग है और में डिज़ाइन मैट्रिक्स के समान आयाम हैं। आपके लिए कुछ करने के लिए: "पूर्ण क्यूआर" और "पतली क्यूआर" के बीच अंतर देखें। क्यूRQ
JM

@JM "कम्प्यूटेशनल सांख्यिकी और संख्यात्मक रैखिक बीजगणित पर अच्छी किताब" पर कोई सिफारिशें? वास्तव में अधिक सीखना चाहते हैं।
1989 को Haitao Du

1
@ हेड, मेरे सिर के ऊपर से: कम्प्यूटेशनल आंकड़ों के लिए मोनाहन, और संख्यात्मक रैखिक बीजगणित के लिए गोलूब / वैन ऋण।
को JM एक सांख्यिकीविद नहीं है

6

विकी लिंक: रैखिक प्रतिगमन के लिए आकलन के तरीके OLS और अनुमानों के वैकल्पिक तरीकों की एक व्यापक सूची देता है जिसमें वैकल्पिक अनुमान विधियों का उपयोग किया जाता है।


1
प्रश्न को संबोधित नहीं करता है (पृष्ठ में QR का उल्लेख भी नहीं है)
user603

4

परिभाषाओं और शब्दावली के बीच भ्रमित होना आसान है। दोनों शब्दों का उपयोग किया जाता है, कभी-कभी परस्पर विनिमय किया जाता है। विकिपीडिया पर एक त्वरित खोज में मदद करनी चाहिए:

ऑर्डिनरी लिस्ट स्क्वायर (ओएलएस) एक विधि है जिसका उपयोग रैखिक प्रतिगमन मॉडल को फिट करने के लिए किया जाता है। ओएलएस विधि की प्रदर्शनात्मक स्थिरता और दक्षता (पूरक मान्यताओं के तहत) के कारण, यह प्रमुख दृष्टिकोण है। आगे के लिए लेख देखें।


ठीक है, यही कारण है कि मैं ओएलएस को रेखीय प्रतिगमन में इस्तेमाल होने वाले "एल्गोरिथ्म" के रूप में मानता हूं ...
बेलमोंट

3
साधारणतम वर्ग एक अनुमानक है। अनुमान की गणना के लिए कई प्रकार के एल्गोरिदम हैं: आमतौर पर कुछ प्रकार के ऑर्थोगोनल मैट्रिक्स अपघटन, जैसे कि क्यूआर का उपयोग किया जाता है। देखें en.wikipedia.org/wiki/...
साइमन बर्न

4

मैं 'कम से कम वर्गों' को सर्वश्रेष्ठ फिटिंग रिग्रेशन लाइन (यानी, जो 'स्क्वेर्ड' रेजिडेंस 'कम से कम') और 'अल्गोरिदम' का योग इस संदर्भ में बताता हूं कि इस संदर्भ में कदमों के सेट के रूप में उपयोग किया जाता है। प्रतिगमन गुणांक निर्धारित करने के लिए जो उस मानदंड को पूरा करते हैं। यह भेद बताता है कि अलग-अलग एल्गोरिदम होना संभव है जो एक ही मानदंड को पूरा करेंगे।

मुझे यह जानने की उत्सुकता होगी कि क्या अन्य लोग यह भेद करते हैं और वे किस शब्दावली का उपयोग करते हैं।


एल्गोरिथ्म से, मेरा मतलब है कि वितरण के लिए मॉडल बनाने के लिए एक लाइन फिटिंग के लिए उपयोग किए जाने वाले सॉफ़्टवेयर कार्यान्वयन।
बेलमोंट

3

एक पुरानी किताब, फिर भी मैं खुद को बार-बार ढूंढता हूं, है

लॉसन, सीएल और हैनसन, आरजे सॉल्विंग लिस्ट स्क्वायर प्रॉब्लम्स , अप्रेंटिस-हॉल, 1974।

इसमें कुछ एल्गोरिदम की एक विस्तृत और बहुत ही पठनीय चर्चा शामिल है जिसका पिछले उत्तर में उल्लेख किया गया है। आप इसे देखना चाह सकते हैं।


1
यदि आप इस पुरानी किताब को पढ़ते हैं, तो आपको ,ke Björck's Numerical Methods for Least Squares Problems में भी देखना चाहिए , जिसमें लॉसन / हैंसन की चर्चा नहीं की गई है। लॉसन / हैंसन पुस्तक में शामिल दिनचर्या नेटलिब से उपलब्ध हैं ।
JM
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.