आर में द्विघात प्रतिगमन कैसे करें


जब दो चरों में एक रैखिक संबंध होता है, तो हम अक्सर उनके संबंध को मापने के लिए सरल रैखिक प्रतिगमन का उपयोग कर सकते हैं।

रैखिक संबंध का उदाहरण

हालाँकि, जब दो चरों में द्विघात संबंध होता है, तो हम उनके संबंध को मापने के लिए द्विघात प्रतिगमन का उपयोग कर सकते हैं।

द्विघात संबंध का उदाहरण

यह ट्यूटोरियल बताता है कि आर में द्विघात प्रतिगमन कैसे करें।

उदाहरण: आर में द्विघात प्रतिगमन

मान लीजिए हम काम किए गए घंटों की संख्या और रिपोर्ट की गई खुशी के बीच संबंध को समझना चाहते हैं। हमारे पास 11 अलग-अलग लोगों के लिए प्रति सप्ताह काम किए गए घंटों की संख्या और खुशी के रिपोर्ट किए गए स्तर (0 से 100 के पैमाने पर) पर निम्नलिखित डेटा है:

R में द्विघात प्रतिगमन मॉडल को फिट करने के लिए निम्नलिखित चरणों का उपयोग करें।

चरण 1: डेटा दर्ज करें.

सबसे पहले, हम एक डेटा फ़्रेम बनाएंगे जिसमें हमारा डेटा होगा:

 #createdata
data <- data.frame(hours=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60),
                   happiness=c(14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27))

#viewdata 
data

   hours happiness
1 6 14
2 9 28
3 12 50
4 14 70
5 30 89
6 35 94
7 40 90
8 47 75
9 51 59
10 55 44
11 60 27

चरण 2: डेटा को विज़ुअलाइज़ करें।

इसके बाद, हम डेटा की कल्पना करने के लिए एक सरल स्कैटरप्लॉट बनाएंगे।

 #create scatterplot
plot(data$hours, data$happiness, pch=16) 

आर में स्कैटरप्लॉट

हम स्पष्ट रूप से देख सकते हैं कि डेटा एक रैखिक पैटर्न का पालन नहीं करता है।

चरण 3: एक सरल रैखिक प्रतिगमन मॉडल फिट करें।

इसके बाद, हम यह देखने के लिए एक सरल रैखिक प्रतिगमन मॉडल फिट करेंगे कि यह डेटा में कितनी अच्छी तरह फिट बैठता है:

 #fit linear model
linearModel <- lm(happiness ~ hours, data=data)

#view model summary
summary(linearModel)

Call:
lm(formula = happiness ~ hours)

Residuals:
   Min 1Q Median 3Q Max 
-39.34 -21.99 -2.03 23.50 35.11 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept) 48.4531 17.3288 2.796 0.0208 *
hours 0.2981 0.4599 0.648 0.5331  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 28.72 on 9 degrees of freedom
Multiple R-squared: 0.0446, Adjusted R-squared: -0.06156 
F-statistic: 0.4201 on 1 and 9 DF, p-value: 0.5331

मॉडल द्वारा बताई गई खुशी में कुल भिन्नता केवल 4.46% है, जैसा कि एकाधिक आर-वर्ग मान द्वारा दिखाया गया है।

चरण 4: एक द्विघात प्रतिगमन मॉडल फिट करें।

इसके बाद, हम एक द्विघात प्रतिगमन मॉडल फिट करेंगे।

 #create a new variable for hours 2
data$hours2 <- data$hours^2

#fit quadratic regression model
quadraticModel <- lm(happiness ~ hours + hours2, data=data)

#view model summary
summary(quadraticModel)

Call:
lm(formula = happiness ~ hours + hours2, data = data)

Residuals:
    Min 1Q Median 3Q Max 
-6.2484 -3.7429 -0.1812 1.1464 13.6678 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -18.25364 6.18507 -2.951 0.0184 *  
hours 6.74436 0.48551 13.891 6.98e-07 ***
hours2 -0.10120 0.00746 -13.565 8.38e-07 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.218 on 8 degrees of freedom
Multiple R-squared: 0.9602, Adjusted R-squared: 0.9502 
F-statistic: 96.49 on 2 and 8 DF, p-value: 2.51e-06

मॉडल द्वारा बताई गई खुशी में कुल अंतर बढ़कर 96.02% हो गया।

हम यह देखने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं कि मॉडल डेटा में कितनी अच्छी तरह फिट बैठता है:

 #create sequence of hour values
hourValues <- seq(0, 60, 0.1)

#create list of predicted happiness levels using quadratic model
happinessPredict <- predict(quadraticModel, list(hours=hourValues, hours2=hourValues^2))

#create scatterplot of original data values
plot(data$hours, data$happiness, pch=16)
#add predicted lines based on quadratic regression model
lines(hourValues, happinessPredict, col='blue')

आर में द्विघात प्रतिगमन स्कैटरप्लॉट

हम देख सकते हैं कि द्विघात प्रतिगमन रेखा डेटा मानों को काफी अच्छी तरह से फिट करती है।

चरण 5: द्विघात प्रतिगमन मॉडल की व्याख्या करें।

पिछले चरण में, हमने देखा कि द्विघात प्रतिगमन मॉडल का परिणाम था:

 Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -18.25364 6.18507 -2.951 0.0184 *  
hours 6.74436 0.48551 13.891 6.98e-07 ***
hours2 -0.10120 0.00746 -13.565 8.38e-07 ***

यहां प्रस्तुत गुणांकों के आधार पर, समायोजित द्विघात प्रतिगमन होगा:

खुशी = -0.1012 (घंटे) 2 + 6.7444 (घंटे) – 18.2536

हम इस समीकरण का उपयोग किसी व्यक्ति की अनुमानित खुशी का पता लगाने के लिए कर सकते हैं, यह देखते हुए कि वे प्रति सप्ताह कितने घंटे काम करते हैं।

उदाहरण के लिए, एक व्यक्ति जो प्रति सप्ताह 60 घंटे काम करता है उसकी खुशी का स्तर 22.09 होगा:

ख़ुशी = -0.1012(60) 2 + 6.7444(60) – 18.2536 = 22.09

इसके विपरीत, जो व्यक्ति प्रति सप्ताह 30 घंटे काम करता है उसकी खुशी का स्तर 92.99 होना चाहिए:

खुशी = -0.1012(30) 2 + 6.7444(30) – 18.2536 = 92.99

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *