आर में कैसे ठीक करें: मॉडल में उपनाम गुणांक हैं
R में आपके सामने एक त्रुटि आ सकती है:
Error in vive.default(model): there are aliased coefficients in the model
यह त्रुटि आम तौर पर तब होती है जब प्रतिगमन मॉडल में बहुसंरेखता मौजूद होती है। अर्थात्, मॉडल में दो या दो से अधिक भविष्यवक्ता चर अत्यधिक (या पूरी तरह से) सहसंबद्ध हैं।
जब ऐसा होता है, तो हम कहते हैं कि एक चर दूसरे चर का “उपनाम” है, जो प्रतिगमन मॉडल को फिट करते समय समस्याएं पैदा करता है।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस त्रुटि को कैसे ठीक किया जाए।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लीजिए कि हम R में निम्नलिखित प्रतिगमन मॉडल लागू करते हैं:
#make this example reproducible
set. seeds (0)
#define data
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- x2*3
y <- rnorm(100)
#fit regression model
model <- lm(y~x1+x2+x3)
हम मॉडल में प्रत्येक भविष्यवक्ता चर के लिए वीआईएफ मानों की गणना करने के लिए कार पैकेज के विवे() फ़ंक्शन का उपयोग कर सकते हैं ताकि यह निर्धारित किया जा सके कि मल्टीकोलिनियरिटी एक समस्या है या नहीं:
library (car)
#calculate VIF values for predictor variables
lively(model)
Error in vive.default(model): there are aliased coefficients in the model
हमें यह कहते हुए एक त्रुटि प्राप्त होती है कि ” मॉडल में उपनाम गुणांक हैं”। “
यह हमें बताता है कि मॉडल में दो या दो से अधिक भविष्यवक्ता चर पूरी तरह से सहसंबद्ध हैं।
त्रुटि को कैसे ठीक करें
यह निर्धारित करने के लिए कि कौन से भविष्यवक्ता चर पूरी तरह से सहसंबद्ध हैं, हम चर के लिए सहसंबंध मैट्रिक्स बनाने के लिए cor() फ़ंक्शन का उपयोग कर सकते हैं:
#place variables in data frame
df <- data. frame (x1, x2, x3, y)
#create correlation matrix for data frame
cor(df)
x1 x2 x3 y
x1 1.00000000 0.126886263 0.126886263 0.065047543
x2 0.12688626 1.000000000 1.000000000 -0.009107573
x3 0.12688626 1.000000000 1.000000000 -0.009107573
y 0.06504754 -0.009107573 -0.009107573 1.000000000
हम देख सकते हैं कि चर x2 और x3 का सहसंबंध गुणांक 1 है। यह हमें बताता है कि ये दो चर त्रुटि पैदा कर रहे हैं क्योंकि वे पूरी तरह से सहसंबंधित हैं।
इस त्रुटि को ठीक करने के लिए, बस प्रतिगमन मॉडल को फिर से समायोजित करें और इन दो चर में से एक को छोड़ दें।
इससे कोई फर्क नहीं पड़ता कि हम कौन सा चर छोड़ देते हैं क्योंकि वे दोनों प्रतिगमन मॉडल में बिल्कुल समान जानकारी प्रदान करते हैं।
सरलता के लिए, आइए x3 को हटा दें और प्रतिगमन मॉडल को फिर से फिट करें:
library (car)
#make this example reproducible
set. seeds (0)
#define data
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- x2*3
y <- rnorm(100)
#fit regression model
model <- lm(y~x1+x2)
#calculate VIF values for predictor variables in model
lively(model)
x1 x2
1.016364 1.016364
ध्यान दें कि इस बार मॉडल के लिए वीआईएफ मानों की गणना करते समय हमें कोई त्रुटि नहीं मिलती है क्योंकि मल्टीकॉलिनेरिटी अब कोई मुद्दा नहीं है।
संबंधित: आर में वीआईएफ मान की गणना और व्याख्या कैसे करें
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:
आर में मरम्मत कैसे करें: प्रतिस्थापन की लंबाई शून्य है
आर में कैसे ठीक करें: तर्कों में अलग-अलग संख्या में लाइनें शामिल होती हैं
आर में कैसे ठीक करें: तर्क न तो संख्यात्मक है और न ही तार्किक: वापसी ना