Linear Regression হল একটি অ্যালগরিদম যা একটি নির্ভরশীল ভেরিয়েবলের (dependent variable) সাথে একটি (Simple Linear Regression) অথবা একাধিক (Multiple Linear Regression) স্বাধীন ভেরিয়েবলের (independent variables) সম্পর্ক নির্ধারণ করার জন্য ব্যবহৃত হয়।
১. Simple Linear Regression (SLR)
Simple Linear Regression হল একটি স্ট্যাটিস্টিক্যাল টেকনিক যা একটি নির্ভরশীল ভেরিয়েবলের (যেমন ) সাথে একটি স্বাধীন ভেরিয়েবলের (যেমন ) সম্পর্ক নির্ধারণ করতে ব্যবহৃত হয়। এই সম্পর্কটি একটি সোজা রেখা (straight line) দ্বারা মডেল করা হয়।
ফর্মুলা:
Simple Linear Regression এর সাধারণ সমীকরণ:
- হল নির্ভরশীল ভেরিয়েবল।
- হল স্বাধীন ভেরিয়েবল।
- হল ইন্টারসেপ্ট (intercept)।
- হল স্লোপ (slope)।
- হল ত্রুটি (error term)।
বৈশিষ্ট্য:
- একটি স্বাধীন ভেরিয়েবল এবং একটি নির্ভরশীল ভেরিয়েবল এর মধ্যে সম্পর্ক।
- সোজা রেখা দ্বারা সম্পর্ক প্রদর্শন করা হয়।
- Predictive modeling: নির্ভরশীল ভেরিয়েবলের মান অনুমান করতে ব্যবহার করা হয়।
উদাহরণ:
from sklearn.linear_model import LinearRegression
import numpy as np
import matplotlib.pyplot as plt
# ডেটা তৈরি
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
Y = np.array([1, 2, 3, 4, 5])
# মডেল তৈরি
model = LinearRegression()
model.fit(X, Y)
# ভবিষ্যদ্বাণী করা
Y_pred = model.predict(X)
# গ্রাফ তৈরি করা
plt.scatter(X, Y, color='blue') # ডেটা পয়েন্ট
plt.plot(X, Y_pred, color='red') # রিগ্রেশন রেখা
plt.title('Simple Linear Regression')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
# মডেল প্যারামিটার
print("Intercept (β0):", model.intercept_)
print("Slope (β1):", model.coef_)
এটি এর সাথে সম্পর্কযুক্ত একটি সোজা রেখা আঁকবে এবং মডেল প্যারামিটার (ইন্টারসেপ্ট এবং স্লোপ) প্রদর্শন করবে।
২. Multiple Linear Regression (MLR)
Multiple Linear Regression হল একটি স্ট্যাটিস্টিক্যাল টেকনিক যা একাধিক স্বাধীন ভেরিয়েবলের সাহায্যে একটি নির্ভরশীল ভেরিয়েবলের মান অনুমান করে। এতে একাধিক ভেরিয়েবল দ্বারা এর পূর্বানুমান করা হয়।
ফর্মুলা:
Multiple Linear Regression এর সাধারণ সমীকরণ:
- হল নির্ভরশীল ভেরিয়েবল।
- হল স্বাধীন ভেরিয়েবল।
- হল ইন্টারসেপ্ট।
- হল স্লোপ/কোইফিসিয়েন্ট।
- হল ত্রুটি।
বৈশিষ্ট্য:
- একাধিক স্বাধীন ভেরিয়েবল (যেমন ) ব্যবহার করা হয়।
- সম্পর্কের শক্তি এবং প্রতিটি স্বাধীন ভেরিয়েবলের প্রভাব মূল্যায়ন করা হয়।
- এটি Prediction এবং Estimation এর জন্য ব্যবহার করা হয়।
উদাহরণ:
from sklearn.linear_model import LinearRegression
import numpy as np
import pandas as pd
# ডেটা তৈরি
X = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]]) # দুইটি স্বাধীন ভেরিয়েবল
Y = np.array([1, 2, 3, 4, 5]) # নির্ভরশীল ভেরিয়েবল
# মডেল তৈরি
model = LinearRegression()
model.fit(X, Y)
# ভবিষ্যদ্বাণী করা
Y_pred = model.predict(X)
# মডেল প্যারামিটার
print("Intercept (β0):", model.intercept_)
print("Coefficients (β1, β2):", model.coef_)
# ভবিষ্যদ্বাণী ফলাফল
print("Predicted Y:", Y_pred)
এটি দুইটি স্বাধীন ভেরিয়েবল (X1, X2) ব্যবহার করে নির্ভরশীল ভেরিয়েবল এর পূর্বানুমান করবে এবং মডেল প্যারামিটার (ইন্টারসেপ্ট এবং কোইফিসিয়েন্ট) প্রদর্শন করবে।
Simple Linear Regression এবং Multiple Linear Regression এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Simple Linear Regression (SLR) | Multiple Linear Regression (MLR) |
|---|---|---|
| স্বাধীন ভেরিয়েবল | একটিই (Single Independent Variable) | একাধিক (Multiple Independent Variables) |
| ধরন | সোজা রেখা (Straight Line) | সমতল বা উচ্চ মাত্রার সমীকরণ (Plane or Higher-Dimensional Equation) |
| ব্যবহার | একটি নির্ভরশীল ভেরিয়েবলের সঙ্গে একটি স্বাধীন ভেরিয়েবলের সম্পর্ক বিশ্লেষণ | একাধিক স্বাধীন ভেরিয়েবলের সাহায্যে একটি নির্ভরশীল ভেরিয়েবলের পূর্বানুমান |
| সমীকরণ | ||
| সীমাবদ্ধতা | কেবল একটির সঙ্গে সম্পর্ক বিশ্লেষণ | একাধিক ভেরিয়েবলের মধ্যে সম্পর্ক বিশ্লেষণ করতে পারে |
সারাংশ
- Simple Linear Regression: এটি একটিমাত্র স্বাধীন ভেরিয়েবল ব্যবহার করে একটি নির্ভরশীল ভেরিয়েবল এর সম্পর্ক নির্ধারণ করে। এটি একটি সোজা রেখার সমীকরণ তৈরি করে।
- Multiple Linear Regression: এটি একাধিক স্বাধীন ভেরিয়েবল ব্যবহার করে একটি নির্ভরশীল ভেরিয়েবল এর সম্পর্ক নির্ধারণ করে। এটি একটি উচ্চমাত্রার সমীকরণ তৈরি করে।
দুটি পদ্ধতিই Predictive Modeling এবং Relationship Analysis এর জন্য ব্যবহৃত হয়, তবে Multiple Linear Regression জটিল ডেটা বিশ্লেষণ করতে বেশি উপযোগী।
Read more