आर में डमी वेरिएबल्स कैसे बनाएं (चरण दर चरण)


डमी वैरिएबल एक प्रकार का वैरिएबल है जिसे हम प्रतिगमन विश्लेषण में बनाते हैं ताकि हम एक श्रेणीगत वैरिएबल को एक संख्यात्मक वैरिएबल के रूप में प्रस्तुत कर सकें जो दो मानों में से एक लेता है: शून्य या एक।

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

प्रतिगमन मॉडल में वैवाहिक स्थिति को भविष्यवक्ता चर के रूप में उपयोग करने के लिए, हमें इसे एक डमी चर में परिवर्तित करने की आवश्यकता है।

चूँकि यह वर्तमान में एक श्रेणीगत चर है जो तीन अलग-अलग मान (“एकल”, “विवाहित”, या “तलाकशुदा”) ले सकता है, हमें k -1 = 3-1 = 2 डमी चर बनाने की आवश्यकता है।

इस डमी वेरिएबल को बनाने के लिए, हम “सिंगल” को आधार मान के रूप में छोड़ सकते हैं क्योंकि यह सबसे अधिक बार दिखाई देता है। तो, यहां बताया गया है कि हम वैवाहिक स्थिति को डमी चर में कैसे परिवर्तित करेंगे:

यह ट्यूटोरियल चरण-दर-चरण उदाहरण प्रदान करता है कि आर में इस सटीक डेटासेट के लिए डमी वैरिएबल कैसे बनाएं और फिर भविष्यवक्ताओं के रूप में इन डमी वेरिएबल्स का उपयोग करके प्रतिगमन विश्लेषण करें।

चरण 1: डेटा बनाएं

सबसे पहले, आइए R में डेटासेट बनाएं:

 #create data frame
df <- data. frame (income=c(45000, 48000, 54000, 57000, 65000, 69000,
                          78000, 83000, 98000, 104000, 107000),
                 age=c(23, 25, 24, 29, 38, 36, 40, 59, 56, 64, 53),
                 status=c('Single', 'Single', 'Single', 'Single',
                          'Married', 'Single', 'Married', 'Divorced',
                          'Divorced', 'Married', 'Married'))

#view data frame
df

   income age status
1 45000 23 Single
2 48000 25 Single
3 54000 24 Single
4 57000 29 Single
5 65000 38 Married
6 69000 36 Single
7 78000 40 Married
8 83000 59 Divorced
9 98000 56 Divorced
10 104000 64 Married
11 107000 53 Married

चरण 2: डमी वेरिएबल बनाएं

इसके बाद, हम डमी वेरिएबल्स को परिभाषित करने के लिए आर में ifelse() फ़ंक्शन का उपयोग कर सकते हैं और फिर अंतिम डेटा फ्रेम को परिभाषित कर सकते हैं जिसे हम रिग्रेशन मॉडल बनाने के लिए उपयोग करना चाहते हैं:

 #create dummy variables
married <- ifelse (df$status == ' Married ', 1, 0)
divorced <- ifelse (df$status == ' Divorced ', 1, 0)

#create data frame to use for regression
df_reg <- data. frame (income = df$income,
                     age = df$age,
                     married = married,
                     divorced = divorced)

#view data frame
df_reg

   income age married divorced
1 45000 23 0 0
2 48000 25 0 0
3 54000 24 0 0
4 57000 29 0 0
5 65000 38 1 0
6 69000 36 0 0
7 78000 40 1 0
8 83000 59 0 1
9 98000 56 0 1
10 104000 64 1 0
11 107000 53 1 0

चरण 3: रैखिक प्रतिगमन करें

अंत में, हम एकाधिक रैखिक प्रतिगमन मॉडल को फिट करने के लिए lm() फ़ंक्शन का उपयोग कर सकते हैं:

 #create regression model
model <- lm (income ~ age + married + divorced, data=df_reg)

#view regression model output
summary(model)

Call:
lm(formula = income ~ age + married + divorced, data = df_reg)

Residuals:
    Min 1Q Median 3Q Max 
-9707.5 -5033.8 45.3 3390.4 12245.4 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) 14276.1 10411.5 1.371 0.21266   
age 1471.7 354.4 4.152 0.00428 **
married 2479.7 9431.3 0.263 0.80018   
divorced -8397.4 12771.4 -0.658 0.53187   
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 8391 on 7 degrees of freedom
Multiple R-squared: 0.9008, Adjusted R-squared: 0.8584 
F-statistic: 21.2 on 3 and 7 DF, p-value: 0.0006865

फिट की गई प्रतिगमन रेखा इस प्रकार बनती है:

आय = 14,276.1 + 1,471.7*(आयु) + 2,479.7*(विवाहित) – 8,397.4*(तलाकशुदा)

हम इस समीकरण का उपयोग किसी व्यक्ति की उम्र और वैवाहिक स्थिति के आधार पर उसकी अनुमानित आय ज्ञात करने के लिए कर सकते हैं। उदाहरण के लिए, 35 वर्ष की आयु और विवाहित व्यक्ति की अनुमानित आय $68,264 होगी:

आय = 14,276.2 + 1,471.7*(35) + 2,479.7*(1) – 8,397.4*(0) = $68,264

यहां तालिका में प्रतिगमन गुणांक की व्याख्या करने का तरीका बताया गया है:

  • अवरोधन: अवरोधन शून्य आयु वर्ग के एक व्यक्ति की औसत आय का प्रतिनिधित्व करता है। स्पष्ट रूप से आपके पास शून्य वर्ष नहीं हो सकते हैं, इसलिए इस विशेष प्रतिगमन मॉडल में स्वयं अवरोधन की व्याख्या करने का कोई मतलब नहीं है।
  • आयु: प्रत्येक वर्ष आयु में वृद्धि आय में $1,471.70 की औसत वृद्धि के साथ जुड़ी हुई है। चूंकि पी-वैल्यू (0.004) 0.05 से कम है, आयु आय का सांख्यिकीय रूप से महत्वपूर्ण भविष्यवक्ता है।
  • विवाहित: एक विवाहित व्यक्ति एक अकेले व्यक्ति की तुलना में औसतन $2,479.70 अधिक कमाता है। चूँकि पी-मान (0.800) 0.05 से कम नहीं है, यह अंतर सांख्यिकीय रूप से महत्वपूर्ण नहीं है।
  • तलाकशुदा: एक तलाकशुदा व्यक्ति एक व्यक्ति की तुलना में औसतन $8,397.40 कम कमाता है। चूँकि पी-वैल्यू (0.532) 0.05 से कम नहीं है, यह अंतर सांख्यिकीय रूप से महत्वपूर्ण नहीं है।

चूंकि दोनों डमी चर सांख्यिकीय रूप से महत्वपूर्ण नहीं थे, इसलिए हम मॉडल से भविष्यवक्ता के रूप में वैवाहिक स्थिति को हटा सकते हैं, क्योंकि यह आय में पूर्वानुमानित मूल्य नहीं जोड़ता है।

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

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