সরল রৈখিক রিগ্রেশন বিশ্লেষণ

সরল রৈখিক রিগ্রেশন বিশ্লেষণ

সরল রৈখিক রিগ্রেশন হলো একটি পরিসংখ্যানিক কৌশল যা দুটি পরিমাণগত চলকের মধ্যে সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়। যে চলকটির পূর্বাভাস দেওয়ার চেষ্টা করা হয়, তাকে নির্ভরশীল বা প্রতিক্রিয়া চলক বলা হয়, আর যে চলকটি পূর্বাভাস দেওয়ার জন্য ব্যবহৃত হয়, তাকে স্বাধীন বা পূর্বাভাসকারী চলক বলা হয়। সরল রৈখিক রিগ্রেশনে, আমরা এমন একটি সর্বোত্তম সরলরেখা খুঁজে বের করার চেষ্টা করি যা এই দুটি চলকের মধ্যকার সম্পর্ককে বর্ণনা করে।

সরল রৈখিক রিগ্রেশনের মৌলিক ধারণা

সরল রৈখিক রিগ্রেশন এই অনুমানের উপর ভিত্তি করে গঠিত যে, অধীন চলক \(Y\) এবং স্বাধীন চলক \(X\)-এর মধ্যে একটি রৈখিক সম্পর্ক বিদ্যমান। একটি সরল রৈখিক রিগ্রেশন মডেলের সাধারণ রূপটি হলো:

\[ Y = \beta_0 + \beta_1 X + \epsilon \]

কোথায়:
– \( Y \) হলো অধীন চলক।
– \( X \) হলো স্বাধীন চলক।
– \( \beta_0 \) হলো ছেদক, যা হলো \(X = 0\) হলে \(Y\)-এর মান।
– \( \beta_1 \) হলো ঢাল বা গ্রেডিয়েন্ট, যা \(X\)-এর প্রতি একক পরিবর্তনের জন্য \(Y\)-এর গড় পরিবর্তন।
– \( \epsilon \) হলো ত্রুটি বা অবশিষ্ট পদ যা \(Y\)-এর সেই পরিবর্তনশীলতাকে প্রতিনিধিত্ব করে যা \(X\) দ্বারা ব্যাখ্যা করা যায় না।

সরল রৈখিক রিগ্রেশনের লক্ষ্য হলো \(\beta_0\) এবং \(\beta_1\) প্যারামিটারগুলোর মান এমনভাবে অনুমান করা, যাতে মডেলটি \(X\)-এর মানের সাথে সম্পর্কিত \(Y\)-এর মান ভবিষ্যদ্বাণী করতে ব্যবহার করা যায়।

ন্যূনতম বর্গ পদ্ধতি

একটি সরল রৈখিক রিগ্রেশন মডেল ফিট করার জন্য সবচেয়ে বেশি ব্যবহৃত পদ্ধতিগুলোর মধ্যে একটি হলো লিনিয়ার লিস্ট স্কোয়ার্স পদ্ধতি। এই পদ্ধতির লক্ষ্য হলো প্রকৃত পর্যবেক্ষণ এবং মডেল দ্বারা পূর্বাভাসিত মানগুলোর মধ্যে উল্লম্ব বিচ্যুতির বর্গের যোগফলকে সর্বনিম্ন করা। ধরা যাক, আমাদের কাছে n সংখ্যক পর্যবেক্ষণ আছে, যা \(i = 1, 2, …, n\)-এর জন্য \((x_i, y_i)\) জোড়া নিয়ে গঠিত। যে ফাংশনটিকে সর্বনিম্ন করতে হবে তা হলো:

\[ S(\beta_0, \beta_1) = \sum_{i=1}^{n} (y_i – (\beta_0 + \beta_1 x_i))^2 \]

পড়ুন  নগর পরিকল্পনায় পরিসংখ্যান

এই ফাংশনটিকে সর্বনিম্ন করে এমন \(\beta_0\) এবং \(\beta_1\) খুঁজে বের করার জন্য, আমরা প্রতিটি প্যারামিটারের সাপেক্ষে \(S(\beta_0, \beta_1)\)-এর আংশিক ডেরিভেটিভ নিই এবং এই ডেরিভেটিভগুলোকে শূন্যের সমান ধরি। গাণিতিক গণনাটি নিম্নরূপে সরলীকরণ করা যেতে পারে:

\[ \beta_1 = \frac{\sum_{i=1}^{n} (x_i – \bar{x})(y_i – \bar{y})}{\sum_{i=1}^{n} (x_i – \bar{x})^2} \]

\[ \beta_0 = \bar{y} - \beta_1 \bar{x} \]

কোথায়:
– \(\bar{x}\) হলো \(X\)-এর গড়
– \(\bar{y}\) হলো \(Y\)-এর গড়

\(\beta_0\) এবং \(\beta_1\) প্যারামিটারগুলো পাওয়ার পর, \(X\)-এর প্রতিটি মানের জন্য \(Y\)-এর মান পূর্বাভাস করতে একটি সরল রৈখিক রিগ্রেশন মডেল ব্যবহার করা যেতে পারে।

সরল রৈখিক রিগ্রেশনে অনুমান

বৈধ ও নির্ভরযোগ্য ফলাফলের জন্য, সরল রৈখিক রিগ্রেশন কয়েকটি বিষয় ধরে নেয়:
১. রৈখিকতা: অধীন চলক এবং স্বাধীন চলকের মধ্যে সম্পর্কটি অবশ্যই রৈখিক হতে হবে।
২. স্বাধীনতা: পর্যবেক্ষণগুলো অবশ্যই একে অপরের থেকে স্বাধীন হতে হবে।
৩. হোমোস্কেডাসিটি: স্বাধীন চলকের মানের পরিসর জুড়ে অবশিষ্টাংশের পরিবর্তনশীলতা অবশ্যই ধ্রুবক হতে হবে।
৪. অবশিষ্টাংশের স্বাভাবিকতা: অবশিষ্টাংশ (ত্রুটি) অবশ্যই একটি স্বাভাবিক বন্টন অনুসরণ করবে।

যদি এই পূর্বশর্তগুলো পূরণ না হয়, তাহলে একটি সরল রৈখিক রিগ্রেশন মডেলের ফলাফল অবিশ্বস্ত হবে এবং এটি সঠিক ভবিষ্যদ্বাণী করতে সক্ষম নাও হতে পারে।

রিগ্রেশন মডেল মূল্যায়ন

একটি সরল রৈখিক রিগ্রেশন মডেল কতটা ভালোভাবে পূর্বাভাস দিয়েছে তা মূল্যায়ন করার একটি উপায় হলো নির্ণয় সহগ (\(R^2\)) ব্যবহার করা। নির্ণয় সহগ দেখায় যে, স্বাধীন চলকগুলোর পরিবর্তনশীলতা দ্বারা অধীন চলকের পরিবর্তনশীলতার অনুপাত কতটুকু।

\[ R^2 = \frac{\sum_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2} \]

কোথায়:
– \(\hat{y}_i\) হলো \(Y\)-এর পূর্বাভাসিত মান।
– \(y_i\) হলো \(Y\)-এর প্রকৃত মান।
– \(\bar{y}\) হলো \(Y\)-এর মানগুলোর গড়।

\(R^2\)-এর মান ০ থেকে ১ পর্যন্ত হয়ে থাকে। \(R^2\)-এর মান ১-এর কাছাকাছি হলে তা নির্দেশ করে যে, মডেলটি অধীন চলকের পরিবর্তনশীলতার বেশিরভাগ অংশ ব্যাখ্যা করতে পারে।

পড়ুন  পরিসংখ্যানে ম্যান-হুইটনি পরীক্ষা

প্রোগ্রামিং ভাষায় বাস্তবায়ন

সরল রৈখিক রিগ্রেশন প্রয়োগ করার জন্য আমরা বিভিন্ন পরিসংখ্যানগত সফটওয়্যার বা প্রোগ্রামিং ভাষা ব্যবহার করতে পারি। নিচে `scikit-learn` লাইব্রেরি ব্যবহার করে পাইথনে এর একটি উদাহরণ দেওয়া হলো:

"`পাইথন
এনপি হিসাবে নাম্বার আমদানি করুন
matplotlib.pyplot plt হিসাবে আমদানি করুন
sklearn.linear_model থেকে LinearRegression আমদানি করুন
from sklearn.metrics import mean_squared_error, r2_score

উপাত্ত
X = np.array([[1], [2], [3], [4], [5]]).astype(np.float64)
y = np.array([1.5, 3.6, 3.5, 2.9, 5.5]).astype(np.float64)

মডেল
মডেল = লিনিয়ার রিগ্রেশন()
মডেল.ফিট(X, y)

প্রেডিক্সি
y_pred = মডেল.predict(X)

সহগ
বিটা_০ = মডেল.ইন্টারসেপ্ট_
বিটা_১ = মডেল.সহগ_[০]

print(f'ইন্টারসেপ্ট: {beta_0}')
print(f'ঢাল: {beta_1}')
print(f'গড় বর্গ ত্রুটি: {mean_squared_error(y, y_pred)}')
print(f'নির্ধারণ সহগ (R^2): {r2_score(y, y_pred)}')

ডেটা প্লট এবং রিগ্রেশন লাইন
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
"

উপরের উদাহরণে, আমরা প্রথমে প্রয়োজনীয় লাইব্রেরিগুলো ইম্পোর্ট করি, ডেটা \(X\) এবং \(Y\) নির্ধারণ করি, এবং তারপর ডেটার সাথে একটি মডেল ফিট করার জন্য `scikit-learn`-এর `LinearRegression` অবজেক্টটি ব্যবহার করি। মডেলটি ফিট হয়ে গেলে, আমরা প্রেডিকশন করি এবং কো-এফিশিয়েন্টগুলোর পাশাপাশি মিন স্কোয়ার্ড এরর ও কো-এফিশিয়েন্ট অফ ডিটারমিনেশন গণনা করি। সবশেষে, আমরা ডেটা এবং রিগ্রেশন লাইনটি প্লট করি।

উপসংহার

সরল রৈখিক রিগ্রেশন হলো দুটি পরিমাণগত চলকের মধ্যে সম্পর্ক ব্যাখ্যা করার জন্য ব্যবহৃত একটি শক্তিশালী পরিসংখ্যানিক বিশ্লেষণ পদ্ধতি। রৈখিকতা, স্বাধীনতা, হোমোস্কেডাসিটি এবং নর্মালিটি সম্পর্কে কিছু প্রাথমিক অনুমানের সাহায্যে, আমরা স্বাধীন চলকগুলোর মানের উপর ভিত্তি করে নির্ভরশীল চলকের মান অনুমান করতে পারি। ন্যূনতম বর্গ পদ্ধতি (Least Squares method) একটি রিগ্রেশন রেখা স্থাপন এবং সর্বোত্তম পরামিতি নির্ধারণের জন্য একটি কার্যকর উপায় প্রদান করে। নির্ণয় সহগ (R²) এর মাধ্যমে মডেল মূল্যায়ন আমাদের মডেলটি কতটা ভালোভাবে কাজ করছে সে সম্পর্কে ধারণা দেয়।

যদিও সরল রৈখিক রিগ্রেশনের কিছু সীমাবদ্ধতা রয়েছে, যেমন কেবল দুটি চলক নিয়ে কাজ করার ক্ষমতা এবং কিছু পূর্বশর্ত পূরণ করা, তবুও এই কৌশলটি পরিসংখ্যান এবং তথ্য বিশ্লেষণে একটি গুরুত্বপূর্ণ ভিত্তি হিসেবে রয়ে গেছে এবং আরও জটিল পদ্ধতিতে যাওয়ার আগে চলকগুলোর মধ্যে সম্পর্ক বোঝার প্রথম ধাপ হিসেবে প্রায়শই ব্যবহৃত হয়।

একটি মন্তব্য করুন