Linear Model in R | R में रैखिक मॉडल


R में रैखिक मॉडल (Linear Model in R)

परिचय

R प्रोग्रामिंग में रैखिक मॉडल (Linear Model) सांख्यिकीय विश्लेषण और मशीन लर्निंग दोनों का आधार है। यह मॉडल दो या अधिक चर (variables) के बीच संबंधों को समझने और भविष्यवाणी करने में मदद करता है। रैखिक मॉडल एक ऐसा गणितीय मॉडल है जिसमें आश्रित चर (Dependent Variable) और स्वतंत्र चर (Independent Variable) के बीच संबंध को सीधी रेखा (Straight Line) के रूप में माना जाता है।

डेटा साइंस में रैखिक मॉडल का प्रयोग Regression Analysis, Trend Forecasting, Predictive Modeling और Variance Analysis (ANOVA) जैसे कार्यों के लिए किया जाता है।

1️⃣ रैखिक मॉडल की मूल अवधारणा

रैखिक मॉडल का सामान्य समीकरण:

Y = β₀ + β₁X + ε

जहाँ:

  • Y — आश्रित चर (Dependent Variable)
  • X — स्वतंत्र चर (Independent Variable)
  • β₀ — इंटरसेप्ट (Intercept)
  • β₁ — ढाल या गुणांक (Slope or Coefficient)
  • ε — यादृच्छिक त्रुटि (Random Error)

2️⃣ R में रैखिक मॉडल बनाना

R में रैखिक मॉडल बनाने के लिए lm() फ़ंक्शन का उपयोग किया जाता है।

# Example Data
data <- data.frame(
  Hours = c(2, 3, 4, 5, 6, 7, 8),
  Marks = c(40, 50, 65, 70, 75, 85, 95)
)

# Linear Model
model <- lm(Marks ~ Hours, data=data)
summary(model)

आउटपुट की व्याख्या:

  • Estimate: Coefficients (β₀ और β₁)
  • Std. Error: Coefficients की अनिश्चितता
  • t value: सांख्यिकीय परीक्षण
  • p-value: महत्व का स्तर
  • R-squared: मॉडल फिटनेस का माप

3️⃣ रैखिक रेखा का चित्रण

plot(data$Hours, data$Marks, col='blue', pch=16)
abline(model, col='red', lwd=2)

यह कोड डेटा बिंदुओं पर रैखिक ट्रेंड लाइन दिखाता है।

4️⃣ मॉडल के घटक निकालना

coef(model)    # Coefficients
fitted(model)  # Fitted Values
residuals(model)  # Errors
summary(model)$r.squared  # R-squared

5️⃣ बहु-रैखिक प्रतिगमन (Multiple Linear Regression)

जब एक से अधिक स्वतंत्र चर होते हैं, तो हम Multiple Linear Regression का उपयोग करते हैं।

data2 <- data.frame(
  Hours = c(2,3,4,5,6,7,8),
  IQ = c(90,95,100,105,110,115,120),
  Marks = c(40,48,65,70,75,85,95)
)

multi_model <- lm(Marks ~ Hours + IQ, data=data2)
summary(multi_model)

6️⃣ मॉडल का अनुमान और भविष्यवाणी

# Prediction
new_data <- data.frame(Hours=6.5, IQ=110)
predict(multi_model, newdata=new_data)

7️⃣ Residual Analysis

Residuals यह बताते हैं कि मॉडल ने डेटा को कितना सटीक फिट किया है।

plot(residuals(model), col='darkgreen', main='Residuals of Linear Model')
abline(h=0, col='red')

8️⃣ ANOVA (Analysis of Variance)

ANOVA का उपयोग मॉडल की संपूर्ण विश्वसनीयता को परखने के लिए किया जाता है।

anova(model)

9️⃣ Polynomial Regression

यदि डेटा रैखिक न हो तो हम Polynomial मॉडल का उपयोग कर सकते हैं।

poly_model <- lm(Marks ~ poly(Hours, 2), data=data)
summary(poly_model)
lines(data$Hours, fitted(poly_model), col='purple', lwd=2)

🔟 Model Diagnostics

par(mfrow=c(2,2))
plot(model)

यह चार महत्वपूर्ण प्लॉट दिखाता है — Residuals vs Fitted, Normal Q-Q, Scale-Location, और Cook’s Distance।

1️⃣1️⃣ Model Comparison

AIC(model, poly_model)

1️⃣2️⃣ Cross Validation

मॉडल को नए डेटा पर परखने के लिए Cross Validation तकनीक का प्रयोग किया जाता है।

install.packages('caret')
library(caret)
train_control <- trainControl(method='cv', number=5)
cv_model <- train(Marks ~ Hours, data=data, method='lm', trControl=train_control)
print(cv_model)

1️⃣3️⃣ वास्तविक उपयोग क्षेत्र

  • विक्रय और लाभ का पूर्वानुमान
  • शिक्षा क्षेत्र में अध्ययन घंटे बनाम अंक विश्लेषण
  • मशीन लर्निंग में Regression Models
  • हेल्थकेयर में बीमारी की संभावना का अनुमान
  • वित्तीय डेटा मॉडलिंग

1️⃣4️⃣ मॉडल की सीमाएँ

  • डेटा को रैखिक मान लेना हमेशा सही नहीं होता।
  • Outliers मॉडल को प्रभावित कर सकते हैं।
  • Correlation और Causation में भ्रम हो सकता है।

1️⃣5️⃣ निष्कर्ष

R में रैखिक मॉडल एक अत्यंत शक्तिशाली और सहज उपकरण है। यह डेटा के रुझानों को समझने, परिणामों का अनुमान लगाने और विश्लेषण करने में मदद करता है। lm() फ़ंक्शन और उसके सहायक पैकेजों जैसे car, caret, MASS के उपयोग से हम जटिल रिग्रेशन मॉडल्स को भी आसानी से लागू कर सकते हैं। हर डेटा वैज्ञानिक के लिए रैखिक मॉडल की समझ एक अनिवार्य कौशल है जो वास्तविक दुनिया के डेटा समस्याओं को हल करने में मदद करता है।

Related Post