रैखिक मॉडल में सांख्यिकीय रूप से महत्वपूर्ण अवरोधन शब्द हटाने से बढ़ता है


101

एकल व्याख्यात्मक चर के साथ एक सरल रैखिक मॉडल में,

αi=β0+β1δi+ϵi

मुझे लगता है कि अवरोधन शब्द को हटाने से फिट में काफी सुधार होता है ( का मान 0.3 से 0.9 तक जाता है)। हालाँकि, अवरोधन शब्द सांख्यिकीय रूप से महत्वपूर्ण प्रतीत होता है।R2

अवरोधन के साथ:

Call:
lm(formula = alpha ~ delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.72138 -0.15619 -0.03744  0.14189  0.70305 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.48408    0.05397    8.97   <2e-16 ***
delta        0.46112    0.04595   10.04   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2435 on 218 degrees of freedom
Multiple R-squared: 0.316,    Adjusted R-squared: 0.3129 
F-statistic: 100.7 on 1 and 218 DF,  p-value: < 2.2e-16

अवरोधन के बिना:

Call:
lm(formula = alpha ~ 0 + delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.92474 -0.15021  0.05114  0.21078  0.85480 

Coefficients:
      Estimate Std. Error t value Pr(>|t|)    
delta  0.85374    0.01632   52.33   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2842 on 219 degrees of freedom
Multiple R-squared: 0.9259,   Adjusted R-squared: 0.9256 
F-statistic:  2738 on 1 and 219 DF,  p-value: < 2.2e-16

आप इन परिणामों की व्याख्या कैसे करेंगे? इंटरसेप्ट शब्द को मॉडल में शामिल किया जाना चाहिए या नहीं?

संपादित करें

यहाँ वर्गों के अवशिष्ट योग हैं:

RSS(with intercept) = 12.92305
RSS(without intercept) = 17.69277

14
मैं को याद करता हूं, यदि इंटरसेप्ट शामिल है, तो केवल कुल विचरण के लिए समझाया गया अनुपात। अन्यथा यह व्युत्पन्न नहीं हो सकता है और इसकी व्याख्या खो देता है। R2
मोमो

@ मोमो: अच्छी बात है। मैंने प्रत्येक मॉडल के लिए वर्गों के अवशिष्ट योगों की गणना की है, जो यह सुझाव देते हैं कि इंटरसेप्‍ट टर्म वाला मॉडल कहे , एक बेहतर फिट है । R2
अर्नेस्ट ए

4
जब आप एक अतिरिक्त पैरामीटर शामिल करते हैं, तो आरएसएस को नीचे जाना पड़ता है (या कम से कम नहीं बढ़ता)। इससे भी महत्वपूर्ण बात यह है कि लीनियर मॉडल में मानक मानक का अधिकांश हिस्सा इंटरसेप्ट को दबाने पर लागू नहीं होता है (भले ही यह सांख्यिकीय रूप से महत्वपूर्ण न हो)।
मैक्रों

14
जब कोई अवरोधन नहीं होता है तो क्या करता है कि यह बजाय (सूचना, अर्थ का कोई घटाव) की गणना करता है। भाजक शब्द)। यह हर को बड़ा बनाता है जो समान या समान MSE के कारण को बढ़ाता है। आर 2 = 1 - Σ मैं ( y मैं - y मैं ) 2R आर2
R2=1i(yiy^i)2iyi2
R2
कार्डिनल

5
नहीं है जरूरी बड़ा। यह केवल एक अवरोधन के बिना बड़ा है जब तक कि दोनों मामलों में फिट का एमएसई समान नहीं है। लेकिन, ध्यान दें कि जैसा कि @Macro ने बताया है, मामले में कोई अवरोधक नहीं होने से अंश भी बड़ा हो जाता है, इसलिए यह इस बात पर निर्भर करता है कि कौन बाहर से जीतता है! आप सही हैं कि उनकी एक दूसरे से तुलना नहीं की जानी चाहिए, लेकिन आप यह भी जानते हैं कि अवरोधन वाला SSE हमेशा अवरोधन के बिना SSE से छोटा होगा । यह प्रतिगमन निदान के लिए इन-सैंपल उपायों का उपयोग करने के साथ समस्या का हिस्सा है। इस मॉडल के उपयोग के लिए आपका अंतिम लक्ष्य क्या है? R2
कार्डिनल

जवाबों:


131

सबसे पहले, हमें यह समझना चाहिए कि Rजब मॉडल में कोई अवरोधन शामिल नहीं है तो सॉफ्टवेयर क्या कर रहा है। याद है कि के सामान्य गणना जब एक अवरोधन मौजूद है पहली समानता केवल मॉडल में अवरोधन को शामिल करने के कारण होती है , हालांकि यह संभवतः इसे लिखने के दो तरीकों में से अधिक लोकप्रिय है। दूसरी समानता वास्तव में अधिक सामान्य व्याख्या प्रदान करता है! यह बिंदु इस संबंधित प्रश्न में भी संबोधित है ।आर 2 = Σ मैं ( y मैं - ˉ y ) 2R2

R2=i(y^iy¯)2i(yiy¯)2=1i(yiy^i)2i(yiy¯)2.

लेकिन, अगर मॉडल में कोई अवरोधन नहीं है तो क्या होगा?

खैर, उस मामले में, R( चुपचाप! ) संशोधित रूप का उपयोग करता है

R02=iy^i2iyi2=1i(yiy^i)2iyi2.

यह याद करने में मदद करता है कि क्या मापने की कोशिश कर रहा है। पूर्व मामले में, यह आपके वर्तमान मॉडल की तुलना संदर्भ मॉडल से कर रहा है जिसमें केवल एक अवरोधन (यानी, स्थिर अवधि) शामिल है। दूसरे मामले में, कोई अवरोधन नहीं है, इसलिए इस तरह के मॉडल से इसकी तुलना करना थोड़ा समझ में आता है। इसलिए, इसके बजाय, की गणना की जाती है, जो केवल शोर के लिए संबंधित संदर्भ मॉडल का उपयोग करता है ।आर R2R02

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

लेकिन, वे कैसे अलग हैं, और कब?

आइए कुछ रैखिक बीजगणित में एक संक्षिप्त विषयांतर करें और देखें कि क्या हम पता लगा सकते हैं कि क्या चल रहा है। सबसे पहले, आइए इंटरसेप्ट और फिट किए गए मानों के साथ मॉडल से फिट किए गए मानों को कॉल करें इंटरसेप्ट बिना मॉडल से । y^y~

हम और लिए अभिव्यक्तियों को रूप में फिर से लिख सकते हैं। और क्रमशः।R2R02

R2=1yy^22yy¯122,
R02=1yy~22y22,

अब, जब से , फिर अगर और केवल if y22=yy¯122+ny¯2R02>R2

yy~22yy^22<1+y¯21nyy¯122.

बाएं हाथ की ओर से एक से अधिक है क्योंकि अनुरूप मॉडल भीतर है । दायीं ओर का दूसरा शब्द इंटरसेप्ट-ओनली मॉडल के माध्य वर्ग त्रुटि से विभाजित प्रतिक्रियाओं का वर्ग-माध्य है। तो, अन्य भिन्नता के सापेक्ष प्रतिक्रिया का मतलब जितना बड़ा होगा, हमारे पास उतना ही अधिक "सुस्त" होगा और हावी होने की अधिक संभावना ।y~y^R02R2

ध्यान दें कि सभी मॉडल-निर्भर सामान बाईं ओर है और गैर-मॉडल निर्भर सामान दाईं ओर है।

ठीक है, तो हम बाईं ओर के अनुपात को छोटा कैसे बनाते हैं?

याद है कि और जहां और subspaces के लिए इसी प्रक्षेपण मैट्रिक्स हैं और ऐसी है कि ।y~=P0yy^=P1yP0P1S0S1S0S1

इसलिए, अनुपात एक के करीब होने के लिए, हमें और के सबस्पेस समान होने चाहिए। अब और कि क्या द्वारा केवल अलग , एक आधार वेक्टर या नहीं है तो इसका मतलब है कि बेहतर एक उपस्पेस कि पहले से ही बहुत के करीब स्थित होना था ।S0S1S0S11S01

संक्षेप में, इसका मतलब है कि हमारे भविष्यवक्ता के पास अपने आप में एक बेहतर माध्य ऑफसेट होने की संभावना है और इसका अर्थ यह है कि भविष्यवक्ता की भिन्नता पर ऑफसेट का अर्थ होना चाहिए।

एक उदाहरण

यहां हम मॉडल में स्पष्ट रूप से एक अवरोधन के साथ एक उदाहरण उत्पन्न करने की कोशिश करते हैं और जो प्रश्न में मामले के करीब व्यवहार करता है। नीचे कुछ सरल Rकोड प्रदर्शित करने के लिए है।

set.seed(.Random.seed[1])

n <- 220
a <- 0.5
b <- 0.5
se <- 0.25

# Make sure x has a strong mean offset
x <- rnorm(n)/3 + a
y <- a + b*x + se*rnorm(x)

int.lm   <- lm(y~x)
noint.lm <- lm(y~x+0)  # Intercept be gone!

# For comparison to summary(.) output
rsq.int <- cor(y,x)^2
rsq.noint <- 1-mean((y-noint.lm$fit)^2) / mean(y^2)

यह निम्न आउटपुट देता है। हम इंटरसेप्ट के साथ मॉडल से शुरू करते हैं ।

# Include an intercept!
> summary(int.lm)

Call:
lm(formula = y ~ x)

Residuals:
      Min        1Q    Median        3Q       Max
-0.656010 -0.161556 -0.005112  0.178008  0.621790

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.48521    0.02990   16.23   <2e-16 ***
x            0.54239    0.04929   11.00   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.2467 on 218 degrees of freedom
Multiple R-squared: 0.3571,     Adjusted R-squared: 0.3541
F-statistic: 121.1 on 1 and 218 DF,  p-value: < 2.2e-16

फिर, देखें कि जब हम अवरोधन को बाहर करते हैं तो क्या होता है ।

# No intercept!
> summary(noint.lm)

Call:
lm(formula = y ~ x + 0)

Residuals:
     Min       1Q   Median       3Q      Max
-0.62108 -0.08006  0.16295  0.38258  1.02485

Coefficients:
  Estimate Std. Error t value Pr(>|t|)
x  1.20712    0.04066   29.69   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3658 on 219 degrees of freedom
Multiple R-squared: 0.801,      Adjusted R-squared: 0.8001
F-statistic: 881.5 on 1 and 219 DF,  p-value: < 2.2e-16

नीचे लाल रंग में मॉडल-इन-इंटरसेप्ट और नीले रंग में मॉडल-बिना-इंटरसेप्ट के साथ डेटा का एक प्लॉट है।

प्रतिगमन लाइनों के साथ डेटा प्लॉट


4
यह वास्तव में शानदार है, +1। एक प्रश्न: अक्सर जब हम b / t 2 मॉडल को स्थगित करना चाहते हैं, तो हम एक नेस्टेड मॉडल परीक्षण करते हैं, क्या यह प्रस्तावना करता है, या क्या यह अभी भी एक कम मॉडल w / o को पूर्ण मॉडल w के खिलाफ अवरोधन का परीक्षण करने के लिए मान्य होगा / यह ?
गंग

5
@ गंग: नहीं, मुझे विश्वास नहीं है कि विशिष्ट -टेस्ट से हमें कुछ लेना-देना नहीं है । परीक्षण एक अवरोधन की उपस्थिति पर निर्भर नहीं करता है, और, वास्तव में, मेरा मानना ​​है कि -स्टेटिस्टिक इस मामले में । इससे हमें थोड़ी मात्रा में जानकारी मिलती है, यदि वास्तव में , तो हम जानते हैं कि यह मानते हुए, मैंने बीजगणित को सही ढंग से किया है। FF
F=(n2)(\y\ytilde22\y\yhat221)
R02>R12
F<(n2)y¯2n1\yy¯\one22,
कार्डिनल

1
मैं अभिव्यक्ति को पसंद करता हूंR02=Y~2Y2
स्टीफन लॉरेंट

3
@ naught101: मैं यह नहीं कहूंगा कि यह अधिक सच है, लेकिन यह एक समान रूप से उचित दृष्टिकोण है, आम तौर पर बोल रहा हूं। वर्तमान प्रदर्शनी के लिए, इसे इस अर्थ में अनुपस्थित मानने के लिए सुविधाजनक है कि हम अंततः उप- और बीच के रिश्ते में रुचि रखते हैं । दोनों के बीच का अंतर आधार वेक्टर की उपस्थिति, या अभाव है । S1S01
कार्डिनल

1
मुझे कुछ याद आ रहा है। आर क्या करता है, सही है ? मेरा मतलब है कि आर ^ 2 मूल्य है जो रिपोर्ट किया गया है, यहां तक ​​कि बीच में और बिना अवरोधन के मामलों के बीच तुलनीय है?
एंडी क्लिफ्टन

1

मैं अपने निर्णय को R ^ 2 के बजाय सूचना के मापदंड जैसे कि Akaike या Bayes-Schwarz मानदंड पर आधारित करूंगा; तब भी मैं इन्हें निरपेक्ष नहीं देखूंगा।

यदि आपके पास एक प्रक्रिया है जहां ढलान शून्य के पास है और सभी डेटा मूल से दूर है, तो आपका सही R ^ 2 कम होना चाहिए क्योंकि डेटा में अधिकांश बदलाव शोर के कारण होगा। यदि आप एक अवरोधन के बिना इस तरह के डेटा को एक मॉडल में फिट करने की कोशिश करते हैं, तो आप एक बड़े और गलत ढलान शब्द का निर्माण करेंगे और संभवतः एक बेहतर दिखने वाले R ^ 2 का उपयोग करेंगे यदि अवरोधक मुक्त संस्करण का उपयोग किया जाता है।

निम्नलिखित ग्राफ दिखाता है कि इस चरम मामलों में क्या होता है। यहां जेनरेटिंग प्रोसेस यह है कि x = 100,100.1, .... और y मतलब 0 और मानक विचलन के साथ सिर्फ 100 + यादृच्छिक शोर है ।1। अंक काले घेरे हैं, इंटरसेप्ट के बिना फिट नीली रेखा है और इंटरसेप्ट के साथ फिट (ढलान बाहर शून्य) लाल रेखा है:

[क्षमा करें यह मुझे ग्राफ पोस्ट नहीं करने देगा; इसे उत्पन्न करने के लिए नीचे दिए गए आर-कोड को चलाएं। यह निचले बाएं कोने में मूल दिखाता है, ऊपरी दाएं कोने में बिंदुओं का क्लस्टर। खराब नो-इंटरसेप्ट फिट, निचले बाएँ से ऊपरी दाएँ तक जाता है और सही फ़िट x- अक्ष के समानांतर एक रेखा है]

इसके लिए सही मॉडल में शून्य का आर ^ 2 होना चाहिए --- एक स्थिर प्लस यादृच्छिक शोर हो। आर आपको बिना किसी अवरोधक के फिट के लिए .99 का R और 2 देगा। यह बहुत मायने नहीं रखता अगर आप केवल प्रशिक्षण डेटा की सीमा के भीतर x- मानों के साथ भविष्यवाणी के लिए मॉडल का उपयोग करते हैं, लेकिन गलत तरीके से विफल हो जाएगा अगर x प्रशिक्षण सेट की संकीर्ण सीमा के बाहर चला जाता है या आप सही अंतर्दृष्टि प्राप्त करने की कोशिश कर रहे हैं सिर्फ भविष्यवाणी से परे।

एआईसी सही ढंग से दिखाता है कि इंटरसेप्ट वाला मॉडल पसंद किया जाता है। इसके लिए R कोड है:

 Nsamp=100
x=seq(1,100,1)*.1+100 # x=101.1,101.2,....
y=rnorm(n=length(x))+100 # random noise +100 (best model is constant)

model_withint=lm(y~x)
print(summary(model_withint))
flush.console()
model_noint=lm(y~x+0) 
print(summary(model_noint))
print (AIC(model_withint))
print(sprintf ('without intercept  AIC=%f',AIC(model_noint)))
print(sprintf ('with intercept  AIC=%f',AIC(model_withint)))
print(sprintf ('constant model  AIC=%f',AIC(lm(y~1))))
plot(x,y,ylim=c(0,105),xlim=c(0,105))
lines( c(0,105),c(0,105)*model_noint$coefficients['x'],col=c('blue'))
lines( c(0,105),c(1,1)*(lm(y~1)$coefficients['(Intercept)']),col=c('red'))

AIC आउटपुट है

   "without intercept  AIC=513.549626"
    "with intercept  AIC=288.112573"
    "constant model  AIC=289.411682"

ध्यान दें कि एआईसी को अभी भी इस मामले में गलत मॉडल मिलता है, क्योंकि सच्चा मॉडल स्थिर मॉडल है; लेकिन अन्य रैंडम नंबरों से डेटा मिलेगा जिसके लिए एआईसी लगातार मॉडल के लिए सबसे कम है। ध्यान दें कि यदि आप ढलान को त्यागते हैं, तो आपको इसके बिना मॉडल को परिष्कृत करना चाहिए, मॉडल से अवरोधन का उपयोग करने की कोशिश न करें और ढलान को अनदेखा करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.