इन शर्तों को समझने का सबसे अच्छा तरीका हाथ से प्रतिगमन गणना करना है। मैंने दो निकट से संबंधित उत्तर ( यहां और यहां ) लिखे हैं , हालांकि वे आपके विशेष मामले को समझने में पूरी तरह से आपकी मदद नहीं कर सकते हैं। लेकिन फिर भी उनके माध्यम से पढ़ें। हो सकता है कि वे इन शब्दों को बेहतर तरीके से समझने में आपकी मदद करें।
एक प्रतिगमन (या एनोवा) में, हम एक नमूना डेटासेट के आधार पर एक मॉडल बनाते हैं जो हमें ब्याज की आबादी से परिणामों की भविष्यवाणी करने में सक्षम बनाता है। ऐसा करने के लिए, निम्नलिखित तीन घटकों की गणना एक साधारण रेखीय प्रतिगमन में की जाती है, जहाँ से अन्य घटकों की गणना की जा सकती है, उदाहरण के लिए वर्गों, F- मान, (समायोजित ), और अवशिष्ट मानक त्रुटि ( ):R2R2RSE
- वर्गों के कुल योग ( )SStotal
- वर्गों के अवशिष्ट योग ( )SSresidual
- वर्गों के मॉडल रकम ( )SSmodel
उनमें से प्रत्येक यह आकलन कर रहे हैं कि मॉडल डेटा का कितना अच्छा वर्णन करता है और डेटा बिंदुओं से सज्जित मॉडल तक चौकोर दूरी का योग है (नीचे दिए गए प्लॉट में लाल रेखाओं के रूप में चित्रित किया गया है)।
का आकलन कैसे अच्छी तरह से मतलब फिट डेटा। मतलब क्यों? क्योंकि माध्य सबसे सरल मॉडल है जिसे हम फिट कर सकते हैं और इसलिए उस मॉडल के रूप में कार्य करता है, जिसकी तुलना सबसे कम-वर्ग प्रतिगमन रेखा से की जाती है। डेटासेट का उपयोग कर यह प्लॉट दिखाता है कि:SStotalcars
का आकलन कैसे अच्छी तरह से प्रतिगमन लाइन डेटा फिट बैठता है।SSresidual
तुलना कितना बेहतर प्रतिगमन लाइन मतलब की तुलना में है (यानी के बीच का अंतर और )।SSmodelSStotalSSresidual
अपने प्रश्नों का उत्तर देने के लिए, पहले उन शब्दों की गणना करें, जिन्हें आप संदर्भ के रूप में मॉडल और आउटपुट से शुरू करना चाहते हैं:
# The model and output as reference
m1 <- lm(dist ~ speed, data = cars)
summary(m1)
summary.aov(m1) # To get the sums of squares and mean squares
वर्गों के योग मॉडल के व्यक्तिगत डेटा बिंदुओं की वर्ग दूरी हैं:
# Calculate sums of squares (total, residual and model)
y <- cars$dist
ybar <- mean(y)
ss.total <- sum((y-ybar)^2)
ss.total
ss.residual <- sum((y-m1$fitted)^2)
ss.residual
ss.model <- ss.total-ss.residual
ss.model
औसत वर्ग स्वतंत्रता की डिग्री द्वारा औसत वर्ग के योग हैं:
# Calculate degrees of freedom (total, residual and model)
n <- length(cars$speed)
k <- length(m1$coef) # k = model parameter: b0, b1
df.total <- n-1
df.residual <- n-k
df.model <- k-1
# Calculate mean squares (note that these are just variances)
ms.residual <- ss.residual/df.residual
ms.residual
ms.model<- ss.model/df.model
ms.model
आपके सवालों के मेरे जवाब:
Q1:
- इस प्रकार यह वास्तव में lm लाइन से देखे गए मानों की औसत दूरी है?
अवशिष्ट मानक त्रुटि ( ) का वर्गमूल है अवशिष्ट मतलब वर्ग ( ):RSEMSresidual
# Calculate residual standard error
res.se <- sqrt(ms.residual)
res.se
यदि आपको याद है कि अवलोकन डेटा बिंदुओं और मॉडल (ऊपर दूसरे भूखंड में प्रतिगमन रेखा) की चुकता दूरी थी, और केवल औसत , तो आपके पहले का उत्तर। प्रश्न है, हां: मॉडल से देखे गए डेटा की औसत दूरी का प्रतिनिधित्व करता है। सहज रूप से, यह भी सही समझ में आता है क्योंकि अगर दूरी छोटी है, तो आपका मॉडल फिट भी बेहतर है।SSresidualMSresidual SSresidualRSE
Q2:
- अब मैं भ्रमित हो रहा हूं क्योंकि अगर आरएसई हमें बताता है कि हमारे प्रेक्षित बिंदु रिग्रेशन लाइन से कितने कम हैं, तो आरएसई वास्तव में हमें बता रहा है "आपका मॉडल प्रेक्षित डेटा बिंदुओं के आधार पर अच्छी तरह से फिट हो रहा है" -> इस प्रकार हमारे मॉडल कितने अच्छे बैठते हैं , तो आर स्क्वेर्ड और आरएसई में क्या अंतर है?
अब और का अनुपात है :R2SSmodelSStotal
# R squared
r.sq <- ss.model/ss.total
r.sq
व्यक्त के कितना कुल भिन्नता डेटा में मॉडल (प्रतिगमन लाइन) से समझाया जा सकता। याद रखें कि कुल भिन्नता डेटा में भिन्नता थी जब हमने डेटा के लिए सबसे सरल मॉडल को फिट किया था, अर्थात। प्लॉट के साथ प्लॉट की तुलना करें ।R2SStotalSSmodel
तो आपके दूसरे प्रश्न का उत्तर देने के लिए, और बीच का अंतर यह है कि आपको गए डेटा को देखते हुए मॉडल की अशुद्धि (इस मामले में प्रतिगमन लाइन) के बारे में कुछ बताता है।RSER2RSE
दूसरी तरफ आपको बताता है कि बहुत भिन्नता मॉडल (यानी प्रतिगमन लाइन) सापेक्ष विविधता मतलब अकेले (यानी सबसे सरल मॉडल) द्वारा समझाया गया था द्वारा समझाया गया है।R2
Q3:
- क्या यह सच है कि हम एक मजबूत रिश्ते को इंगित करने वाले एक एफ मूल्य हो सकते हैं जो एनओएन लाइनर है ताकि हमारा आरएसई उच्च हो और हमारा आर स्क्वैयर कम हो
तो दूसरे पर -value मॉडल मतलब वर्ग के रूप में गणना की जाती है (या संकेत) से विभाजित (शोर):FMSmodelMSresidual
# Calculate F-value
F <- ms.model/ms.residual
F
# Calculate P-value
p.F <- 1-pf(F, df.model, df.residual)
p.F
या दूसरे शब्दों में -value व्यक्त करता है कि मॉडल की अशुद्धि को देखते हुए मॉडल में कितना सुधार हुआ है (मतलब की तुलना में)।F
आपका तीसरा प्रश्न समझना थोड़ा मुश्किल है लेकिन मैं आपके द्वारा दिए गए उद्धरण से सहमत हूं।