आर में समायोजित आर-वर्ग की गणना कैसे करें
आर-वर्ग , जिसे अक्सर आर2 लिखा जाता है, प्रतिक्रिया चर में भिन्नता का अनुपात है जिसे एक रैखिक प्रतिगमन मॉडल में भविष्यवक्ता चर द्वारा समझाया जा सकता है।
आर वर्ग का मान 0 से 1 तक हो सकता है। 0 का मान इंगित करता है कि प्रतिक्रिया चर को भविष्यवक्ता चर द्वारा बिल्कुल भी समझाया नहीं जा सकता है, जबकि 1 का मान इंगित करता है कि प्रतिक्रिया चर को भविष्यवक्ता चर द्वारा समझाया जा सकता है। भविष्यवक्ता द्वारा त्रुटि के बिना पूरी तरह से समझाया गया। चर।
समायोजित आर-स्क्वायर आर-स्क्वायर का एक संशोधित संस्करण है जो एक प्रतिगमन मॉडल में भविष्यवक्ताओं की संख्या को समायोजित करता है। इसकी गणना इस प्रकार की जाती है:
समायोजित आर 2 = 1 – [(1-आर 2 )*(एन-1)/(एनके-1)]
सोना:
- आर 2 : मॉडल का आर 2
- n : प्रेक्षणों की संख्या
- k : भविष्यवक्ता चर की संख्या
चूँकि जब आप किसी मॉडल में भविष्यवक्ता जोड़ते हैं तो R2 हमेशा बढ़ता है, समायोजित R2 एक मीट्रिक के रूप में काम कर सकता है जो आपको बताता है कि एक मॉडल कितना उपयोगी है, एक मॉडल में भविष्यवक्ताओं की संख्या के आधार पर समायोजित किया जाता है।
यह ट्यूटोरियल बताता है कि आर में एक प्रतिगमन मॉडल के लिए समायोजित आर2 की गणना कैसे करें।
संबंधित: एक अच्छा आर-वर्ग मान क्या है?
उदाहरण: आर में समायोजित आर-वर्ग की गणना कैसे करें
हम mtcars नामक अंतर्निहित डेटासेट का उपयोग करके आर में एकाधिक रैखिक प्रतिगमन मॉडल बनाने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
model <- lm (hp ~ mpg + wt + drat + qsec, data=mtcars)
और हम मॉडल के समायोजित आर-वर्ग को खोजने के लिए तीन तरीकों में से एक का उपयोग कर सकते हैं:
विधि 1: सारांश() फ़ंक्शन का उपयोग करें
हम केवल सारांश() फ़ंक्शन का उपयोग करके मॉडल के आर-वर्ग और समायोजित आर-वर्ग दोनों की कल्पना कर सकते हैं:
summary (model)
Call:
lm(formula = hp ~ mpg + wt + drat + qsec, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-48,801 -16,007 -5,482 11,614 97,338
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 473.779 105.213 4.503 0.000116 ***
mpg -2.877 2.381 -1.209 0.237319
wt 26.037 13.514 1.927 0.064600 .
drat 4.819 15.952 0.302 0.764910
qsec -20.751 3.993 -5.197 1.79e-05 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 32.25 on 27 degrees of freedom
Multiple R-squared: 0.8073, Adjusted R-squared: 0.7787
F-statistic: 28.27 on 4 and 27 DF, p-value: 2.647e-09
आउटपुट के निचले भाग में हम निम्नलिखित देख सकते हैं:
- एकाधिक आर वर्ग: 0.8073
- समायोजित आर-वर्ग: 0.7787
विधि 2: सारांश(मॉडल)$adj.r.squared का उपयोग करें
यदि हम केवल मॉडल का समायोजित आर-वर्ग प्राप्त करना चाहते हैं, तो हम निम्नलिखित फ़ंक्शन का उपयोग कर सकते हैं:
summary (model)$adj.r.squared
[1] 0.7787005
विधि 3: एक कस्टम फ़ंक्शन का उपयोग करें
मॉडल के फिटेड आर-स्क्वायर को खोजने का दूसरा तरीका एक कस्टम फ़ंक्शन लिखना है:
#define function to calculate adjusted R-squared
adj_r2 <- function (x) {
return (1 - ((1-summary(x)$r.squared)*( nobs (x)-1)/( nobs (x)- length (x$coefficients)-1)))
}
#use function to calculate adjusted R-squared of the model
adj_r2(model)
[1] 0.7787005
numeric(0)
ध्यान दें कि यहां साझा की गई तीन विधियों में से प्रत्येक समायोजित आर-वर्ग के लिए समान मान देती है।
अतिरिक्त संसाधन
आर में सरल रैखिक प्रतिगमन कैसे करें
आर में मल्टीपल लीनियर रिग्रेशन कैसे करें
आर में बहुपद प्रतिगमन कैसे करें